1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Motorola 68000 Assembler 3071d4279SBram Moolenaar" Maintainer: Steve Wall 4071d4279SBram Moolenaar" Last change: 2001 May 01 5071d4279SBram Moolenaar" 6071d4279SBram Moolenaar" This is incomplete. In particular, support for 68020 and 7071d4279SBram Moolenaar" up and 68851/68881 co-processors is partial or non-existant. 8071d4279SBram Moolenaar" Feel free to contribute... 9071d4279SBram Moolenaar" 10071d4279SBram Moolenaar 1189bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1289bcfda6SBram Moolenaarif exists("b:current_syntax") 13071d4279SBram Moolenaar finish 14071d4279SBram Moolenaarendif 15071d4279SBram Moolenaar 16071d4279SBram Moolenaarsyn case ignore 17071d4279SBram Moolenaar 18071d4279SBram Moolenaar" Partial list of register symbols 19071d4279SBram Moolenaarsyn keyword asm68kReg a0 a1 a2 a3 a4 a5 a6 a7 d0 d1 d2 d3 d4 d5 d6 d7 20071d4279SBram Moolenaarsyn keyword asm68kReg pc sr ccr sp usp ssp 21071d4279SBram Moolenaar 22071d4279SBram Moolenaar" MC68010 23071d4279SBram Moolenaarsyn keyword asm68kReg vbr sfc sfcr dfc dfcr 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" MC68020 26071d4279SBram Moolenaarsyn keyword asm68kReg msp isp zpc cacr caar 27071d4279SBram Moolenaarsyn keyword asm68kReg za0 za1 za2 za3 za4 za5 za6 za7 28071d4279SBram Moolenaarsyn keyword asm68kReg zd0 zd1 zd2 zd3 zd4 zd5 zd6 zd7 29071d4279SBram Moolenaar 30071d4279SBram Moolenaar" MC68030 31071d4279SBram Moolenaarsyn keyword asm68kReg crp srp tc ac0 ac1 acusr tt0 tt1 mmusr 32071d4279SBram Moolenaar 33071d4279SBram Moolenaar" MC68040 34071d4279SBram Moolenaarsyn keyword asm68kReg dtt0 dtt1 itt0 itt1 urp 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" MC68851 registers 37071d4279SBram Moolenaarsyn keyword asm68kReg cal val scc crp srp drp tc ac psr pcsr 38071d4279SBram Moolenaarsyn keyword asm68kReg bac0 bac1 bac2 bac3 bac4 bac5 bac6 bac7 39071d4279SBram Moolenaarsyn keyword asm68kReg bad0 bad1 bad2 bad3 bad4 bad5 bad6 bad7 40071d4279SBram Moolenaar 41071d4279SBram Moolenaar" MC68881/82 registers 42071d4279SBram Moolenaarsyn keyword asm68kReg fp0 fp1 fp2 fp3 fp4 fp5 fp6 fp7 43071d4279SBram Moolenaarsyn keyword asm68kReg control status iaddr fpcr fpsr fpiar 44071d4279SBram Moolenaar 45071d4279SBram Moolenaar" M68000 opcodes - order is important! 46071d4279SBram Moolenaarsyn match asm68kOpcode "\<abcd\(\.b\)\=\s" 47071d4279SBram Moolenaarsyn match asm68kOpcode "\<adda\(\.[wl]\)\=\s" 48071d4279SBram Moolenaarsyn match asm68kOpcode "\<addi\(\.[bwl]\)\=\s" 49071d4279SBram Moolenaarsyn match asm68kOpcode "\<addq\(\.[bwl]\)\=\s" 50071d4279SBram Moolenaarsyn match asm68kOpcode "\<addx\(\.[bwl]\)\=\s" 51071d4279SBram Moolenaarsyn match asm68kOpcode "\<add\(\.[bwl]\)\=\s" 52071d4279SBram Moolenaarsyn match asm68kOpcode "\<andi\(\.[bwl]\)\=\s" 53071d4279SBram Moolenaarsyn match asm68kOpcode "\<and\(\.[bwl]\)\=\s" 54071d4279SBram Moolenaarsyn match asm68kOpcode "\<as[lr]\(\.[bwl]\)\=\s" 55071d4279SBram Moolenaarsyn match asm68kOpcode "\<b[vc][cs]\(\.[bwls]\)\=\s" 56071d4279SBram Moolenaarsyn match asm68kOpcode "\<beq\(\.[bwls]\)\=\s" 57071d4279SBram Moolenaarsyn match asm68kOpcode "\<bg[et]\(\.[bwls]\)\=\s" 58071d4279SBram Moolenaarsyn match asm68kOpcode "\<b[hm]i\(\.[bwls]\)\=\s" 59071d4279SBram Moolenaarsyn match asm68kOpcode "\<bl[est]\(\.[bwls]\)\=\s" 60071d4279SBram Moolenaarsyn match asm68kOpcode "\<bne\(\.[bwls]\)\=\s" 61071d4279SBram Moolenaarsyn match asm68kOpcode "\<bpl\(\.[bwls]\)\=\s" 62071d4279SBram Moolenaarsyn match asm68kOpcode "\<bchg\(\.[bl]\)\=\s" 63071d4279SBram Moolenaarsyn match asm68kOpcode "\<bclr\(\.[bl]\)\=\s" 64071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfchg\s" 65071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfclr\s" 66071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfexts\s" 67071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfextu\s" 68071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfffo\s" 69071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfins\s" 70071d4279SBram Moolenaarsyn match asm68kOpcode "\<bfset\s" 71071d4279SBram Moolenaarsyn match asm68kOpcode "\<bftst\s" 72071d4279SBram Moolenaarsyn match asm68kOpcode "\<bkpt\s" 73071d4279SBram Moolenaarsyn match asm68kOpcode "\<bra\(\.[bwls]\)\=\s" 74071d4279SBram Moolenaarsyn match asm68kOpcode "\<bset\(\.[bl]\)\=\s" 75071d4279SBram Moolenaarsyn match asm68kOpcode "\<bsr\(\.[bwl]\)\=\s" 76071d4279SBram Moolenaarsyn match asm68kOpcode "\<btst\(\.[bl]\)\=\s" 77071d4279SBram Moolenaarsyn match asm68kOpcode "\<callm\s" 78071d4279SBram Moolenaarsyn match asm68kOpcode "\<cas2\(\.[wl]\)\=\s" 79071d4279SBram Moolenaarsyn match asm68kOpcode "\<cas\(\.[bwl]\)\=\s" 80071d4279SBram Moolenaarsyn match asm68kOpcode "\<chk2\(\.[bwl]\)\=\s" 81071d4279SBram Moolenaarsyn match asm68kOpcode "\<chk\(\.[wl]\)\=\s" 82071d4279SBram Moolenaarsyn match asm68kOpcode "\<clr\(\.[bwl]\)\=\s" 83071d4279SBram Moolenaarsyn match asm68kOpcode "\<cmpa\(\.[wl]\)\=\s" 84071d4279SBram Moolenaarsyn match asm68kOpcode "\<cmpi\(\.[bwl]\)\=\s" 85071d4279SBram Moolenaarsyn match asm68kOpcode "\<cmpm\(\.[bwl]\)\=\s" 86071d4279SBram Moolenaarsyn match asm68kOpcode "\<cmp2\(\.[bwl]\)\=\s" 87071d4279SBram Moolenaarsyn match asm68kOpcode "\<cmp\(\.[bwl]\)\=\s" 88071d4279SBram Moolenaarsyn match asm68kOpcode "\<db[cv][cs]\(\.w\)\=\s" 89071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbeq\(\.w\)\=\s" 90071d4279SBram Moolenaarsyn match asm68kOpcode "\<db[ft]\(\.w\)\=\s" 91071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbg[et]\(\.w\)\=\s" 92071d4279SBram Moolenaarsyn match asm68kOpcode "\<db[hm]i\(\.w\)\=\s" 93071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbl[est]\(\.w\)\=\s" 94071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbne\(\.w\)\=\s" 95071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbpl\(\.w\)\=\s" 96071d4279SBram Moolenaarsyn match asm68kOpcode "\<dbra\(\.w\)\=\s" 97071d4279SBram Moolenaarsyn match asm68kOpcode "\<div[su]\(\.[wl]\)\=\s" 98071d4279SBram Moolenaarsyn match asm68kOpcode "\<div[su]l\(\.l\)\=\s" 99071d4279SBram Moolenaarsyn match asm68kOpcode "\<eori\(\.[bwl]\)\=\s" 100071d4279SBram Moolenaarsyn match asm68kOpcode "\<eor\(\.[bwl]\)\=\s" 101071d4279SBram Moolenaarsyn match asm68kOpcode "\<exg\(\.l\)\=\s" 102071d4279SBram Moolenaarsyn match asm68kOpcode "\<extb\(\.l\)\=\s" 103071d4279SBram Moolenaarsyn match asm68kOpcode "\<ext\(\.[wl]\)\=\s" 104071d4279SBram Moolenaarsyn match asm68kOpcode "\<illegal\>" 105071d4279SBram Moolenaarsyn match asm68kOpcode "\<jmp\(\.[ls]\)\=\s" 106071d4279SBram Moolenaarsyn match asm68kOpcode "\<jsr\(\.[ls]\)\=\s" 107071d4279SBram Moolenaarsyn match asm68kOpcode "\<lea\(\.l\)\=\s" 108071d4279SBram Moolenaarsyn match asm68kOpcode "\<link\(\.[wl]\)\=\s" 109071d4279SBram Moolenaarsyn match asm68kOpcode "\<ls[lr]\(\.[bwl]\)\=\s" 110071d4279SBram Moolenaarsyn match asm68kOpcode "\<movea\(\.[wl]\)\=\s" 111071d4279SBram Moolenaarsyn match asm68kOpcode "\<movec\(\.l\)\=\s" 112071d4279SBram Moolenaarsyn match asm68kOpcode "\<movem\(\.[wl]\)\=\s" 113071d4279SBram Moolenaarsyn match asm68kOpcode "\<movep\(\.[wl]\)\=\s" 114071d4279SBram Moolenaarsyn match asm68kOpcode "\<moveq\(\.l\)\=\s" 115071d4279SBram Moolenaarsyn match asm68kOpcode "\<moves\(\.[bwl]\)\=\s" 116071d4279SBram Moolenaarsyn match asm68kOpcode "\<move\(\.[bwl]\)\=\s" 117071d4279SBram Moolenaarsyn match asm68kOpcode "\<mul[su]\(\.[wl]\)\=\s" 118071d4279SBram Moolenaarsyn match asm68kOpcode "\<nbcd\(\.b\)\=\s" 119071d4279SBram Moolenaarsyn match asm68kOpcode "\<negx\(\.[bwl]\)\=\s" 120071d4279SBram Moolenaarsyn match asm68kOpcode "\<neg\(\.[bwl]\)\=\s" 121071d4279SBram Moolenaarsyn match asm68kOpcode "\<nop\>" 122071d4279SBram Moolenaarsyn match asm68kOpcode "\<not\(\.[bwl]\)\=\s" 123071d4279SBram Moolenaarsyn match asm68kOpcode "\<ori\(\.[bwl]\)\=\s" 124071d4279SBram Moolenaarsyn match asm68kOpcode "\<or\(\.[bwl]\)\=\s" 125071d4279SBram Moolenaarsyn match asm68kOpcode "\<pack\s" 126071d4279SBram Moolenaarsyn match asm68kOpcode "\<pea\(\.l\)\=\s" 127071d4279SBram Moolenaarsyn match asm68kOpcode "\<reset\>" 128071d4279SBram Moolenaarsyn match asm68kOpcode "\<ro[lr]\(\.[bwl]\)\=\s" 129071d4279SBram Moolenaarsyn match asm68kOpcode "\<rox[lr]\(\.[bwl]\)\=\s" 130071d4279SBram Moolenaarsyn match asm68kOpcode "\<rt[dm]\s" 131071d4279SBram Moolenaarsyn match asm68kOpcode "\<rt[ers]\>" 132071d4279SBram Moolenaarsyn match asm68kOpcode "\<sbcd\(\.b\)\=\s" 133071d4279SBram Moolenaarsyn match asm68kOpcode "\<s[cv][cs]\(\.b\)\=\s" 134071d4279SBram Moolenaarsyn match asm68kOpcode "\<seq\(\.b\)\=\s" 135071d4279SBram Moolenaarsyn match asm68kOpcode "\<s[ft]\(\.b\)\=\s" 136071d4279SBram Moolenaarsyn match asm68kOpcode "\<sg[et]\(\.b\)\=\s" 137071d4279SBram Moolenaarsyn match asm68kOpcode "\<s[hm]i\(\.b\)\=\s" 138071d4279SBram Moolenaarsyn match asm68kOpcode "\<sl[est]\(\.b\)\=\s" 139071d4279SBram Moolenaarsyn match asm68kOpcode "\<sne\(\.b\)\=\s" 140071d4279SBram Moolenaarsyn match asm68kOpcode "\<spl\(\.b\)\=\s" 141071d4279SBram Moolenaarsyn match asm68kOpcode "\<suba\(\.[wl]\)\=\s" 142071d4279SBram Moolenaarsyn match asm68kOpcode "\<subi\(\.[bwl]\)\=\s" 143071d4279SBram Moolenaarsyn match asm68kOpcode "\<subq\(\.[bwl]\)\=\s" 144071d4279SBram Moolenaarsyn match asm68kOpcode "\<subx\(\.[bwl]\)\=\s" 145071d4279SBram Moolenaarsyn match asm68kOpcode "\<sub\(\.[bwl]\)\=\s" 146071d4279SBram Moolenaarsyn match asm68kOpcode "\<swap\(\.w\)\=\s" 147071d4279SBram Moolenaarsyn match asm68kOpcode "\<tas\(\.b\)\=\s" 148071d4279SBram Moolenaarsyn match asm68kOpcode "\<tdiv[su]\(\.l\)\=\s" 149071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\(\.[wl]\)\=\s" 150071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=eq\(\.[wl]\)\=\s" 151071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[ft]\(\.[wl]\)\=\s" 152071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=g[et]\(\.[wl]\)\=\s" 153071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[hm]i\(\.[wl]\)\=\s" 154071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=l[est]\(\.[wl]\)\=\s" 155071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=ne\(\.[wl]\)\=\s" 156071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=pl\(\.[wl]\)\=\s" 157071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=v\>" 158071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\>" 159071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=eq\>" 160071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[ft]\>" 161071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=g[et]\>" 162071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=[hm]i\>" 163071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=l[est]\>" 164071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=ne\>" 165071d4279SBram Moolenaarsyn match asm68kOpcode "\<t\(rap\)\=pl\>" 166071d4279SBram Moolenaarsyn match asm68kOpcode "\<trap\s" 167071d4279SBram Moolenaarsyn match asm68kOpcode "\<tst\(\.[bwl]\)\=\s" 168071d4279SBram Moolenaarsyn match asm68kOpcode "\<unlk\s" 169071d4279SBram Moolenaarsyn match asm68kOpcode "\<unpk\s" 170071d4279SBram Moolenaar 171071d4279SBram Moolenaar" Valid labels 172071d4279SBram Moolenaarsyn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*$" 173071d4279SBram Moolenaarsyn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*\s"he=e-1 174071d4279SBram Moolenaarsyn match asm68kLabel "^\s*[a-z_?.][a-z0-9_?.$]*:"he=e-1 175071d4279SBram Moolenaar 176071d4279SBram Moolenaar" Various number formats 177071d4279SBram Moolenaarsyn match hexNumber "\$[0-9a-fA-F]\+\>" 178071d4279SBram Moolenaarsyn match hexNumber "\<[0-9][0-9a-fA-F]*H\>" 179071d4279SBram Moolenaarsyn match octNumber "@[0-7]\+\>" 180071d4279SBram Moolenaarsyn match octNumber "\<[0-7]\+[QO]\>" 181071d4279SBram Moolenaarsyn match binNumber "%[01]\+\>" 182071d4279SBram Moolenaarsyn match binNumber "\<[01]\+B\>" 183071d4279SBram Moolenaarsyn match decNumber "\<[0-9]\+D\=\>" 184071d4279SBram Moolenaarsyn match floatE "_*E_*" contained 185071d4279SBram Moolenaarsyn match floatExponent "_*E_*[-+]\=[0-9]\+" contained contains=floatE 186071d4279SBram Moolenaarsyn match floatNumber "[-+]\=[0-9]\+_*E_*[-+]\=[0-9]\+" contains=floatExponent 187071d4279SBram Moolenaarsyn match floatNumber "[-+]\=[0-9]\+\.[0-9]\+\(E[-+]\=[0-9]\+\)\=" contains=floatExponent 188071d4279SBram Moolenaarsyn match floatNumber ":\([0-9a-f]\+_*\)\+" 189071d4279SBram Moolenaar 190071d4279SBram Moolenaar" Character string constants 191071d4279SBram Moolenaarsyn match asm68kStringError "'[ -~]*'" 192071d4279SBram Moolenaarsyn match asm68kStringError "'[ -~]*$" 193071d4279SBram Moolenaarsyn region asm68kString start="'" skip="''" end="'" oneline contains=asm68kCharError 194071d4279SBram Moolenaarsyn match asm68kCharError "[^ -~]" contained 195071d4279SBram Moolenaar 196071d4279SBram Moolenaar" Immediate data 197071d4279SBram Moolenaarsyn match asm68kImmediate "#\$[0-9a-fA-F]\+" contains=hexNumber 198071d4279SBram Moolenaarsyn match asm68kImmediate "#[0-9][0-9a-fA-F]*H" contains=hexNumber 199071d4279SBram Moolenaarsyn match asm68kImmediate "#@[0-7]\+" contains=octNumber 200071d4279SBram Moolenaarsyn match asm68kImmediate "#[0-7]\+[QO]" contains=octNumber 201071d4279SBram Moolenaarsyn match asm68kImmediate "#%[01]\+" contains=binNumber 202071d4279SBram Moolenaarsyn match asm68kImmediate "#[01]\+B" contains=binNumber 203071d4279SBram Moolenaarsyn match asm68kImmediate "#[0-9]\+D\=" contains=decNumber 204071d4279SBram Moolenaarsyn match asm68kSymbol "[a-z_?.][a-z0-9_?.$]*" contained 205071d4279SBram Moolenaarsyn match asm68kImmediate "#[a-z_?.][a-z0-9_?.]*" contains=asm68kSymbol 206071d4279SBram Moolenaar 207071d4279SBram Moolenaar" Special items for comments 208071d4279SBram Moolenaarsyn keyword asm68kTodo contained TODO 209071d4279SBram Moolenaar 210071d4279SBram Moolenaar" Operators 211071d4279SBram Moolenaarsyn match asm68kOperator "[-+*/]" " Must occur before Comments 212071d4279SBram Moolenaarsyn match asm68kOperator "\.SIZEOF\." 213071d4279SBram Moolenaarsyn match asm68kOperator "\.STARTOF\." 214071d4279SBram Moolenaarsyn match asm68kOperator "<<" " shift left 215071d4279SBram Moolenaarsyn match asm68kOperator ">>" " shift right 216071d4279SBram Moolenaarsyn match asm68kOperator "&" " bit-wise logical and 217071d4279SBram Moolenaarsyn match asm68kOperator "!" " bit-wise logical or 218071d4279SBram Moolenaarsyn match asm68kOperator "!!" " exclusive or 219071d4279SBram Moolenaarsyn match asm68kOperator "<>" " inequality 220071d4279SBram Moolenaarsyn match asm68kOperator "=" " must be before other ops containing '=' 221071d4279SBram Moolenaarsyn match asm68kOperator ">=" 222071d4279SBram Moolenaarsyn match asm68kOperator "<=" 223071d4279SBram Moolenaarsyn match asm68kOperator "==" " operand existance - used in macro definitions 224071d4279SBram Moolenaar 225071d4279SBram Moolenaar" Condition code style operators 226071d4279SBram Moolenaarsyn match asm68kOperator "<[CV][CS]>" 227071d4279SBram Moolenaarsyn match asm68kOperator "<EQ>" 228071d4279SBram Moolenaarsyn match asm68kOperator "<G[TE]>" 229071d4279SBram Moolenaarsyn match asm68kOperator "<[HM]I>" 230071d4279SBram Moolenaarsyn match asm68kOperator "<L[SET]>" 231071d4279SBram Moolenaarsyn match asm68kOperator "<NE>" 232071d4279SBram Moolenaarsyn match asm68kOperator "<PL>" 233071d4279SBram Moolenaar 234071d4279SBram Moolenaar" Comments 235071d4279SBram Moolenaarsyn match asm68kComment ";.*" contains=asm68kTodo 236071d4279SBram Moolenaarsyn match asm68kComment "\s!.*"ms=s+1 contains=asm68kTodo 237071d4279SBram Moolenaarsyn match asm68kComment "^\s*[*!].*" contains=asm68kTodo 238071d4279SBram Moolenaar 239071d4279SBram Moolenaar" Include 240071d4279SBram Moolenaarsyn match asm68kInclude "\<INCLUDE\s" 241071d4279SBram Moolenaar 242071d4279SBram Moolenaar" Standard macros 243071d4279SBram Moolenaarsyn match asm68kCond "\<IF\(\.[BWL]\)\=\s" 244071d4279SBram Moolenaarsyn match asm68kCond "\<THEN\(\.[SL]\)\=\>" 245071d4279SBram Moolenaarsyn match asm68kCond "\<ELSE\(\.[SL]\)\=\>" 246071d4279SBram Moolenaarsyn match asm68kCond "\<ENDI\>" 247071d4279SBram Moolenaarsyn match asm68kCond "\<BREAK\(\.[SL]\)\=\>" 248071d4279SBram Moolenaarsyn match asm68kRepeat "\<FOR\(\.[BWL]\)\=\s" 249071d4279SBram Moolenaarsyn match asm68kRepeat "\<DOWNTO\s" 250071d4279SBram Moolenaarsyn match asm68kRepeat "\<TO\s" 251071d4279SBram Moolenaarsyn match asm68kRepeat "\<BY\s" 252071d4279SBram Moolenaarsyn match asm68kRepeat "\<DO\(\.[SL]\)\=\>" 253071d4279SBram Moolenaarsyn match asm68kRepeat "\<ENDF\>" 254071d4279SBram Moolenaarsyn match asm68kRepeat "\<NEXT\(\.[SL]\)\=\>" 255071d4279SBram Moolenaarsyn match asm68kRepeat "\<REPEAT\>" 256071d4279SBram Moolenaarsyn match asm68kRepeat "\<UNTIL\(\.[BWL]\)\=\s" 257071d4279SBram Moolenaarsyn match asm68kRepeat "\<WHILE\(\.[BWL]\)\=\s" 258071d4279SBram Moolenaarsyn match asm68kRepeat "\<ENDW\>" 259071d4279SBram Moolenaar 260071d4279SBram Moolenaar" Macro definition 261071d4279SBram Moolenaarsyn match asm68kMacro "\<MACRO\>" 262071d4279SBram Moolenaarsyn match asm68kMacro "\<LOCAL\s" 263071d4279SBram Moolenaarsyn match asm68kMacro "\<MEXIT\>" 264071d4279SBram Moolenaarsyn match asm68kMacro "\<ENDM\>" 265071d4279SBram Moolenaarsyn match asm68kMacroParam "\\[0-9]" 266071d4279SBram Moolenaar 267071d4279SBram Moolenaar" Conditional assembly 268071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFC\s" 269071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFDEF\s" 270071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFEQ\s" 271071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFGE\s" 272071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFGT\s" 273071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFLE\s" 274071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFLT\s" 275071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFNC\>" 276071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFNDEF\s" 277071d4279SBram Moolenaarsyn match asm68kPreCond "\<IFNE\s" 278071d4279SBram Moolenaarsyn match asm68kPreCond "\<ELSEC\>" 279071d4279SBram Moolenaarsyn match asm68kPreCond "\<ENDC\>" 280071d4279SBram Moolenaar 281071d4279SBram Moolenaar" Loop control 282071d4279SBram Moolenaarsyn match asm68kPreCond "\<REPT\s" 283071d4279SBram Moolenaarsyn match asm68kPreCond "\<IRP\s" 284071d4279SBram Moolenaarsyn match asm68kPreCond "\<IRPC\s" 285071d4279SBram Moolenaarsyn match asm68kPreCond "\<ENDR\>" 286071d4279SBram Moolenaar 287071d4279SBram Moolenaar" Directives 288071d4279SBram Moolenaarsyn match asm68kDirective "\<ALIGN\s" 289071d4279SBram Moolenaarsyn match asm68kDirective "\<CHIP\s" 290071d4279SBram Moolenaarsyn match asm68kDirective "\<COMLINE\s" 291071d4279SBram Moolenaarsyn match asm68kDirective "\<COMMON\(\.S\)\=\s" 292071d4279SBram Moolenaarsyn match asm68kDirective "\<DC\(\.[BWLSDXP]\)\=\s" 293071d4279SBram Moolenaarsyn match asm68kDirective "\<DC\.\\[0-9]\s"me=e-3 " Special use in a macro def 294071d4279SBram Moolenaarsyn match asm68kDirective "\<DCB\(\.[BWLSDXP]\)\=\s" 295071d4279SBram Moolenaarsyn match asm68kDirective "\<DS\(\.[BWLSDXP]\)\=\s" 296071d4279SBram Moolenaarsyn match asm68kDirective "\<END\>" 297071d4279SBram Moolenaarsyn match asm68kDirective "\<EQU\s" 298071d4279SBram Moolenaarsyn match asm68kDirective "\<FEQU\(\.[SDXP]\)\=\s" 299071d4279SBram Moolenaarsyn match asm68kDirective "\<FAIL\>" 300071d4279SBram Moolenaarsyn match asm68kDirective "\<FOPT\s" 301071d4279SBram Moolenaarsyn match asm68kDirective "\<\(NO\)\=FORMAT\>" 302071d4279SBram Moolenaarsyn match asm68kDirective "\<IDNT\>" 303071d4279SBram Moolenaarsyn match asm68kDirective "\<\(NO\)\=LIST\>" 304071d4279SBram Moolenaarsyn match asm68kDirective "\<LLEN\s" 305071d4279SBram Moolenaarsyn match asm68kDirective "\<MASK2\>" 306071d4279SBram Moolenaarsyn match asm68kDirective "\<NAME\s" 307071d4279SBram Moolenaarsyn match asm68kDirective "\<NOOBJ\>" 308071d4279SBram Moolenaarsyn match asm68kDirective "\<OFFSET\s" 309071d4279SBram Moolenaarsyn match asm68kDirective "\<OPT\>" 310071d4279SBram Moolenaarsyn match asm68kDirective "\<ORG\(\.[SL]\)\=\>" 311071d4279SBram Moolenaarsyn match asm68kDirective "\<\(NO\)\=PAGE\>" 312071d4279SBram Moolenaarsyn match asm68kDirective "\<PLEN\s" 313071d4279SBram Moolenaarsyn match asm68kDirective "\<REG\s" 314071d4279SBram Moolenaarsyn match asm68kDirective "\<RESTORE\>" 315071d4279SBram Moolenaarsyn match asm68kDirective "\<SAVE\>" 316071d4279SBram Moolenaarsyn match asm68kDirective "\<SECT\(\.S\)\=\s" 317071d4279SBram Moolenaarsyn match asm68kDirective "\<SECTION\(\.S\)\=\s" 318071d4279SBram Moolenaarsyn match asm68kDirective "\<SET\s" 319071d4279SBram Moolenaarsyn match asm68kDirective "\<SPC\s" 320071d4279SBram Moolenaarsyn match asm68kDirective "\<TTL\s" 321071d4279SBram Moolenaarsyn match asm68kDirective "\<XCOM\s" 322071d4279SBram Moolenaarsyn match asm68kDirective "\<XDEF\s" 323071d4279SBram Moolenaarsyn match asm68kDirective "\<XREF\(\.S\)\=\s" 324071d4279SBram Moolenaar 325071d4279SBram Moolenaarsyn case match 326071d4279SBram Moolenaar 327071d4279SBram Moolenaar" Define the default highlighting. 32889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 329071d4279SBram Moolenaar 330071d4279SBram Moolenaar" The default methods for highlighting. Can be overridden later 331071d4279SBram Moolenaar" Comment Constant Error Identifier PreProc Special Statement Todo Type 332071d4279SBram Moolenaar" 333071d4279SBram Moolenaar" Constant Boolean Character Number String 334071d4279SBram Moolenaar" Identifier Function 335071d4279SBram Moolenaar" PreProc Define Include Macro PreCondit 336071d4279SBram Moolenaar" Special Debug Delimiter SpecialChar SpecialComment Tag 337071d4279SBram Moolenaar" Statement Conditional Exception Keyword Label Operator Repeat 338071d4279SBram Moolenaar" Type StorageClass Structure Typedef 339071d4279SBram Moolenaar 340*f37506f6SBram Moolenaarhi def link asm68kComment Comment 341*f37506f6SBram Moolenaarhi def link asm68kTodo Todo 342071d4279SBram Moolenaar 343*f37506f6SBram Moolenaarhi def link hexNumber Number " Constant 344*f37506f6SBram Moolenaarhi def link octNumber Number " Constant 345*f37506f6SBram Moolenaarhi def link binNumber Number " Constant 346*f37506f6SBram Moolenaarhi def link decNumber Number " Constant 347*f37506f6SBram Moolenaarhi def link floatNumber Number " Constant 348*f37506f6SBram Moolenaarhi def link floatExponent Number " Constant 349*f37506f6SBram Moolenaarhi def link floatE SpecialChar " Statement 350*f37506f6SBram Moolenaar"hi def link floatE Number " Constant 351071d4279SBram Moolenaar 352*f37506f6SBram Moolenaarhi def link asm68kImmediate SpecialChar " Statement 353*f37506f6SBram Moolenaar"hi def link asm68kSymbol Constant 354071d4279SBram Moolenaar 355*f37506f6SBram Moolenaarhi def link asm68kString String " Constant 356*f37506f6SBram Moolenaarhi def link asm68kCharError Error 357*f37506f6SBram Moolenaarhi def link asm68kStringError Error 358071d4279SBram Moolenaar 359*f37506f6SBram Moolenaarhi def link asm68kReg Identifier 360*f37506f6SBram Moolenaarhi def link asm68kOperator Identifier 361071d4279SBram Moolenaar 362*f37506f6SBram Moolenaarhi def link asm68kInclude Include " PreProc 363*f37506f6SBram Moolenaarhi def link asm68kMacro Macro " PreProc 364*f37506f6SBram Moolenaarhi def link asm68kMacroParam Keyword " Statement 365071d4279SBram Moolenaar 366*f37506f6SBram Moolenaarhi def link asm68kDirective Special 367*f37506f6SBram Moolenaarhi def link asm68kPreCond Special 368071d4279SBram Moolenaar 369071d4279SBram Moolenaar 370*f37506f6SBram Moolenaarhi def link asm68kOpcode Statement 371*f37506f6SBram Moolenaarhi def link asm68kCond Conditional " Statement 372*f37506f6SBram Moolenaarhi def link asm68kRepeat Repeat " Statement 373071d4279SBram Moolenaar 374*f37506f6SBram Moolenaarhi def link asm68kLabel Type 375071d4279SBram Moolenaar 376071d4279SBram Moolenaarlet b:current_syntax = "asm68k" 377071d4279SBram Moolenaar 378071d4279SBram Moolenaar" vim: ts=8 sw=2 379