home *** CD-ROM | disk | FTP | other *** search
Wrap
" Vim syntax file " Language: NASM: The Netwide Assembler (v0.97) " Maintainer: C. Laurence Gonsalves <clgonsal@kami.com> " Last change: 1998 July 12 " URL: http://www.cryogen.com/clgonsal/vim/syntax/nasm.vim " NASM's home: http://www.cryogen.com/Nasm " Remove any old syntax stuff hanging around syn clear syn case ignore syn match nasmPreProc "^[ ]*%[^;]*" syn keyword nasmOperator SEG WRT INCBIN EQU TIMES FAR SHORT syn keyword nasmOperator BYTE WORD DWORD NOSPLIT syn keyword nasmDirective BITS SECTION SEGMENT ABSOLUTE ORG EXTERN syn keyword nasmDirective STRUC ENDSTRUC COMMON GLOBAL GROUP syn keyword nasmStorage DB DW DD DQ DT RESB RESW RESD RESQ REST syn match nasmLabel "[?.a-z_][a-z0-9_$?.@#~]*" syn match nasmRegister "\<[ABCD][LH]\>" syn match nasmRegister "\<E\=\([ABCD]X\|[SD]I\|[BS]P\)\>" syn match nasmRegister "\<[C-GS]S\>" syn match nasmDecNumber "[0-9]\+" syn match nasmOctNumber "[0-7]\+Q" syn match nasmBinNumber "[0-1]\+B" syn match nasmHexNumber "[0-9][0-9a-fA-F]\+H" syn match nasmHexNumber "0[xX][0-9a-fA-F]\+" syn match nasmHexNumber "\$[0-9][0-9a-fA-F]*" syn match nasmComment ";.*$" syn match nasmString "'[^']\+'" " instructions that take cc's syn match nasmInstruction "\<\(CMOV\|FCMOV\|J\|PMVZB\|SET\)\(A\|AE\|B\|BE\|E\|G\|GE\|L\|LE\|NA\|NAE\|NB\|NBE\|NE\|NG\|NGE\|NL\|NLE\|NO\|NP\|NS\|NZ\|O\|P\|PE\|PO\|S\|Z\)\>" " other instructions syn keyword nasmInstruction AAA AAD AAM AAS ADC ADD AND ARPL BOUND BSF BSR syn keyword nasmInstruction BSWAP BT BTC BTR BTS CALL CBW CDQ CLC CLD CLI syn keyword nasmInstruction CLTS CMC CMP CMPSB CMPSD CMPSW CMPXCHG syn keyword nasmInstruction CMPXCHG486 CMPXCHG8B CPUID CWD CWDE DAA DAS DEC syn keyword nasmInstruction DIV EMMS ENTER F2XM1 FABS FADD FADDP FBLD FBSTP syn keyword nasmInstruction FCHS FCLEX FCOM FCOMI FCOMIP FCOMP FCOMPP FCOS syn keyword nasmInstruction FDECSTP FDISI FDIV FDIVP FDIVR FDIVRP FENI syn keyword nasmInstruction FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILD syn keyword nasmInstruction FIMUL FINCSTP FINIT FIST FISTP FISUB FLD FLD1 syn keyword nasmInstruction FLDCW FLDENV FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI syn keyword nasmInstruction FLDZ FMUL FMULP FNCLEX FNDISI FNENI FNINIT FNOP syn keyword nasmInstruction FPATAN FPREM FPREM1 FPTAN FRNDINT FRSTOR FSAVE syn keyword nasmInstruction FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW syn keyword nasmInstruction FSTENV FSTP FSTSW FSUB FSUBP FSUBR FSUBRP FTST syn keyword nasmInstruction FUCOM FUCOMI FUCOMIP FUCOMP FUCOMPP FXAM FXCH syn keyword nasmInstruction FXTRACT FYL2X FYL2XP1 HLT IBTS ICEBP IDIV IMUL syn keyword nasmInstruction IN INC INSB INSD INSW INT INT01 INT1 INT3 INTO syn keyword nasmInstruction INVD INVLPG IRET IRETD IRETW JCXZ JECXZ JMP syn keyword nasmInstruction LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT syn keyword nasmInstruction LLDT LMSW LOADALL LOADALL286 LODSB LODSD LODSW syn keyword nasmInstruction LOOP LOOPE LOOPNE LOOPNZ LOOPZ LSL LSS LTR MOV syn keyword nasmInstruction MOVD MOVQ MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG syn keyword nasmInstruction NOP NOT OR OUT OUTSB OUTSD OUTSW PACKSSDW syn keyword nasmInstruction PACKSSWB PACKUSWB PADDB PADDD PADDSB PADDSIW syn keyword nasmInstruction PADDSW PADDUSB PADDUSW PADDW PAND PANDN PAVEB syn keyword nasmInstruction PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW syn keyword nasmInstruction PDISTIB PMACHRIW PMADDWD PMAGW PMULHRIW PMULHRW syn keyword nasmInstruction PMULHW PMULLW POP POPA POPAD POPAW POPF POPFD syn keyword nasmInstruction POPFW POR PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD syn keyword nasmInstruction PSRLQ PSRLW PSUBB PSUBD PSUBSB PSUBSIW PSUBSW syn keyword nasmInstruction PSUBUSB PSUBUSW PSUBW PUNPCKHBW PUNPCKHDQ syn keyword nasmInstruction PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWD PUSH syn keyword nasmInstruction PUSHA PUSHAD PUSHAW PUSHF PUSHFD PUSHFW PXOR syn keyword nasmInstruction RCL RCR RDMSR RDPMC RDTSC RET RETF RETN ROL ROR syn keyword nasmInstruction RSM SAHF SAL SALC SAR SBB SCASB SCASD SCASW syn keyword nasmInstruction SGDT SHL SHLD SHR SHRD SIDT SLDT SMI SMSW STC syn keyword nasmInstruction STD STI STOSB STOSD STOSW STR SUB TEST UMOV syn keyword nasmInstruction VERR VERW WAIT WBINVD WRMSR XADD XBTS XCHG syn keyword nasmInstruction XLATB XOR if !exists("did_nasm_syntax_inits") let did_nasm_syntax_inits = 1 hi link nasmLabel Label hi link nasmComment Comment hi link nasmInstruction Statement hi link nasmDirective Operator hi link nasmOperator Operator hi link nasmString String hi link nasmRegister Function hi link nasmInclude Include hi link nasmCond PreCondit hi link nasmMacro Macro hi link nasmHexNumber Number hi link nasmDecNumber Number hi link nasmOctNumber Number hi link nasmBinNumber Number hi link nasmPreProc PreProc endif let b:current_syntax = "nasm"