blob: d7c1e7ea142aaeac80c7aacbb675bc7a0b3f8b0f [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar9964e462007-05-05 17:54:07 +00002" Language: Microsoft Macro Assembler (80x86)
3" Orig Author: Rob Brady <robb@datatone.com>
4" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" Last Change: $Date$
Bram Moolenaar071d4272004-06-13 20:20:40 +00006" $Revision$
7
8" For version 5.x: Clear all syntax items
9" For version 6.x: Quit when a syntax file was already loaded
10if version < 600
11 syntax clear
12elseif exists("b:current_syntax")
13 finish
14endif
15
16syn case ignore
17
18
Bram Moolenaar9964e462007-05-05 17:54:07 +000019syn match masmIdentifier "[@a-z_$?][@a-z0-9_$?]*"
20syn match masmLabel "^\s*[@a-z_$?][@a-z0-9_$?]*:"he=e-1
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
Bram Moolenaar9964e462007-05-05 17:54:07 +000022syn match masmDecimal "[-+]\?\d\+[dt]\?"
23syn match masmBinary "[-+]\?[0-1]\+[by]" "put this before hex or 0bfh dies!
24syn match masmOctal "[-+]\?[0-7]\+[oq]"
25syn match masmHexadecimal "[-+]\?[0-9]\x*h"
26syn match masmFloatRaw "[-+]\?[0-9]\x*r"
27syn match masmFloat "[-+]\?\d\+\.\(\d*\(E[-+]\?\d\+\)\?\)\?"
Bram Moolenaar071d4272004-06-13 20:20:40 +000028
Bram Moolenaar9964e462007-05-05 17:54:07 +000029syn match masmComment ";.*" contains=@Spell
30syn region masmComment start=+COMMENT\s*\z(\S\)+ end=+\z1.*+ contains=@Spell
31syn region masmString start=+'+ end=+'+ oneline contains=@Spell
32syn region masmString start=+"+ end=+"+ oneline contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000033
Bram Moolenaar9964e462007-05-05 17:54:07 +000034syn region masmTitleArea start=+\<TITLE\s+lc=5 start=+\<SUBTITLE\s+lc=8 start=+\<SUBTTL\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmTitle
35syn region masmTextArea start=+\<NAME\s+lc=4 start=+\<INCLUDE\s+lc=7 start=+\<INCLUDELIB\s+lc=10 end=+$+ end=+;+me=e-1 contains=masmText
36syn match masmTitle "[^\t ;]\([^;]*[^\t ;]\)\?" contained
37syn match masmText "[^\t ;]\([^;]*[^\t ;]\)\?" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaar9964e462007-05-05 17:54:07 +000039syn region masmOptionOpt start=+\<OPTION\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmOption
40syn region masmModelOpt start=+\.MODEL\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmOption,masmType
41syn region masmSegmentOpt start=+\<SEGMENT\s+lc=7 end=+$+ end=+;+me=e-1 contains=masmOption,masmString
42syn region masmProcOpt start=+\<PROC\s+lc=4 end=+$+ end=+;+me=e-1 contains=masmOption,masmType,masmRegister,masmIdentifier
43syn region masmExpression start=+\.IF\s+lc=3 start=+\.WHILE\s+lc=6 start=+\.UNTIL\s+lc=6 start=+\<IF\s+lc=2 start=+\<IF2\s+lc=3 start=+\<ELSEIF\s+lc=6 start=+\<ELSEIF2\s+lc=7 start=+\<REPEAT\s+lc=6 start=+\<WHILE\s+lc=5 end=+$+ end=+;+me=e-1 contains=masmType,masmOperator,masmRegister,masmIdentifier,masmDecimal,masmBinary,masmHexadecimal,masmFloatRaw,masmString
44
45syn keyword masmOption TINY SMALL COMPACT MEDIUM LARGE HUGE contained
46syn keyword masmOption NEARSTACK FARSTACK contained
47syn keyword masmOption PUBLIC PRIVATE STACK COMMON MEMORY AT contained
48syn keyword masmOption BYTE WORD DWORD PARA PAGE contained
49syn keyword masmOption USE16 USE32 FLAT contained
50syn keyword masmOption INFO READ WRITE EXECUTE SHARED contained
51syn keyword masmOption NOPAGE NOCACHE DISCARD contained
52syn keyword masmOption READONLY USES FRAME contained
53syn keyword masmOption CASEMAP DOTNAME NODOTNAME EMULATOR contained
54syn keyword masmOption NOEMULATOR EPILOGUE EXPR16 EXPR32 contained
55syn keyword masmOption LANGUAGE LJMP NOLJMP M510 NOM510 contained
56syn keyword masmOption NOKEYWORD NOSIGNEXTEND OFFSET contained
57syn keyword masmOption OLDMACROS NOOLDMACROS OLDSTRUCTS contained
58syn keyword masmOption NOOLDSTRUCTS PROC PROLOGUE READONLY contained
59syn keyword masmOption NOREADONLY SCOPED NOSCOPED SEGMENT contained
60syn keyword masmOption SETIF2 contained
61syn keyword masmType STDCALL SYSCALL C BASIC FORTRAN PASCAL
62syn keyword masmType PTR NEAR FAR NEAR16 FAR16 NEAR32 FAR32
63syn keyword masmType REAL4 REAL8 REAL10 BYTE SBYTE TBYTE
64syn keyword masmType WORD DWORD QWORD FWORD SWORD SDWORD
65syn keyword masmOperator AND NOT OR SHL SHR XOR MOD DUP
66syn keyword masmOperator EQ GE GT LE LT NE
67syn keyword masmOperator LROFFSET SEG LENGTH LENGTHOF SIZE SIZEOF
68syn keyword masmOperator CODEPTR DATAPTR FAR NEAR SHORT THIS TYPE
69syn keyword masmOperator HIGH HIGHWORD LOW LOWWORD OPATTR MASK WIDTH
70syn match masmOperator "OFFSET\(\sFLAT:\)\?"
71syn match masmOperator ".TYPE\>"
72syn match masmOperator "CARRY?"
73syn match masmOperator "OVERFLOW?"
74syn match masmOperator "PARITY?"
75syn match masmOperator "SIGN?"
76syn match masmOperator "ZERO?"
77syn keyword masmDirective ALIAS ASSUME CATSTR COMM DB DD DF DOSSEG DQ DT
78syn keyword masmDirective DW ECHO ELSE ELSEIF ELSEIF1 ELSEIF2 ELSEIFB
79syn keyword masmDirective ELSEIFDEF ELSEIFDIF ELSEIFDIFI ELSEIFE
80syn keyword masmDirective ELSEIFIDN ELSEIFIDNI ELSEIFNB ELSEIFNDEF END
81syn keyword masmDirective ENDIF ENDM ENDP ENDS EQU EVEN EXITM EXTERN
82syn keyword masmDirective EXTERNDEF EXTRN FOR FORC GOTO GROUP IF IF1 IF2
83syn keyword masmDirective IFB IFDEF IFDIF IFDIFI IFE IFIDN IFIDNI IFNB
84syn keyword masmDirective IFNDEF INCLUDE INCLUDELIB INSTR INVOKE IRP
85syn keyword masmDirective IRPC LABEL LOCAL MACRO NAME OPTION ORG PAGE
86syn keyword masmDirective POPCONTEXT PROC PROTO PUBLIC PURGE PUSHCONTEXT
87syn keyword masmDirective RECORD REPEAT REPT SEGMENT SIZESTR STRUC
88syn keyword masmDirective STRUCT SUBSTR SUBTITLE SUBTTL TEXTEQU TITLE
89syn keyword masmDirective TYPEDEF UNION WHILE
90syn match masmDirective "\.8086\>"
91syn match masmDirective "\.8087\>"
92syn match masmDirective "\.NO87\>"
93syn match masmDirective "\.186\>"
94syn match masmDirective "\.286\>"
95syn match masmDirective "\.286C\>"
96syn match masmDirective "\.286P\>"
97syn match masmDirective "\.287\>"
98syn match masmDirective "\.386\>"
99syn match masmDirective "\.386C\>"
100syn match masmDirective "\.386P\>"
101syn match masmDirective "\.387\>"
102syn match masmDirective "\.486\>"
103syn match masmDirective "\.486P\>"
104syn match masmDirective "\.586\>"
105syn match masmDirective "\.586P\>"
106syn match masmDirective "\.686\>"
107syn match masmDirective "\.686P\>"
108syn match masmDirective "\.K3D\>"
109syn match masmDirective "\.MMX\>"
110syn match masmDirective "\.XMM\>"
111syn match masmDirective "\.ALPHA\>"
112syn match masmDirective "\.DOSSEG\>"
113syn match masmDirective "\.SEQ\>"
114syn match masmDirective "\.CODE\>"
115syn match masmDirective "\.CONST\>"
116syn match masmDirective "\.DATA\>"
117syn match masmDirective "\.DATA?"
118syn match masmDirective "\.EXIT\>"
119syn match masmDirective "\.FARDATA\>"
120syn match masmDirective "\.FARDATA?"
121syn match masmDirective "\.MODEL\>"
122syn match masmDirective "\.STACK\>"
123syn match masmDirective "\.STARTUP\>"
124syn match masmDirective "\.IF\>"
125syn match masmDirective "\.ELSE\>"
126syn match masmDirective "\.ELSEIF\>"
127syn match masmDirective "\.ENDIF\>"
128syn match masmDirective "\.REPEAT\>"
129syn match masmDirective "\.UNTIL\>"
130syn match masmDirective "\.UNTILCXZ\>"
131syn match masmDirective "\.WHILE\>"
132syn match masmDirective "\.ENDW\>"
133syn match masmDirective "\.BREAK\>"
134syn match masmDirective "\.CONTINUE\>"
135syn match masmDirective "\.ERR\>"
136syn match masmDirective "\.ERR1\>"
137syn match masmDirective "\.ERR2\>"
138syn match masmDirective "\.ERRB\>"
139syn match masmDirective "\.ERRDEF\>"
140syn match masmDirective "\.ERRDIF\>"
141syn match masmDirective "\.ERRDIFI\>"
142syn match masmDirective "\.ERRE\>"
143syn match masmDirective "\.ERRIDN\>"
144syn match masmDirective "\.ERRIDNI\>"
145syn match masmDirective "\.ERRNB\>"
146syn match masmDirective "\.ERRNDEF\>"
147syn match masmDirective "\.ERRNZ\>"
148syn match masmDirective "\.LALL\>"
149syn match masmDirective "\.SALL\>"
150syn match masmDirective "\.XALL\>"
151syn match masmDirective "\.LFCOND\>"
152syn match masmDirective "\.SFCOND\>"
153syn match masmDirective "\.TFCOND\>"
154syn match masmDirective "\.CREF\>"
155syn match masmDirective "\.NOCREF\>"
156syn match masmDirective "\.XCREF\>"
157syn match masmDirective "\.LIST\>"
158syn match masmDirective "\.NOLIST\>"
159syn match masmDirective "\.XLIST\>"
160syn match masmDirective "\.LISTALL\>"
161syn match masmDirective "\.LISTIF\>"
162syn match masmDirective "\.NOLISTIF\>"
163syn match masmDirective "\.LISTMACRO\>"
164syn match masmDirective "\.NOLISTMACRO\>"
165syn match masmDirective "\.LISTMACROALL\>"
166syn match masmDirective "\.FPO\>"
167syn match masmDirective "\.RADIX\>"
168syn match masmDirective "\.SAFESEH\>"
169syn match masmDirective "%OUT\>"
170syn match masmDirective "ALIGN\>"
171syn match masmOption "ALIGN([0-9]\+)"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000172
173syn keyword masmRegister AX BX CX DX SI DI BP SP
Bram Moolenaar9964e462007-05-05 17:54:07 +0000174syn keyword masmRegister CS DS SS ES FS GS
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175syn keyword masmRegister AH BH CH DH AL BL CL DL
176syn keyword masmRegister EAX EBX ECX EDX ESI EDI EBP ESP
Bram Moolenaar9964e462007-05-05 17:54:07 +0000177syn keyword masmRegister CR0 CR2 CR3 CR4
178syn keyword masmRegister DR0 DR1 DR2 DR3 DR6 DR7
179syn keyword masmRegister TR3 TR4 TR5 TR6 TR7
180syn match masmRegister "ST([0-7])"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000181
182
Bram Moolenaar9964e462007-05-05 17:54:07 +0000183" Instruction prefixes
184syn keyword masmOpcode LOCK REP REPE REPNE REPNZ REPZ
Bram Moolenaar071d4272004-06-13 20:20:40 +0000185
Bram Moolenaar9964e462007-05-05 17:54:07 +0000186" 8086/8088 opcodes
187syn keyword masmOpcode AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD
188syn keyword masmOpcode CLI CMC CMP CMPS CMPSB CMPSW CWD DAA DAS DEC
189syn keyword masmOpcode DIV ESC HLT IDIV IMUL IN INC INT INTO IRET
190syn keyword masmOpcode JCXZ JMP LAHF LDS LEA LES LODS LODSB LODSW
191syn keyword masmOpcode LOOP LOOPE LOOPEW LOOPNE LOOPNEW LOOPNZ
192syn keyword masmOpcode LOOPNZW LOOPW LOOPZ LOOPZW MOV MOVS MOVSB
193syn keyword masmOpcode MOVSW MUL NEG NOP NOT OR OUT POP POPF PUSH
194syn keyword masmOpcode PUSHF RCL RCR RET RETF RETN ROL ROR SAHF SAL
195syn keyword masmOpcode SAR SBB SCAS SCASB SCASW SHL SHR STC STD STI
196syn keyword masmOpcode STOS STOSB STOSW SUB TEST WAIT XCHG XLAT XLATB
197syn keyword masmOpcode XOR
198syn match masmOpcode "J\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"
199
200" 80186 opcodes
201syn keyword masmOpcode BOUND ENTER INS INSB INSW LEAVE OUTS OUTSB
202syn keyword masmOpcode OUTSW POPA PUSHA PUSHW
203
204" 80286 opcodes
205syn keyword masmOpcode ARPL LAR LSL SGDT SIDT SLDT SMSW STR VERR VERW
206
207" 80286/80386 privileged opcodes
208syn keyword masmOpcode CLTS LGDT LIDT LLDT LMSW LTR
209
210" 80386 opcodes
211syn keyword masmOpcode BSF BSR BT BTC BTR BTS CDQ CMPSD CWDE INSD
212syn keyword masmOpcode IRETD IRETDF IRETF JECXZ LFS LGS LODSD LOOPD
213syn keyword masmOpcode LOOPED LOOPNED LOOPNZD LOOPZD LSS MOVSD MOVSX
214syn keyword masmOpcode MOVZX OUTSD POPAD POPFD PUSHAD PUSHD PUSHFD
215syn keyword masmOpcode SCASD SHLD SHRD STOSD
216syn match masmOpcode "SET\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"
217
218" 80486 opcodes
219syn keyword masmOpcode BSWAP CMPXCHG INVD INVLPG WBINVD XADD
220
221" Floating-point opcodes as of 487
Bram Moolenaar071d4272004-06-13 20:20:40 +0000222syn keyword masmOpFloat F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEX
223syn keyword masmOpFloat FNCLEX FCOM FCOMP FCOMPP FCOS FDECSTP FDISI
224syn keyword masmOpFloat FNDISI FDIV FDIVP FDIVR FDIVRP FENI FNENI
225syn keyword masmOpFloat FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILD
226syn keyword masmOpFloat FIMUL FINCSTP FINIT FNINIT FIST FISTP FISUB
227syn keyword masmOpFloat FISUBR FLD FLDCW FLDENV FLDLG2 FLDLN2 FLDL2E
228syn keyword masmOpFloat FLDL2T FLDPI FLDZ FLD1 FMUL FMULP FNOP FPATAN
Bram Moolenaar9964e462007-05-05 17:54:07 +0000229syn keyword masmOpFloat FPREM FPREM1 FPTAN FRNDINT FRSTOR FSAVE FNSAVE
230syn keyword masmOpFloat FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW
231syn keyword masmOpFloat FNSTCW FSTENV FNSTENV FSTP FSTSW FNSTSW FSUB
232syn keyword masmOpFloat FSUBP FSUBR FSUBRP FTST FUCOM FUCOMP FUCOMPP
233syn keyword masmOpFloat FWAIT FXAM FXCH FXTRACT FYL2X FYL2XP1
234
235" Floating-point opcodes in Pentium and later processors
236syn keyword masmOpFloat FCMOVE FCMOVNE FCMOVB FCMOVBE FCMOVNB FCMOVNBE
237syn keyword masmOpFloat FCMOVU FCMOVNU FCOMI FUCOMI FCOMIP FUCOMIP
238syn keyword masmOpFloat FXSAVE FXRSTOR
239
240" MMX opcodes (Pentium w/ MMX, Pentium II, and later)
241syn keyword masmOpcode MOVD MOVQ PACKSSWB PACKSSDW PACKUSWB
242syn keyword masmOpcode PUNPCKHBW PUNPCKHWD PUNPCKHDQ
243syn keyword masmOpcode PUNPCKLBW PUNPCKLWD PUNPCKLDQ
244syn keyword masmOpcode PADDB PADDW PADDD PADDSB PADDSW PADDUSB PADDUSW
245syn keyword masmOpcode PSUBB PSUBW PSUBD PSUBSB PSUBSW PSUBUSB PSUBUSW
246syn keyword masmOpcode PMULHW PMULLW PMADDWD
247syn keyword masmOpcode PCMPEQB PCMPEQW PCMPEQD PCMPGTB PCMPGTW PCMPGTD
248syn keyword masmOpcode PAND PANDN POR PXOR
249syn keyword masmOpcode PSLLW PSLLD PSLLQ PSRLW PSRLD PSRLQ PSRAW PSRAD
250syn keyword masmOpcode EMMS
251
252" SSE opcodes (Pentium III and later)
253syn keyword masmOpcode MOVAPS MOVUPS MOVHPS MOVHLPS MOVLPS MOVLHPS
254syn keyword masmOpcode MOVMSKPS MOVSS
255syn keyword masmOpcode ADDPS ADDSS SUBPS SUBSS MULPS MULSS DIVPS DIVSS
256syn keyword masmOpcode RCPPS RCPSS SQRTPS SQRTSS RSQRTPS RSQRTSS
257syn keyword masmOpcode MAXPS MAXSS MINPS MINSS
258syn keyword masmOpcode CMPPS CMPSS COMISS UCOMISS
259syn keyword masmOpcode ANDPS ANDNPS ORPS XORPS
260syn keyword masmOpcode SHUFPS UNPCKHPS UNPCKLPS
261syn keyword masmOpcode CVTPI2PS CVTSI2SS CVTPS2PI CVTTPS2PI
262syn keyword masmOpcode CVTSS2SI CVTTSS2SI
263syn keyword masmOpcode LDMXCSR STMXCSR
264syn keyword masmOpcode PAVGB PAVGW PEXTRW PINSRW PMAXUB PMAXSW
265syn keyword masmOpcode PMINUB PMINSW PMOVMSKB PMULHUW PSADBW PSHUFW
266syn keyword masmOpcode MASKMOVQ MOVNTQ MOVNTPS SFENCE
267syn keyword masmOpcode PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHNTA
268
269" SSE2 opcodes (Pentium 4 and later)
270syn keyword masmOpcode MOVAPD MOVUPD MOVHPD MOVLPD MOVMSKPD MOVSD
271syn keyword masmOpcode ADDPD ADDSD SUBPD SUBSD MULPD MULSD DIVPD DIVSD
272syn keyword masmOpcode SQRTPD SQRTSD MAXPD MAXSD MINPD MINSD
273syn keyword masmOpcode ANDPD ANDNPD ORPD XORPD
274syn keyword masmOpcode CMPPD CMPSD COMISD UCOMISD
275syn keyword masmOpcode SHUFPD UNPCKHPD UNPCKLPD
276syn keyword masmOpcode CVTPD2PI CVTTPD2PI CVTPI2PD CVTPD2DQ
277syn keyword masmOpcode CVTTPD2DQ CVTDQ2PD CVTPS2PD CVTPD2PS
278syn keyword masmOpcode CVTSS2SD CVTSD2SS CVTSD2SI CVTTSD2SI CVTSI2SD
279syn keyword masmOpcode CVTDQ2PS CVTPS2DQ CVTTPS2DQ
280syn keyword masmOpcode MOVDQA MOVDQU MOVQ2DQ MOVDQ2Q PMULUDQ
281syn keyword masmOpcode PADDQ PSUBQ PSHUFLW PSHUFHW PSHUFD
282syn keyword masmOpcode PSLLDQ PSRLDQ PUNPCKHQDQ PUNPCKLQDQ
283syn keyword masmOpcode CLFLUSH LFENCE MFENCE PAUSE MASKMOVDQU
284syn keyword masmOpcode MOVNTPD MOVNTDQ MOVNTI
285
286" SSE3 opcodes (Pentium 4 w/ Hyper-Threading and later)
287syn keyword masmOpcode FISTTP LDDQU ADDSUBPS ADDSUBPD
288syn keyword masmOpcode HADDPS HSUBPS HADDPD HSUBPD
289syn keyword masmOpcode MOVSHDUP MOVSLDUP MOVDDUP MONITOR MWAIT
290
291" Other opcodes in Pentium and later processors
292syn keyword masmOpcode CMPXCHG8B CPUID UD2
293syn keyword masmOpcode RSM RDMSR WRMSR RDPMC RDTSC SYSENTER SYSEXIT
294syn match masmOpcode "CMOV\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"
295
Bram Moolenaar071d4272004-06-13 20:20:40 +0000296
297" Define the default highlighting.
298" For version 5.7 and earlier: only when not done already
299" For version 5.8 and later: only when an item doesn't have highlighting yet
300if version >= 508 || !exists("did_masm_syntax_inits")
301 if version < 508
302 let did_masm_syntax_inits = 1
303 command -nargs=+ HiLink hi link <args>
304 else
305 command -nargs=+ HiLink hi def link <args>
306 endif
307
308 " The default methods for highlighting. Can be overridden later
Bram Moolenaar9964e462007-05-05 17:54:07 +0000309 HiLink masmLabel PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000310 HiLink masmComment Comment
311 HiLink masmDirective Statement
Bram Moolenaar9964e462007-05-05 17:54:07 +0000312 HiLink masmType Type
313 HiLink masmOperator Type
314 HiLink masmOption Special
315 HiLink masmRegister Special
Bram Moolenaar071d4272004-06-13 20:20:40 +0000316 HiLink masmString String
Bram Moolenaar9964e462007-05-05 17:54:07 +0000317 HiLink masmText String
318 HiLink masmTitle Title
319 HiLink masmOpcode Statement
320 HiLink masmOpFloat Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +0000321
322 HiLink masmHexadecimal Number
323 HiLink masmDecimal Number
Bram Moolenaar9964e462007-05-05 17:54:07 +0000324 HiLink masmOctal Number
Bram Moolenaar071d4272004-06-13 20:20:40 +0000325 HiLink masmBinary Number
Bram Moolenaar9964e462007-05-05 17:54:07 +0000326 HiLink masmFloatRaw Number
Bram Moolenaar071d4272004-06-13 20:20:40 +0000327 HiLink masmFloat Number
328
329 HiLink masmIdentifier Identifier
330
Bram Moolenaar9964e462007-05-05 17:54:07 +0000331 syntax sync minlines=50
332
Bram Moolenaar071d4272004-06-13 20:20:40 +0000333 delcommand HiLink
334endif
335
336let b:current_syntax = "masm"
337
338" vim: ts=8