Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
masm.vim561 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:	Microsoft Macro Assembler (80x86)3" Orig Author:	Rob Brady <robb@datatone.com>4" Maintainer:	Wu Yongwei <wuyongwei@gmail.com>5" Last Change:	2023-12-20 10:20:04 +08006 7" Quit when a syntax file was already loaded8if exists("b:current_syntax")9  finish10endif11 12let s:cpo_save = &cpo13set cpo&vim14 15syn iskeyword @,48-57,_,36,60,62,63,@-@16 17syn case ignore18 19 20syn match masmIdentifier	"[@a-z_$?][@a-z0-9_$?<>]*"21syn match masmLabel		"^\s*[@a-z_$?][@a-z0-9_$?]*:"he=e-122 23syn match masmDecimal		"[-+]\?\d\+[dt]\?"24syn match masmBinary		"[-+]\?[0-1]\+[by]"  "put this before hex or 0bfh dies!25syn match masmOctal		"[-+]\?[0-7]\+[oq]"26syn match masmHexadecimal	"[-+]\?[0-9]\x*h"27syn match masmFloatRaw		"[-+]\?[0-9]\x*r"28syn match masmFloat		"[-+]\?\d\+\.\(\d*\(E[-+]\?\d\+\)\?\)\?"29 30syn match masmComment		";.*" contains=@Spell31syn region masmComment		start=+COMMENT\s*\z(\S\)+ end=+\z1.*+ contains=@Spell32syn region masmString		start=+'+ end=+'+ oneline contains=@Spell33syn region masmString		start=+"+ end=+"+ oneline contains=@Spell34 35syn region masmTitleArea	start=+\<TITLE\s+lc=5 start=+\<SUBTITLE\s+lc=8 start=+\<SUBTTL\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmTitle36syn region masmTextArea		start=+\<NAME\s+lc=4 start=+\<INCLUDE\s+lc=7 start=+\<INCLUDELIB\s+lc=10 end=+$+ end=+;+me=e-1 contains=masmText37syn match masmTitle		"[^\t ;]\([^;]*[^\t ;]\)\?" contained contains=@Spell38syn match masmText		"[^\t ;]\([^;]*[^\t ;]\)\?" contained39 40syn region masmOptionOpt	start=+\<OPTION\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmOption41syn region masmContextOpt	start=+\<PUSHCONTEXT\s+lc=11 start=+\<POPCONTEXT\s+lc=10 end=+$+ end=+;+me=e-1 contains=masmOption42syn region masmModelOpt		start=+\.MODEL\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmOption,masmType43syn region masmSegmentOpt	start=+\<SEGMENT\s+lc=7 end=+$+ end=+;+me=e-1 contains=masmOption,masmString44syn region masmProcOpt		start=+\<PROC\s+lc=4 end=+$+ end=+;+me=e-1 contains=masmOption,masmType,masmRegister,masmIdentifier45syn region masmAssumeOpt	start=+\<ASSUME\s+lc=6 end=+$+ end=+;+me=e-1 contains=masmOption,masmOperator,masmType,masmRegister,masmIdentifier46syn 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,masmString47 48syn keyword masmOption		TINY SMALL COMPACT MEDIUM LARGE HUGE contained49syn keyword masmOption		NEARSTACK FARSTACK contained50syn keyword masmOption		PUBLIC PRIVATE STACK COMMON MEMORY AT contained51syn keyword masmOption		BYTE WORD DWORD PARA PAGE contained52syn keyword masmOption		USE16 USE32 FLAT contained53syn keyword masmOption		INFO READ WRITE EXECUTE SHARED contained54syn keyword masmOption		NOPAGE NOCACHE DISCARD contained55syn keyword masmOption		READONLY USES FRAME contained56syn keyword masmOption		CASEMAP DOTNAME NODOTNAME EMULATOR contained57syn keyword masmOption		NOEMULATOR EPILOGUE EXPR16 EXPR32 contained58syn keyword masmOption		LANGUAGE LJMP NOLJMP M510 NOM510 contained59syn keyword masmOption		NOKEYWORD NOSIGNEXTEND OFFSET contained60syn keyword masmOption		OLDMACROS NOOLDMACROS OLDSTRUCTS contained61syn keyword masmOption		NOOLDSTRUCTS PROC PROLOGUE READONLY contained62syn keyword masmOption		NOREADONLY SCOPED NOSCOPED SEGMENT contained63syn keyword masmOption		SETIF2 contained64syn keyword masmOption		ABS ALL ASSUMES CPU ERROR EXPORT contained65syn keyword masmOption		FORCEFRAME LISTING LOADDS NONE contained66syn keyword masmOption		NONUNIQUE NOTHING OS_DOS RADIX REQ contained67syn keyword masmType		STDCALL SYSCALL C BASIC FORTRAN PASCAL68syn keyword masmType		PTR NEAR FAR NEAR16 FAR16 NEAR32 FAR3269syn keyword masmType		REAL4 REAL8 REAL10 BYTE SBYTE TBYTE70syn keyword masmType		WORD DWORD QWORD FWORD SWORD SDWORD71syn keyword masmType		SQWORD OWORD MMWORD XMMWORD YMMWORD72syn keyword masmOperator	AND NOT OR SHL SHR XOR MOD DUP73syn keyword masmOperator	EQ GE GT LE LT NE74syn keyword masmOperator	LROFFSET SEG LENGTH LENGTHOF SIZE SIZEOF75syn keyword masmOperator	CODEPTR DATAPTR FAR NEAR SHORT THIS TYPE76syn keyword masmOperator	HIGH HIGHWORD LOW LOWWORD OPATTR MASK WIDTH77syn match   masmOperator	"OFFSET\(\sFLAT:\)\?"78syn match   masmOperator	".TYPE\>"79syn match   masmOperator	"CARRY?"80syn match   masmOperator	"OVERFLOW?"81syn match   masmOperator	"PARITY?"82syn match   masmOperator	"SIGN?"83syn match   masmOperator	"ZERO?"84syn keyword masmDirective	ALIAS ASSUME CATSTR COMM DB DD DF DOSSEG DQ DT85syn keyword masmDirective	DW ECHO ELSE ELSEIF ELSEIF1 ELSEIF2 ELSEIFB86syn keyword masmDirective	ELSEIFDEF ELSEIFDIF ELSEIFDIFI ELSEIFE87syn keyword masmDirective	ELSEIFIDN ELSEIFIDNI ELSEIFNB ELSEIFNDEF END88syn keyword masmDirective	ENDIF ENDM ENDP ENDS EQU EVEN EXITM EXTERN89syn keyword masmDirective	EXTERNDEF EXTRN FOR FORC GOTO GROUP IF IF1 IF290syn keyword masmDirective	IFB IFDEF IFDIF IFDIFI IFE IFIDN IFIDNI IFNB91syn keyword masmDirective	IFNDEF INCLUDE INCLUDELIB INSTR INVOKE IRP92syn keyword masmDirective	IRPC LABEL LOCAL MACRO NAME OPTION ORG PAGE93syn keyword masmDirective	POPCONTEXT PROC PROTO PUBLIC PURGE PUSHCONTEXT94syn keyword masmDirective	RECORD REPEAT REPT SEGMENT SIZESTR STRUC95syn keyword masmDirective	STRUCT SUBSTR SUBTITLE SUBTTL TEXTEQU TITLE96syn keyword masmDirective	TYPEDEF UNION WHILE97syn match   masmDirective	"\.8086\>"98syn match   masmDirective	"\.8087\>"99syn match   masmDirective	"\.NO87\>"100syn match   masmDirective	"\.186\>"101syn match   masmDirective	"\.286\>"102syn match   masmDirective	"\.286C\>"103syn match   masmDirective	"\.286P\>"104syn match   masmDirective	"\.287\>"105syn match   masmDirective	"\.386\>"106syn match   masmDirective	"\.386C\>"107syn match   masmDirective	"\.386P\>"108syn match   masmDirective	"\.387\>"109syn match   masmDirective	"\.486\>"110syn match   masmDirective	"\.486P\>"111syn match   masmDirective	"\.586\>"112syn match   masmDirective	"\.586P\>"113syn match   masmDirective	"\.686\>"114syn match   masmDirective	"\.686P\>"115syn match   masmDirective	"\.K3D\>"116syn match   masmDirective	"\.MMX\>"117syn match   masmDirective	"\.XMM\>"118syn match   masmDirective	"\.ALPHA\>"119syn match   masmDirective	"\.DOSSEG\>"120syn match   masmDirective	"\.SEQ\>"121syn match   masmDirective	"\.CODE\>"122syn match   masmDirective	"\.CONST\>"123syn match   masmDirective	"\.DATA\>"124syn match   masmDirective	"\.DATA?"125syn match   masmDirective	"\.EXIT\>"126syn match   masmDirective	"\.FARDATA\>"127syn match   masmDirective	"\.FARDATA?"128syn match   masmDirective	"\.MODEL\>"129syn match   masmDirective	"\.STACK\>"130syn match   masmDirective	"\.STARTUP\>"131syn match   masmDirective	"\.IF\>"132syn match   masmDirective	"\.ELSE\>"133syn match   masmDirective	"\.ELSEIF\>"134syn match   masmDirective	"\.ENDIF\>"135syn match   masmDirective	"\.REPEAT\>"136syn match   masmDirective	"\.UNTIL\>"137syn match   masmDirective	"\.UNTILCXZ\>"138syn match   masmDirective	"\.WHILE\>"139syn match   masmDirective	"\.ENDW\>"140syn match   masmDirective	"\.BREAK\>"141syn match   masmDirective	"\.CONTINUE\>"142syn match   masmDirective	"\.ERR\>"143syn match   masmDirective	"\.ERR1\>"144syn match   masmDirective	"\.ERR2\>"145syn match   masmDirective	"\.ERRB\>"146syn match   masmDirective	"\.ERRDEF\>"147syn match   masmDirective	"\.ERRDIF\>"148syn match   masmDirective	"\.ERRDIFI\>"149syn match   masmDirective	"\.ERRE\>"150syn match   masmDirective	"\.ERRIDN\>"151syn match   masmDirective	"\.ERRIDNI\>"152syn match   masmDirective	"\.ERRNB\>"153syn match   masmDirective	"\.ERRNDEF\>"154syn match   masmDirective	"\.ERRNZ\>"155syn match   masmDirective	"\.LALL\>"156syn match   masmDirective	"\.SALL\>"157syn match   masmDirective	"\.XALL\>"158syn match   masmDirective	"\.LFCOND\>"159syn match   masmDirective	"\.SFCOND\>"160syn match   masmDirective	"\.TFCOND\>"161syn match   masmDirective	"\.CREF\>"162syn match   masmDirective	"\.NOCREF\>"163syn match   masmDirective	"\.XCREF\>"164syn match   masmDirective	"\.LIST\>"165syn match   masmDirective	"\.NOLIST\>"166syn match   masmDirective	"\.XLIST\>"167syn match   masmDirective	"\.LISTALL\>"168syn match   masmDirective	"\.LISTIF\>"169syn match   masmDirective	"\.NOLISTIF\>"170syn match   masmDirective	"\.LISTMACRO\>"171syn match   masmDirective	"\.NOLISTMACRO\>"172syn match   masmDirective	"\.LISTMACROALL\>"173syn match   masmDirective	"\.FPO\>"174syn match   masmDirective	"\.RADIX\>"175syn match   masmDirective	"\.SAFESEH\>"176syn match   masmDirective	"%OUT\>"177syn match   masmDirective	"ALIGN\>"178syn match   masmOption		"ALIGN([0-9]\+)"179 180syn keyword masmRegister	AX BX CX DX SI DI BP SP181syn keyword masmRegister	CS DS SS ES FS GS182syn keyword masmRegister	AH BH CH DH AL BL CL DL183syn keyword masmRegister	EAX EBX ECX EDX ESI EDI EBP ESP184syn keyword masmRegister	CR0 CR2 CR3 CR4185syn keyword masmRegister	DR0 DR1 DR2 DR3 DR6 DR7186syn keyword masmRegister	TR3 TR4 TR5 TR6 TR7187syn match   masmRegister	"ST([0-7])"188 189" x86-64 registers190syn keyword masmRegister	RAX RBX RCX RDX RSI RDI RBP RSP191syn keyword masmRegister	R8 R9 R10 R11 R12 R13 R14 R15192syn keyword masmRegister	R8D R9D R10D R11D R12D R13D R14D R15D193syn keyword masmRegister	R8W R9W R10W R11W R12W R13W R14W R15W194syn keyword masmRegister	R8B R9B R10B R11B R12B R13B R14B R15B195 196" SSE/AVX registers197syn match   masmRegister	"\(X\|Y\|Z\)MM[12]\?[0-9]\>"198syn match   masmRegister	"\(X\|Y\|Z\)MM3[01]\>"199 200" Instruction prefixes201syn keyword masmOpcode		LOCK REP REPE REPNE REPNZ REPZ202 203" 8086/8088 opcodes204syn keyword masmOpcode		AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD205syn keyword masmOpcode		CLI CMC CMP CMPS CMPSB CMPSW CWD DAA DAS DEC206syn keyword masmOpcode		DIV ESC HLT IDIV IMUL IN INC INT INTO IRET207syn keyword masmOpcode		JCXZ JMP LAHF LDS LEA LES LODS LODSB LODSW208syn keyword masmOpcode		LOOP LOOPE LOOPEW LOOPNE LOOPNEW LOOPNZ209syn keyword masmOpcode		LOOPNZW LOOPW LOOPZ LOOPZW MOV MOVS MOVSB210syn keyword masmOpcode		MOVSW MUL NEG NOP NOT OR OUT POP POPF PUSH211syn keyword masmOpcode		PUSHF RCL RCR RET RETF RETN ROL ROR SAHF SAL212syn keyword masmOpcode		SAR SBB SCAS SCASB SCASW SHL SHR STC STD STI213syn keyword masmOpcode		STOS STOSB STOSW SUB TEST WAIT XCHG XLAT XLATB214syn keyword masmOpcode		XOR215syn match   masmOpcode	      "J\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"216 217" 80186 opcodes218syn keyword masmOpcode		BOUND ENTER INS INSB INSW LEAVE OUTS OUTSB219syn keyword masmOpcode		OUTSW POPA PUSHA PUSHW220 221" 80286 opcodes222syn keyword masmOpcode		ARPL LAR LSL SGDT SIDT SLDT SMSW STR VERR VERW223 224" 80286/80386 privileged opcodes225syn keyword masmOpcode		CLTS LGDT LIDT LLDT LMSW LTR226 227" 80386 opcodes228syn keyword masmOpcode		BSF BSR BT BTC BTR BTS CDQ CMPSD CWDE INSD229syn keyword masmOpcode		IRETD IRETDF IRETF JECXZ LFS LGS LODSD LOOPD230syn keyword masmOpcode		LOOPED LOOPNED LOOPNZD LOOPZD LSS MOVSD MOVSX231syn keyword masmOpcode		MOVZX OUTSD POPAD POPFD PUSHAD PUSHD PUSHFD232syn keyword masmOpcode		SCASD SHLD SHRD STOSD233syn match   masmOpcode	    "SET\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"234 235" 80486 opcodes236syn keyword masmOpcode		BSWAP CMPXCHG INVD INVLPG WBINVD XADD237 238" Floating-point opcodes as of 487239syn keyword masmOpFloat		F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEX240syn keyword masmOpFloat		FNCLEX FCOM FCOMP FCOMPP FCOS FDECSTP FDISI241syn keyword masmOpFloat		FNDISI FDIV FDIVP FDIVR FDIVRP FENI FNENI242syn keyword masmOpFloat		FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILD243syn keyword masmOpFloat		FIMUL FINCSTP FINIT FNINIT FIST FISTP FISUB244syn keyword masmOpFloat		FISUBR FLD FLDCW FLDENV FLDLG2 FLDLN2 FLDL2E245syn keyword masmOpFloat		FLDL2T FLDPI FLDZ FLD1 FMUL FMULP FNOP FPATAN246syn keyword masmOpFloat		FPREM FPREM1 FPTAN FRNDINT FRSTOR FSAVE FNSAVE247syn keyword masmOpFloat		FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW248syn keyword masmOpFloat		FNSTCW FSTENV FNSTENV FSTP FSTSW FNSTSW FSUB249syn keyword masmOpFloat		FSUBP FSUBR FSUBRP FTST FUCOM FUCOMP FUCOMPP250syn keyword masmOpFloat		FWAIT FXAM FXCH FXTRACT FYL2X FYL2XP1251 252" Floating-point opcodes in Pentium and later processors253syn keyword masmOpFloat		FCMOVE FCMOVNE FCMOVB FCMOVBE FCMOVNB FCMOVNBE254syn keyword masmOpFloat		FCMOVU FCMOVNU FCOMI FUCOMI FCOMIP FUCOMIP255syn keyword masmOpFloat		FXSAVE FXRSTOR256 257" MMX opcodes (Pentium w/ MMX, Pentium II, and later)258syn keyword masmOpcode		MOVD MOVQ PACKSSWB PACKSSDW PACKUSWB259syn keyword masmOpcode		PUNPCKHBW PUNPCKHWD PUNPCKHDQ260syn keyword masmOpcode		PUNPCKLBW PUNPCKLWD PUNPCKLDQ261syn keyword masmOpcode		PADDB PADDW PADDD PADDSB PADDSW PADDUSB PADDUSW262syn keyword masmOpcode		PSUBB PSUBW PSUBD PSUBSB PSUBSW PSUBUSB PSUBUSW263syn keyword masmOpcode		PMULHW PMULLW PMADDWD264syn keyword masmOpcode		PCMPEQB PCMPEQW PCMPEQD PCMPGTB PCMPGTW PCMPGTD265syn keyword masmOpcode		PAND PANDN POR PXOR266syn keyword masmOpcode		PSLLW PSLLD PSLLQ PSRLW PSRLD PSRLQ PSRAW PSRAD267syn keyword masmOpcode		EMMS268 269" SSE opcodes (Pentium III and later)270syn keyword masmOpcode		MOVAPS MOVUPS MOVHPS MOVHLPS MOVLPS MOVLHPS271syn keyword masmOpcode		MOVMSKPS MOVSS272syn keyword masmOpcode		ADDPS ADDSS SUBPS SUBSS MULPS MULSS DIVPS DIVSS273syn keyword masmOpcode		RCPPS RCPSS SQRTPS SQRTSS RSQRTPS RSQRTSS274syn keyword masmOpcode		MAXPS MAXSS MINPS MINSS275syn keyword masmOpcode		CMPPS CMPSS COMISS UCOMISS276syn keyword masmOpcode		ANDPS ANDNPS ORPS XORPS277syn keyword masmOpcode		SHUFPS UNPCKHPS UNPCKLPS278syn keyword masmOpcode		CVTPI2PS CVTSI2SS CVTPS2PI CVTTPS2PI279syn keyword masmOpcode		CVTSS2SI CVTTSS2SI280syn keyword masmOpcode		LDMXCSR STMXCSR281syn keyword masmOpcode		PAVGB PAVGW PEXTRW PINSRW PMAXUB PMAXSW282syn keyword masmOpcode		PMINUB PMINSW PMOVMSKB PMULHUW PSADBW PSHUFW283syn keyword masmOpcode		MASKMOVQ MOVNTQ MOVNTPS SFENCE284syn keyword masmOpcode		PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHNTA285 286" SSE2 opcodes (Pentium 4 and later)287syn keyword masmOpcode		MOVAPD MOVUPD MOVHPD MOVLPD MOVMSKPD MOVSD288syn keyword masmOpcode		ADDPD ADDSD SUBPD SUBSD MULPD MULSD DIVPD DIVSD289syn keyword masmOpcode		SQRTPD SQRTSD MAXPD MAXSD MINPD MINSD290syn keyword masmOpcode		ANDPD ANDNPD ORPD XORPD291syn keyword masmOpcode		CMPPD CMPSD COMISD UCOMISD292syn keyword masmOpcode		SHUFPD UNPCKHPD UNPCKLPD293syn keyword masmOpcode		CVTPD2PI CVTTPD2PI CVTPI2PD CVTPD2DQ294syn keyword masmOpcode		CVTTPD2DQ CVTDQ2PD CVTPS2PD CVTPD2PS295syn keyword masmOpcode		CVTSS2SD CVTSD2SS CVTSD2SI CVTTSD2SI CVTSI2SD296syn keyword masmOpcode		CVTDQ2PS CVTPS2DQ CVTTPS2DQ297syn keyword masmOpcode		MOVDQA MOVDQU MOVQ2DQ MOVDQ2Q PMULUDQ298syn keyword masmOpcode		PADDQ PSUBQ PSHUFLW PSHUFHW PSHUFD299syn keyword masmOpcode		PSLLDQ PSRLDQ PUNPCKHQDQ PUNPCKLQDQ300syn keyword masmOpcode		CLFLUSH LFENCE MFENCE PAUSE MASKMOVDQU301syn keyword masmOpcode		MOVNTPD MOVNTDQ MOVNTI302 303" SSE3 opcodes (Pentium 4 w/ Hyper-Threading and later)304syn keyword masmOpcode		FISTTP LDDQU ADDSUBPS ADDSUBPD305syn keyword masmOpcode		HADDPS HSUBPS HADDPD HSUBPD306syn keyword masmOpcode		MOVSHDUP MOVSLDUP MOVDDUP MONITOR MWAIT307 308" SSSE3 opcodes (Core and later)309syn keyword masmOpcode		PSIGNB PSIGNW PSIGND PABSB PABSW PABSD310syn keyword masmOpcode		PALIGNR PSHUFB PMULHRSW PMADDUBSW311syn keyword masmOpcode		PHSUBW PHSUBD PHSUBSW PHADDW PHADDD PHADDSW312 313" SSE 4.1 opcodes (Penryn and later)314syn keyword masmOpcode		MPSADBW PHMINPOSUW PMULDQ PMULLD DPPS DPPD315syn keyword masmOpcode		BLENDPS BLENDPD BLENDVPS BLENDVPD316syn keyword masmOpcode		PBLENDVB PBLENDW317syn keyword masmOpcode		PMINSB PMAXSB PMINSD PMAXSD318syn keyword masmOpcode		PMINUW PMAXUW PMINUD PMAXUD319syn keyword masmOpcode		ROUNDPS ROUNDSS ROUNDPD ROUNDSD320syn keyword masmOpcode		INSERTPS PINSRB PINSRD PINSRQ321syn keyword masmOpcode		EXTRACTPS PEXTRB PEXTRD PEXTRQ322syn keyword masmOpcode		PMOVSXBW PMOVZXBW PMOVSXBD PMOVZXBD323syn keyword masmOpcode		PMOVSXBQ PMOVZXBQ PMOVSXWD PMOVZXWD324syn keyword masmOpcode		PMOVSXWQ PMOVZXWQ PMOVSXDQ PMOVZXDQ325syn keyword masmOpcode		PTEST PCMPEQQ PACKUSDW MOVNTDQA326 327" SSE 4.2 opcodes (Nehalem and later)328syn keyword masmOpcode		PCMPESTRI PCMPESTRM PCMPISTRI PCMPISTRM PCMPGTQ329syn keyword masmOpcode		CRC32 POPCNT LZCNT330 331" AES-NI (Westmere (2010) and later)332syn keyword masmOpcode		AESENC AESENCLAST AESDEC AESDECLAST333syn keyword masmOpcode		AESKEYGENASSIST AESIMC PCLMULQDQ334 335" AVX (Sandy Bridge (2011) and later)336syn keyword masmOpcode		VBROADCASTSS VBROADCASTSD VBROADCASTF128337syn keyword masmOpcode		VINSERTF128 VEXTRACTF128 VMASKMOVPS VMASKMOVPD338syn keyword masmOpcode		VPERMILPS VPERMILPD VPERM2F128339syn keyword masmOpcode		VZEROALL VZEROUPPER340 341" AVX-2 (Haswell and later)342syn keyword masmOpcode		VPBROADCASTB VPBROADCASTW VPBROADCASTD343syn keyword masmOpcode		VPBROADCASTQ VBROADCASTI128344syn keyword masmOpcode		VINSERTI128 VEXTRACTI128345syn keyword masmOpcode		VGATHERDPD VGATHERQPD VGATHERDPS VGATHERQPS346syn keyword masmOpcode		VPGATHERDD VPGATHERDQ VPGATHERQD VPGATHERQQ347syn keyword masmOpcode		VPMASKMOVD VPMASKMOVQ348syn keyword masmOpcode		PERMPS VPERMD VPERMPD VPERMQ VPERM2I128349syn keyword masmOpcode		VPBLENDD VPSLLVD VPSLLVQ VPSRLVD VPSRLVQ350syn keyword masmOpcode		VPSRAVD351 352" AVX-512 (Knights Landing/Skylake-X and later)353syn keyword masmOpcode		KAND KANDN KMOV KUNPCK KNOT KOR KORTEST354syn keyword masmOpcode		KSHIFTL KSHIFTR KXNOR KXOR KADD KTEST355syn keyword masmOpcode		VBLENDMPD VBLENDMPS356syn keyword masmOpcode		VPBLENDMD VPBLENDMQ VPBLENDMB VPBLENDMW357syn keyword masmOpcode		VPCMPD VPCMPUD VPCMPQ VPCMPUQ358syn keyword masmOpcode		VPCMPB VPCMPUB VPCMPW VPCMPUW359syn keyword masmOpcode		VPTESTMD VPTESTMQ VPTESTNMD VPTESTNMQ360syn keyword masmOpcode		VPTESTMB VPTESTMW VPTESTNMB VPTESTNMW361syn keyword masmOpcode		VCOMPRESSPD VCOMPRESSPS VPCOMPRESSD VPCOMPRESSQ362syn keyword masmOpcode		VEXPANDPD VEXPANDPS VPEXPANDD VPEXPANDQ363syn keyword masmOpcode		VPERMB VPERMW VPERMT2B VPERMT2W VPERMI2PD364syn keyword masmOpcode		VPERMI2PS VPERMI2D VPERMI2Q VPERMI2B VPERMI2W365syn keyword masmOpcode		VPERMT2PS VPERMT2PD VPERMT2D VPERMT2Q366syn keyword masmOpcode		VSHUFF32x4 VSHUFF64x2 VSHUFI32x4 VSHUFI64x2367syn keyword masmOpcode		VPMULTISHIFTQB VPTERNLOGD VPTERNLOGQ368syn keyword masmOpcode		VPMOVQD VPMOVSQD VPMOVUSQD VPMOVQW VPMOVSQW369syn keyword masmOpcode		VPMOVUSQW VPMOVQB VPMOVSQB VPMOVUSQB VPMOVDW370syn keyword masmOpcode		VPMOVSDW VPMOVUSDW VPMOVDB VPMOVSDB VPMOVUSDB371syn keyword masmOpcode		VPMOVWB VPMOVSWB VPMOVUSWB372syn keyword masmOpcode		VCVTPS2UDQ VCVTPD2UDQ VCVTTPS2UDQ VCVTTPD2UDQ373syn keyword masmOpcode		VCVTSS2USI VCVTSD2USI VCVTTSS2USI VCVTTSD2USI374syn keyword masmOpcode		VCVTPS2QQ VCVTPD2QQ VCVTPS2UQQ VCVTPD2UQQ375syn keyword masmOpcode		VCVTTPS2QQ VCVTTPD2QQ VCVTTPS2UQQ VCVTTPD2UQQ376syn keyword masmOpcode		VCVTUDQ2PS VCVTUDQ2PD VCVTUSI2PS VCVTUSI2PD377syn keyword masmOpcode		VCVTUSI2SD VCVTUSI2SS VCVTUQQ2PS VCVTUQQ2PD378syn keyword masmOpcode		VCVTQQ2PD VCVTQQ2PS VGETEXPPD379syn keyword masmOpcode		VGETEXPPS VGETEXPSD VGETEXPSS380syn keyword masmOpcode		VGETMANTPD VGETMANTPS VGETMANTSD VGETMANTSS381syn keyword masmOpcode		VFIXUPIMMPD VFIXUPIMMPS VFIXUPIMMSD VFIXUPIMMSS382syn keyword masmOpcode		VRCP14PD VRCP14PS VRCP14SD VRCP14SS383syn keyword masmOpcode		VRNDSCALEPS VRNDSCALEPD VRNDSCALESS VRNDSCALESD384syn keyword masmOpcode		VRSQRT14PD VRSQRT14PS VRSQRT14SD VRSQRT14SS385syn keyword masmOpcode		VSCALEFPS VSCALEFPD VSCALEFSS VSCALEFSD386syn keyword masmOpcode		VBROADCASTI32X2 VBROADCASTI32X4 VBROADCASTI32X8387syn keyword masmOpcode		VBROADCASTI64X2 VBROADCASTI64X4388syn keyword masmOpcode		VALIGND VALIGNQ VDBPSADBW VPABSQ VPMAXSQ389syn keyword masmOpcode		VPMAXUQ VPMINSQ VPMINUQ VPROLD VPROLVD VPROLQ390syn keyword masmOpcode		VPROLVQ VPRORD VPRORVD VPRORQ VPRORVQ391syn keyword masmOpcode		VPSCATTERDD VPSCATTERDQ VPSCATTERQD VPSCATTERQQ392syn keyword masmOpcode		VSCATTERDPS VSCATTERDPD VSCATTERQPS VSCATTERQPD393syn keyword masmOpcode		VPCONFLICTD VPCONFLICTQ VPLZCNTD VPLZCNTQ394syn keyword masmOpcode		VPBROADCASTMB2Q VPBROADCASTMW2D395syn keyword masmOpcode		VEXP2PD VEXP2PS396syn keyword masmOpcode		VRCP28PD VRCP28PS VRCP28SD VRCP28SS397syn keyword masmOpcode		VRSQRT28PD VRSQRT28PS VRSQRT28SD VRSQRT28SS398syn keyword masmOpcode		VGATHERPF0DPS VGATHERPF0QPS VGATHERPF0DPD399syn keyword masmOpcode		VGATHERPF0QPD VGATHERPF1DPS VGATHERPF1QPS400syn keyword masmOpcode		VGATHERPF1DPD VGATHERPF1QPD VSCATTERPF0DPS401syn keyword masmOpcode		VSCATTERPF0QPS VSCATTERPF0DPD VSCATTERPF0QPD402syn keyword masmOpcode		VSCATTERPF1DPS VSCATTERPF1QPS VSCATTERPF1DPD403syn keyword masmOpcode		VSCATTERPF1QPD404syn keyword masmOpcode		V4FMADDPS V4FMADDSS V4FNMADDPS V4FNMADDSS405syn keyword masmOpcode		VP4DPWSSD VP4DPWSSDS406syn keyword masmOpcode		VFPCLASSPS VFPCLASSPD VFPCLASSSS VFPCLASSSD407syn keyword masmOpcode		VRANGEPS VRANGEPD VRANGESS VRANGESD408syn keyword masmOpcode		VREDUCEPS VREDUCEPD VREDUCESS VREDUCESD409syn keyword masmOpcode		VPMOVM2D VPMOVM2Q VPMOVM2B VPMOVM2W VPMOVD2M410syn keyword masmOpcode		VPMOVQ2M VPMOVB2M VPMOVW2M VPMULLQ411syn keyword masmOpcode		VPCOMPRESSB VPCOMPRESSW VPEXPANDB VPEXPANDW412syn keyword masmOpcode		VPSHLD VPSHLDV VPSHRD VPSHRDV413syn keyword masmOpcode		VPDPBUSD VPDPBUSDS VPDPWSSD VPDPWSSDS414syn keyword masmOpcode		VPMADD52LUQ VPMADD52HUQ415syn keyword masmOpcode		VPOPCNTD VPOPCNTQ VPOPCNTB VPOPCNTW416syn keyword masmOpcode		VPSHUFBITQMB VP2INTERSECTD VP2INTERSECTQ417syn keyword masmOpcode		VGF2P8AFFINEINVQB VGF2P8AFFINEQB418syn keyword masmOpcode		VGF2P8MULB VPCLMULQDQ419syn keyword masmOpcode		VAESDEC VAESDECLAST VAESENC VAESENCLAST420syn keyword masmOpcode		VCVTNE2PS2BF16 VCVTNEPS2BF16 VDPBF16PS421syn keyword masmOpcode		VADDPH VADDSH VSUBPH VSUBSH VMULPH VMULSH422syn keyword masmOpcode		VDIVPH VDIVSH VSQRTPH VSQRTSH423syn keyword masmOpcode		VFMADD132PH VFMADD213PH VFMADD231PH424syn keyword masmOpcode		VFMADD132SH VFMADD213SH VFMADD231SH425syn keyword masmOpcode		VFNMADD132PH VFNMADD213PH VFNMADD231PH426syn keyword masmOpcode		VFNMADD132SH VFNMADD213SH VFNMADD231SH427syn keyword masmOpcode		VFMSUB132PH VFMSUB213PH VFMSUB231PH428syn keyword masmOpcode		VFMSUB132SH VFMSUB213SH VFMSUB231SH429syn keyword masmOpcode		VFNMSUB132PH VFNMSUB213PH VFNMSUB231PH430syn keyword masmOpcode		VFNMSUB132SH VFNMSUB213SH VFNMSUB231SH431syn keyword masmOpcode		VFMADDSUB132PH VFMADDSUB213PH VFMADDSUB231PH432syn keyword masmOpcode		VFMSUBADD132PH VFMSUBADD213PH VFMSUBADD231PH433syn keyword masmOpcode		VREDUCEPH VREDUCESH VRNDSCALEPH VRNDSCALESH434syn keyword masmOpcode		VSCALEFPH VSCALEFSH VFMULCPH VFMULCSH VFCMULCPH435syn keyword masmOpcode		VFCMULCSH VFMADDCPH VFMADDCSH VFCMADDCPH436syn keyword masmOpcode		VFCMADDCSH VRCPPH VRCPSH VRSQRTPH VRSQRTSH437syn keyword masmOpcode		VCMPPH VCMPSH VCOMISH VUCOMISH VMAXPH VMAXSH438syn keyword masmOpcode		VMINPH VMINSH VFPCLASSPH VFPCLASSSH439syn keyword masmOpcode		VCVTW2PH VCVTUW2PH VCVTDQ2PH VCVTUDQ2PH440syn keyword masmOpcode		VCVTQQ2PH VCVTUQQ2PH VCVTPS2PHX VCVTPD2PH441syn keyword masmOpcode		VCVTSI2SH VCVTUSI2SH VCVTSS2SH VCVTSD2SH442syn keyword masmOpcode		VCVTPH2W VCVTTPH2W VCVTPH2UW VCVTTPH2UW443syn keyword masmOpcode		VCVTPH2DQ VCVTTPH2DQ VCVTPH2UDQ VCVTTPH2UDQ444syn keyword masmOpcode		VCVTPH2QQ VCVTTPH2QQ VCVTPH2UQQ VCVTTPH2UQQ445syn keyword masmOpcode		VCVTPH2PSX VCVTPH2PD VCVTSH2SI VCVTTSH2SI446syn keyword masmOpcode		VCVTSH2USI VCVTTSH2USI VCVTSH2SS VCVTSH2SD447syn keyword masmOpcode		VGETEXPPH VGETEXPSH VGETMANTPH VGETMANTSH448syn keyword masmOpcode		VMOVSH VMOVW VADDPD VADDPS VADDSD VADDSS449syn keyword masmOpcode		VANDPD VANDPS VANDNPD VANDNPS450syn keyword masmOpcode		VCMPPD VCMPPS VCMPSD VCMPSS451syn keyword masmOpcode		VCOMISD VCOMISS VDIVPD VDIVPS VDIVSD VDIVSS452syn keyword masmOpcode		VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ VCVTPD2PS453syn keyword masmOpcode		VCVTPH2PS VCVTPS2PH VCVTPS2DQ VCVTPS2PD454syn keyword masmOpcode		VCVTSD2SI VCVTSD2SS VCVTSI2SD VCVTSI2SS455syn keyword masmOpcode		VCVTSS2SD VCVTSS2SI VCVTTPD2DQ VCVTTPS2DQ456syn keyword masmOpcode		VCVTTSD2SI VCVTTSS2SI VMAXPD VMAXPS457syn keyword masmOpcode		VMAXSD VMAXSS VMINPD VMINPS VMINSD VMINSS458syn keyword masmOpcode		VMOVAPD VMOVAPS VMOVD VMOVQ VMOVDDUP459syn keyword masmOpcode		VMOVHLPS VMOVHPD VMOVHPS VMOVLHPS VMOVLPD460syn keyword masmOpcode		VMOVLPS VMOVNTDQA VMOVNTDQ VMOVNTPD VMOVNTPS461syn keyword masmOpcode		VMOVSD VMOVSHDUP VMOVSLDUP VMOVSS VMOVUPD462syn keyword masmOpcode		VMOVUPS VMOVDQA VMOVDQA32 VMOVDQA64463syn keyword masmOpcode		VMOVDQU VMOVDQU8 VMOVDQU16 VMOVDQU32 VMOVDQU64464syn keyword masmOpcode		VMULPD VMULPS465syn keyword masmOpcode		VMULSD VMULSS VORPD VORPS VSQRTPD VSQRTPS466syn keyword masmOpcode		VSQRTSD VSQRTSS VSUBPD VSUBPS VSUBSD VSUBSS467syn keyword masmOpcode		VUCOMISD VUCOMISS VUNPCKHPD VUNPCKHPS VUNPCKLPD468syn keyword masmOpcode		VUNPCKLPS VXORPD VXORPS VEXTRACTPS VINSERTPS469syn keyword masmOpcode		VPEXTRB VPEXTRW VPEXTRD VPEXTRQ VPINSRB VPINSRW470syn keyword masmOpcode		VPINSRD VPINSRQ VPACKSSWB VPACKSSDW VPACKUSDW471syn keyword masmOpcode		VPACKUSWB VPADDB VPADDW VPADDD VPADDQ VPADDSB472syn keyword masmOpcode		VPADDSW VPADDUSB VPADDUSW VPAND VPANDD VPANDQ473syn keyword masmOpcode		VPANDND VPANDNQ VPAVGB VPAVGW VPCMPEQB VPCMPEQW474syn keyword masmOpcode		VPCMPEQD VPCMPEQQ VPCMPGTB VPCMPGTW VPCMPGTD475syn keyword masmOpcode		VPCMPGTQ VPMAXSB VPMAXSW VPMAXSD VPMAXSQ476syn keyword masmOpcode		VPMAXUB VPMAXUW VPMAXUD VPMAXUQ VPMINSB VPMINSW477syn keyword masmOpcode		VPMINSD VPMINSQ VPMINUB VPMINUW VPMINUD VPMINUQ478syn keyword masmOpcode		VPMOVSXBW VPMOVSXBD VPMOVSXBQ VPMOVSXWD479syn keyword masmOpcode		VPMOVSXWQ VPMOVSXDQ VPMOVZXBW VPMOVZXBD480syn keyword masmOpcode		VPMOVZXBQ VPMOVZXWD VPMOVZXWQ VPMOVZXDQ VPMULDQ481syn keyword masmOpcode		VPMULUDQ VPMULHRSW VPMULHUW VPMULHW VPMULLD482syn keyword masmOpcode		VPMULLQ VPMULLW VPORD VPORQ VPSUBB VPSUBW483syn keyword masmOpcode		VPSUBD VPSUBQ VPSUBSB VPSUBSW VPSUBUSB VPSUBUSW484syn keyword masmOpcode		VPUNPCKHBW VPUNPCKHWD VPUNPCKHDQ VPUNPCKHQDQ485syn keyword masmOpcode		VPUNPCKLBW VPUNPCKLWD VPUNPCKLDQ VPUNPCKLQDQ486syn keyword masmOpcode		VPXOR VPXORD VPXORQ487syn keyword masmOpcode		VPSADBW VPSHUFB VPSHUFHW VPSHUFLW488syn keyword masmOpcode		VPSHUFD VPSLLDQ VPSLLW VPSLLD VPSLLQ VPSRAW489syn keyword masmOpcode		VPSRAD VPSRAQ VPSRLDQ VPSRLW VPSRLD VPSRLQ490syn keyword masmOpcode		VPSLLVW VPSRLVW VPSHUFPD VPSHUFPS VEXTRACTF32X4491syn keyword masmOpcode		VEXTRACTF64X2 VEXTRACTF32X8 VEXTRACTF64X4492syn keyword masmOpcode		VEXTRACTI32X4 VEXTRACTI64X2 VEXTRACTI32X8493syn keyword masmOpcode		VEXTRACTI64X4 VINSERTF32x4 VINSERTF64X2494syn keyword masmOpcode		VINSERTF32X8 VINSERTF64x4 VINSERTI32X4495syn keyword masmOpcode		VINSERTI64X2 VINSERTI32X8 VINSERTI64X4496syn keyword masmOpcode		VPABSB VPABSW VPABSD VPABSQ VPALIGNR497syn keyword masmOpcode		VPMADDUBSW VPMADDWD498syn keyword masmOpcode		VFMADD132PD VFMADD213PD VFMADD231PD499syn keyword masmOpcode		VFMADD132PS VFMADD213PS VFMADD231PS500syn keyword masmOpcode		VFMADD132SD VFMADD213SD VFMADD231SD501syn keyword masmOpcode		VFMADD132SS VFMADD213SS VFMADD231SS502syn keyword masmOpcode		VFMADDSUB132PD VFMADDSUB213PD VFMADDSUB231PD503syn keyword masmOpcode		VFMADDSUB132PS VFMADDSUB213PS VFMADDSUB231PS504syn keyword masmOpcode		VFMSUBADD132PD VFMSUBADD213PD VFMSUBADD231PD505syn keyword masmOpcode		VFMSUBADD132PS VFMSUBADD213PS VFMSUBADD231PS506syn keyword masmOpcode		VFMSUB132PD VFMSUB213PD VFMSUB231PD507syn keyword masmOpcode		VFMSUB132PS VFMSUB213PS VFMSUB231PS508syn keyword masmOpcode		VFMSUB132SD VFMSUB213SD VFMSUB231SD509syn keyword masmOpcode		VFMSUB132SS VFMSUB213SS VFMSUB231SS510syn keyword masmOpcode		VFNMADD132PD VFNMADD213PD VFNMADD231PD511syn keyword masmOpcode		VFNMADD132PS VFNMADD213PS VFNMADD231PS512syn keyword masmOpcode		VFNMADD132SD VFNMADD213SD VFNMADD231SD513syn keyword masmOpcode		VFNMADD132SS VFNMADD213SS VFNMADD231SS514syn keyword masmOpcode		VFNMSUB132PD VFNMSUB213PD VFNMSUB231PD515syn keyword masmOpcode		VFNMSUB132PS VFNMSUB213PS VFNMSUB231PS516syn keyword masmOpcode		VFNMSUB132SD VFNMSUB213SD VFNMSUB231SD517syn keyword masmOpcode		VFNMSUB132SS VFNMSUB213SS VFNMSUB231SS518syn keyword masmOpcode		VPSRAVW VPSRAVQ519 520" Other opcodes in Pentium and later processors521syn keyword masmOpcode		CMPXCHG8B CPUID UD2 MOVSXD522syn keyword masmOpcode		RSM RDMSR WRMSR RDPMC RDTSC SYSENTER SYSEXIT523syn match   masmOpcode	   "CMOV\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"524 525" Not really used by MASM, but useful for viewing GCC-generated assembly code526" in Intel syntax527syn match masmHexadecimal	"[-+]\?0[Xx]\x*"528syn keyword masmOpcode		MOVABS529 530" The default highlighting531hi def link masmLabel		PreProc532hi def link masmComment		Comment533hi def link masmDirective	Statement534hi def link masmType		Type535hi def link masmOperator	Type536hi def link masmOption		Special537hi def link masmRegister	Special538hi def link masmString		String539hi def link masmText		String540hi def link masmTitle		Title541hi def link masmOpcode		Statement542hi def link masmOpFloat		Statement543 544hi def link masmHexadecimal	Number545hi def link masmDecimal		Number546hi def link masmOctal		Number547hi def link masmBinary		Number548hi def link masmFloatRaw	Number549hi def link masmFloat		Number550 551hi def link masmIdentifier	Identifier552 553syntax sync minlines=50554 555let b:current_syntax = "masm"556 557let &cpo = s:cpo_save558unlet s:cpo_save559 560" vim: ts=8561 
codekingpro/portable-devtools · Team Ai