"
syn keyword nasmFpuInstruction F2XM1 FABS FADD[P] FBLD FBSTP
syn keyword nasmFpuInstruction FCHS FCLEX FCOM[IP] FCOMP[P] FCOS
syn keyword nasmFpuInstruction FDECSTP FDISI FDIV[P] FDIVR[P] FENI FFREE
syn keyword nasmFpuInstruction FIADD FICOM[P] FIDIV[R] FILD
syn keyword nasmFpuInstruction FIMUL FINCSTP FINIT FIST[P] FISUB[R]
syn keyword nasmFpuInstruction FLD[1] FLDCW FLDENV FLDL2E FLDL2T FLDLG2
syn keyword nasmFpuInstruction FLDLN2 FLDPI FLDZ FMUL[P]
syn keyword nasmFpuInstruction FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE
syn keyword nasmFpuInstruction FNSTCW FNSTENV FNSTSW FNSTSW
syn keyword nasmFpuInstruction FPATAN FPREM[1] FPTAN FRNDINT FRSTOR
syn keyword nasmFpuInstruction FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT
syn keyword nasmFpuInstruction FSTCW FSTENV FST[P] FSTSW FSUB[P] FSUBR[P]
syn keyword nasmFpuInstruction FTST FUCOM[IP] FUCOMP[P]
syn keyword nasmFpuInstruction FXAM FXCH FXTRACT FYL2X FYL2XP1
" Multi Media Xtension Packed Instructions: (requires MMX unit)
" Standard MMX instructions: (requires MMX1 unit)
syn match nasmInstructnError "\"
syn match nasmInstructnError "\"
syn keyword nasmMmxInstruction EMMS MOVD MOVQ
syn keyword nasmMmxInstruction PACKSSDW PACKSSWB PACKUSWB PADDB PADDD PADDW
syn keyword nasmMmxInstruction PADDSB PADDSW PADDUSB PADDUSW PAND[N]
syn keyword nasmMmxInstruction PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW
syn keyword nasmMmxInstruction PMACHRIW PMADDWD PMULHW PMULLW POR
syn keyword nasmMmxInstruction PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW
syn keyword nasmMmxInstruction PSUBB PSUBD PSUBW PSUBSB PSUBSW PSUBUSB PSUBUSW
syn keyword nasmMmxInstruction PUNPCKHBW PUNPCKHDQ PUNPCKHWD
syn keyword nasmMmxInstruction PUNPCKLBW PUNPCKLDQ PUNPCKLWD PXOR
" Extended MMX instructions: (requires MMX2/SSE unit)
syn keyword nasmMmxInstruction MASKMOVQ MOVNTQ
syn keyword nasmMmxInstruction PAVGB PAVGW PEXTRW PINSRW PMAXSW PMAXUB
syn keyword nasmMmxInstruction PMINSW PMINUB PMOVMSKB PMULHUW PSADBW PSHUFW
" Streaming SIMD Extension Packed Instructions: (requires SSE unit)
syn match nasmInstructnError "\"
syn match nasmSseInstruction "\"
syn keyword nasmSseInstruction ADDPS ADDSS ANDNPS ANDPS
syn keyword nasmSseInstruction COMISS CVTPI2PS CVTPS2PI
syn keyword nasmSseInstruction CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI
syn keyword nasmSseInstruction DIVPS DIVSS FXRSTOR FXSAVE LDMXCSR
syn keyword nasmSseInstruction MAXPS MAXSS MINPS MINSS MOVAPS MOVHLPS MOVHPS
syn keyword nasmSseInstruction MOVLHPS MOVLPS MOVMSKPS MOVNTPS MOVSS MOVUPS
syn keyword nasmSseInstruction MULPS MULSS
syn keyword nasmSseInstruction ORPS RCPPS RCPSS RSQRTPS RSQRTSS
syn keyword nasmSseInstruction SHUFPS SQRTPS SQRTSS STMXCSR SUBPS SUBSS
syn keyword nasmSseInstruction UCOMISS UNPCKHPS UNPCKLPS XORPS
" Three Dimensional Now Packed Instructions: (requires 3DNow! unit)
syn keyword nasmNowInstruction FEMMS PAVGUSB PF2ID PFACC PFADD PFCMPEQ PFCMPGE
syn keyword nasmNowInstruction PFCMPGT PFMAX PFMIN PFMUL PFRCP PFRCPIT1
syn keyword nasmNowInstruction PFRCPIT2 PFRSQIT1 PFRSQRT PFSUB[R] PI2FD
syn keyword nasmNowInstruction PMULHRWA PREFETCH[W]
" Vendor Specific Instructions:
" Cyrix instructions (requires Cyrix processor)
syn keyword nasmCrxInstruction PADDSIW PAVEB PDISTIB PMAGW PMULHRW[C] PMULHRIW
syn keyword nasmCrxInstruction PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW
syn keyword nasmCrxInstruction RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS
syn keyword nasmCrxInstruction WRSHR
" AMD instructions (requires AMD processor)
syn keyword nasmAmdInstruction SYSCALL SYSRET
" Undocumented Instructions:
syn match nasmUndInstruction "\"me=s+3
syn keyword nasmUndInstruction CMPXCHG486 IBTS ICEBP INT01 INT03 LOADALL
syn keyword nasmUndInstruction LOADALL286 LOADALL386 SALC SMI UD1 UMOV XBTS
" Synchronize Syntax:
syn sync clear
syn sync minlines=50 "for multiple region nesting
syn sync match nasmSync grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1
syn sync match nasmSync grouphere NONE "^\s*%endmacro\>"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later : only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_nasm_syntax_inits")
if version < 508
let did_nasm_syntax_inits = 1
command -nargs=+ HiLink hi link
else
command -nargs=+ HiLink hi def link
endif
" Sub Links:
HiLink nasmInMacDirective nasmDirective
HiLink nasmInMacLabel nasmLocalLabel
HiLink nasmInMacLblWarn nasmLabelWarn
HiLink nasmInMacMacro nasmMacro
HiLink nasmInMacParam nasmMacro
HiLink nasmInMacParamNum nasmDecNumber
HiLink nasmInMacPreCondit nasmPreCondit
HiLink nasmInMacPreProc nasmPreProc
HiLink nasmInPreCondit nasmPreCondit
HiLink nasmInStructure nasmStructure
HiLink nasmStructureLabel nasmStructure
" Comment Group:
HiLink nasmComment Comment
HiLink nasmSpecialComment SpecialComment
HiLink nasmInCommentTodo Todo
" Constant Group:
HiLink nasmString String
HiLink nasmStringError Error
HiLink nasmBinNumber Number
HiLink nasmOctNumber Number
HiLink nasmDecNumber Number
HiLink nasmHexNumber Number
HiLink nasmFltNumber Float
HiLink nasmNumberError Error
" Identifier Group:
HiLink nasmLabel Identifier
HiLink nasmLocalLabel Identifier
HiLink nasmSpecialLabel Special
HiLink nasmLabelError Error
HiLink nasmLabelWarn Todo
" PreProc Group:
HiLink nasmPreProc PreProc
HiLink nasmDefine Define
HiLink nasmInclude Include
HiLink nasmMacro Macro
HiLink nasmPreCondit PreCondit
HiLink nasmPreProcError Error
HiLink nasmPreProcWarn Todo
" Type Group:
HiLink nasmType Type
HiLink nasmStorage StorageClass
HiLink nasmStructure Structure
HiLink nasmTypeError Error
" Directive Group:
HiLink nasmConstant Constant
HiLink nasmInstrModifier Operator
HiLink nasmRepeat Repeat
HiLink nasmDirective Keyword
HiLink nasmStdDirective Operator
HiLink nasmFmtDirective Keyword
" Register Group:
HiLink nasmCtrlRegister Special
HiLink nasmDebugRegister Debug
HiLink nasmTestRegister Special
HiLink nasmRegisterError Error
HiLink nasmMemRefError Error
" Instruction Group:
HiLink nasmStdInstruction Statement
HiLink nasmSysInstruction Statement
HiLink nasmDbgInstruction Debug
HiLink nasmFpuInstruction Statement
HiLink nasmMmxInstruction Statement
HiLink nasmSseInstruction Statement
HiLink nasmNowInstruction Statement
HiLink nasmAmdInstruction Special
HiLink nasmCrxInstruction Special
HiLink nasmUndInstruction Todo
HiLink nasmInstructnError Error
delcommand HiLink
endif
let b:current_syntax = "nasm"
" vim:ts=8 sw=4