"
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
" F16c Instructions
syn keyword nasmF16CInstruction VCVTPH2PS VCVTPS2PH
" AVX Instructions
syn keyword nasmAVXInstruction VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ VCVTPD2P VCVTPD2PS
syn keyword nasmAVXInstruction VCVTPS2DQ VCVTPS2PD
syn keyword nasmAVXInstruction VCVTSD2SI VCVTSD2SS VCVTSI2SD VCVTSI2SS VCVTSS2SD VCVTSS2SI
syn keyword nasmAVXInstruction VMAXPS VMAXSS VMINPS VMINSS VMOVAPS VMOVHLPS VMOVHPS
syn keyword nasmAVXInstruction VMAXPD VMAXSD VMINPD VMINSD VMOVAPD VMOVHLPD VMOVHPD
syn keyword nasmAVXInstruction VMOVLHPS VMOVLPS VMOVMSKPS VMOVNTPS VMOVSS VMOVUPS
syn keyword nasmAVXInstruction VMULPS VMULSS VPXOR
syn match nasmInstructnError "\"
syn match nasmAVXInstruction "\"
syn keyword nasmAVXInstruction VORPS VPABSB VPABSD VPABSW
syn keyword nasmAVXInstruction PACKSSDW VPACKSSWB VPACKUSDW VPACKUSWB VPADDD
syn keyword nasmAVXInstruction PADDQ VPADDSB VPADDSW VPADDUSB VPADDUSW
syn keyword nasmAVXInstruction PADDW VPALIGNR VPAND VPANDN VPAVGB
syn keyword nasmAVXInstruction PAVGW VPBLENDD VPBLENDVB VPBLENDW VPBROADCASTB
syn keyword nasmAVXInstruction PBROADCASTD VPBROADCASTQ VPBROADCASTW VPCLMULQDQ VPCMOV
syn keyword nasmAVXInstruction PCMPEQB VPCMPEQD VPCMPEQQ VPCMPEQW VPCMPESTRI
syn keyword nasmAVXInstruction PCMPESTRM VPCMPGTB VPCMPGTD VPCMPGTQ VPCMPGTW
syn keyword nasmAVXInstruction PCMPISTRI VPCMPISTRM VPCOMB VPCOMD VPCOMQ
syn keyword nasmAVXInstruction PCOMUB VPCOMUD VPCOMUQ VPCOMUW VPCOMW
syn keyword nasmAVXInstruction PERM2FVPERM2IVPERMD VPERMIL2PD VPERMIL2PS VPERMILPD VPERMILPS
syn keyword nasmAVXInstruction PERMPD VPERMPS VPERMQ VPEXTRB VPEXTRD
syn keyword nasmAVXInstruction PEXTRQ VPEXTRW VPGATHERDD VPGATHERDQ VPGATHERQD
syn keyword nasmAVXInstruction PGATHERQQ VPHADDBD VPHADDBQ VPHADDBW VPHADDD
syn keyword nasmAVXInstruction PHADDDQ VPHADDSW VPHADDUBQ VPHADDUBW VPHADDUDQ
syn keyword nasmAVXInstruction PHADDUWD VPHADDUWQ VPHADDW VPHADDWD VPHADDWQ
syn keyword nasmAVXInstruction PHMINPOSUW VPHSUBBW VPHSUBD VPHSUBDQ VPHSUBSW
syn keyword nasmAVXInstruction PHSUBW VPHSUBWD VPINSRB VPINSRD VPINSRQ
syn keyword nasmAVXInstruction PINSRW VPMACSDD VPMACSDQH
syn keyword nasmAVXInstruction VPMACSDQL VPMACSSDD VPMACSSDQL VPMACSSQH VPMACSSWD
syn keyword nasmAVXInstruction VPMACSSWW VPMACSWD VPMACSWW VPMADCSSWD VPMADCSWD
syn keyword nasmAVXInstruction VPMADDUBSW VPMADDWD VPMASKMOVD VPMASKMOVQ VPMAXSB
syn keyword nasmAVXInstruction VPMAXSD VPMAXSW VPMAXUB VPMAXUD VPMAXUW
syn keyword nasmAVXInstruction VPMINSB VPMINSD VPMINSW VPMINUB VPMINUD
syn keyword nasmAVXInstruction VPMINUW VPMOVMSKB VPMOVSXBD VPMOVSXBQ VPMOVSXBW
syn keyword nasmAVXInstruction VPMOVSXDQ VPMOVSXWD VPMOVSXWQ VPMOVZXBD VPMOVZXBQ
syn keyword nasmAVXInstruction VPMOVZXBW VPMOVZXDQ VPMOVZXWD VPMOVZXWQ VPMULDQ
syn keyword nasmAVXInstruction VPMULHRSW VPMULHUW VPMULHW VPMULLD VPMULLW
syn keyword nasmAVXInstruction VPMULUDQ VPOR VPPERM VPROTB VPROTD
syn keyword nasmAVXInstruction VPROTQ VPROTW VPSADBW VPSHAB VPSHAD
syn keyword nasmAVXInstruction VPSHAQ VPSHAW VPSHLB VPSHLD VPSHLQ
syn keyword nasmAVXInstruction VPSHLW VPSHUFB VPSHUFD VPSHUFHW VPSHUFLW
syn keyword nasmAVXInstruction VPSIGNB VPSIGND VPSIGNW VPSLLD VPSLLDQ
syn keyword nasmAVXInstruction VPSLLQ VPSLLVD VPSLLVQ VPSLLW VPSRAD
syn keyword nasmAVXInstruction VPSRAVD VPSRAW VPSRLD VPSRLDQ VPSRLQ
syn keyword nasmAVXInstruction VPSRLVD VPSRLVQ VPSRLW VPSUBB VPSUBD
syn keyword nasmAVXInstruction VPSUBQ VPSUBSB VPSUBSW VPSUBUSB VPSUBUSW
syn keyword nasmAVXInstruction VPSUBW VPTEST VPUNPCKHBW VPUNPCKHDQ VPUNPCKHQDQ
syn keyword nasmAVXInstruction VPUNPCKHWD VPUNPCKLBW VPUNPCKLDQ VPUNPCKLQDQ VPUNPCKLWD
syn keyword nasmAVXInstruction VPXOR VRCPPS
" 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.
" Only when an item doesn't have highlighting yet
" Sub Links:
hi def link nasmInMacDirective nasmDirective
hi def link nasmInMacLabel nasmLocalLabel
hi def link nasmInMacLblWarn nasmLabelWarn
hi def link nasmInMacMacro nasmMacro
hi def link nasmInMacParam nasmMacro
hi def link nasmInMacParamNum nasmDecNumber
hi def link nasmInMacPreCondit nasmPreCondit
hi def link nasmInMacPreProc nasmPreProc
hi def link nasmInPreCondit nasmPreCondit
hi def link nasmInStructure nasmStructure
hi def link nasmStructureLabel nasmStructure
" Comment Group:
hi def link nasmComment Comment
hi def link nasmSpecialComment SpecialComment
hi def link nasmInCommentTodo Todo
" Constant Group:
hi def link nasmString String
hi def link nasmCString String
hi def link nasmStringError Error
hi def link nasmCStringEscape SpecialChar
hi def link nasmCStringFormat SpecialChar
hi def link nasmBinNumber Number
hi def link nasmOctNumber Number
hi def link nasmDecNumber Number
hi def link nasmHexNumber Number
hi def link nasmFltNumber Float
hi def link nasmNumberError Error
" Identifier Group:
hi def link nasmLabel Identifier
hi def link nasmLocalLabel Identifier
hi def link nasmSpecialLabel Special
hi def link nasmLabelError Error
hi def link nasmLabelWarn Todo
" PreProc Group:
hi def link nasmPreProc PreProc
hi def link nasmDefine Define
hi def link nasmInclude Include
hi def link nasmMacro Macro
hi def link nasmPreCondit PreCondit
hi def link nasmPreProcError Error
hi def link nasmPreProcWarn Todo
" Type Group:
hi def link nasmType Type
hi def link nasmStorage StorageClass
hi def link nasmStructure Structure
hi def link nasmTypeError Error
" Directive Group:
hi def link nasmConstant Constant
hi def link nasmInstrModifier Operator
hi def link nasmRepeat Repeat
hi def link nasmDirective Keyword
hi def link nasmStdDirective Operator
hi def link nasmFmtDirective Keyword
" Register Group:
hi def link nasmCtrlRegister Special
hi def link nasmDebugRegister Debug
hi def link nasmTestRegister Special
hi def link nasmRegisterError Error
hi def link nasmMemRefError Error
" Instruction Group:
hi def link nasmStdInstruction Statement
hi def link nasmSysInstruction Statement
hi def link nasmDbgInstruction Debug
hi def link nasmFpuInstruction Statement
hi def link nasmMmxInstruction Statement
hi def link nasmSseInstruction Statement
hi def link nasmF16cInstruction Statement
hi def link nasmAVXInstruction Statement
hi def link nasmNowInstruction Statement
hi def link nasmAmdInstruction Special
hi def link nasmCrxInstruction Special
hi def link nasmUndInstruction Todo
hi def link nasmInstructnError Error
let b:current_syntax = "nasm"
" vim:ts=8 sw=4