Skip to content

Commit

Permalink
feat: support for x86 instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
doinkythederp committed Jun 3, 2022
1 parent 0506965 commit 49863d9
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions syntaxes/nasm.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,26 @@
"patterns": [
{
"include": "#comments"
},
{
"include": "#x86.instructions"
},
{
"include": "#x86.registers"
}
],
"repository": {
"comments": {
"name": "comment.line.semicolon",
"match": ";.*"
},
"x86.instructions": {
"name": "keyword.control.x86",
"match": "\\b(gf2p8affineinvqb|aeskeygenassist|vfmaddsub132pd|vfmaddsub132ps|vfmaddsub213pd|vfmaddsub213ps|vfmaddsub231pd|vfmaddsub231ps|vfmsubadd132pd|vfmsubadd132ps|vfmsubadd213pd|vfmsubadd213ps|vfmsubadd231pd|vfmsubadd231ps|vpmultishiftqb|gf2p8affineqb|vextractf32x4|vextractf32x8|vextractf64x2|vextractf64x4|vextracti32x4|vextracti32x8|vextracti64x2|vextracti64x4|vextractf128|vextracti128|vfnmadd132pd|vfnmadd132ps|vfnmadd132sd|vfnmadd132ss|vfnmadd213pd|vfnmadd213ps|vfnmadd213sd|vfnmadd213ss|vfnmadd231pd|vfnmadd231ps|vfnmadd231sd|vfnmadd231ss|vfnmsub132pd|vfnmsub132ps|vfnmsub132sd|vfnmsub132ss|vfnmsub213pd|vfnmsub213ps|vfnmsub213sd|vfnmsub213ss|vfnmsub231pd|vfnmsub231ps|vfnmsub231sd|vfnmsub231ss|vinsertf32x4|vinsertf32x8|vinsertf64x2|vinsertf64x4|vinserti32x4|vinserti32x8|vinserti64x2|vinserti64x4|vpbroadcastb|vpbroadcastd|vpbroadcastm|vpbroadcastq|vpbroadcastw|sha256rnds2|vcompresspd|vcompressps|vcvttpd2udq|vcvttpd2uqq|vcvttps2udq|vcvttps2uqq|vcvttsd2usi|vcvttss2usi|vfixupimmpd|vfixupimmps|vfixupimmsd|vfixupimmss|vfmadd132pd|vfmadd132ps|vfmadd132sd|vfmadd132ss|vfmadd213pd|vfmadd213ps|vfmadd213sd|vfmadd213ss|vfmadd231pd|vfmadd231ps|vfmadd231sd|vfmadd231ss|vfmsub132pd|vfmsub132ps|vfmsub132sd|vfmsub132ss|vfmsub213pd|vfmsub213ps|vfmsub213sd|vfmsub213ss|vfmsub231pd|vfmsub231ps|vfmsub231sd|vfmsub231ss|vinsertf128|vinserti128|vpbroadcast|vpcompressd|vpcompressq|vpconflictd|vpconflictq|vpmadd52huq|vpmadd52luq|vpscatterdd|vpscatterdq|vpscatterqd|vpscatterqq|vrndscalepd|vrndscaleps|vrndscalesd|vrndscaless|vscatterdpd|vscatterdps|vscatterqpd|vscatterqps|aesdeclast|aesenclast|clflushopt|cmpxchg16b|maskmovdqu|phminposuw|punpckhqdq|punpcklqdq|sha256msg1|sha256msg2|vbroadcast|vcvtpd2udq|vcvtpd2uqq|vcvtps2udq|vcvtps2uqq|vcvtsd2usi|vcvtss2usi|vcvttpd2qq|vcvttps2qq|vcvtudq2pd|vcvtudq2ps|vcvtuqq2pd|vcvtuqq2ps|vcvtusi2sd|vcvtusi2ss|vfpclasspd|vfpclassps|vfpclasssd|vfpclassss|vgatherdpd|vgatherdpd|vgatherdps|vgatherdps|vgatherqpd|vgatherqpd|vgatherqps|vgatherqps|vgetmantpd|vgetmantps|vgetmantsd|vgetmantss|vperm2f128|vperm2i128|vpgatherdd|vpgatherdd|vpgatherdq|vpgatherdq|vpgatherqd|vpgatherqd|vpgatherqq|vpgatherqq|vpternlogd|vpternlogq|vrsqrt14pd|vrsqrt14ps|vrsqrt14sd|vrsqrt14ss|vshuff32x4|vshuff64x2|vshufi32x4|vshufi64x2|vzeroupper|cmpxchg8b|cvttpd2dq|cvttpd2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|extractps|gf2p8mulb|movdir64b|pclmulqdq|pcmpestri|pcmpestrm|pcmpistri|pcmpistrm|pmaddubsw|prefetchw|prefetchh|punpckhbw|punpckhdq|punpckhwd|punpcklbw|punpckldq|punpcklwd|sha1nexte|sha1rnds4|vblendmpd|vblendmps|vcvtpd2qq|vcvtph2ps|vcvtps2ph|vcvtps2qq|vcvtqq2pd|vcvtqq2ps|vdbpsadbw|vexpandpd|vexpandps|vgetexppd|vgetexpps|vgetexpsd|vgetexpss|vmovdqa32|vmovdqa64|vmovdqu16|vmovdqu32|vmovdqu64|vpblendmb|vpblendmd|vpblendmq|vpblendmw|vpermi2pd|vpermi2ps|vpermilpd|vpermilps|vpermt2pd|vpermt2ps|vpexpandd|vpexpandq|vpmaskmov|vpmovusdb|vpmovusdw|vpmovusqb|vpmovusqd|vpmovusqw|vpmovuswb|vptestnmb|vptestnmd|vptestnmq|vptestnmw|vreducepd|vreduceps|vreducesd|vreducess|vscalefpd|vscalefps|vscalefsd|vscalefss|addsubpd|addsubps|blendvpd|blendvps|cldemote|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvtsi2sd|cvtsi2ss|cvtss2sd|cvtss2si|insertps|kortestb|kortestd|kortestq|kortestw|kshiftlb|kshiftld|kshiftlq|kshiftlw|kshiftrb|kshiftrd|kshiftrq|kshiftrw|kunpckbw|kunpckdq|kunpckwd|maskmovq|movmskpd|movmskps|movntdqa|movshdup|movsldup|packssdw|packsswb|packusdw|packuswb|pblendvb|pmovmskb|pmulhrsw|rdfsbase|rdgsbase|sha1msg1|sha1msg2|sysenter|umonitor|unpckhpd|unpckhps|unpcklpd|unpcklps|vmaskmov|vmovdqu8|vpblendd|vpermi2b|vpermi2d|vpermi2q|vpermi2w|vpermt2b|vpermt2d|vpermt2q|vpermt2w|vplzcntd|vplzcntq|vpmovb2m|vpmovd2m|vpmovm2b|vpmovm2d|vpmovm2q|vpmovm2w|vpmovq2m|vpmovsdb|vpmovsdw|vpmovsqb|vpmovsqd|vpmovsqw|vpmovswb|vpmovw2m|vptestmb|vptestmd|vptestmq|vptestmw|vrangepd|vrangeps|vrangesd|vrangess|vrcp14pd|vrcp14ps|vrcp14sd|vrcp14ss|vzeroall|wrfsbase|wrgsbase|xacquire|xrelease|xsaveopt|blendpd|blendps|clflush|cmpxchg|fcmovcc|fdecstp|fincstp|fnstenv|frndint|fsincos|fucomip|fucompp|fxrstor|fxtract|fyl2xp1|invpcid|ldmxcsr|monitor|movddup|movdiri|movdq2q|movhlps|movlhps|movntdq|movntpd|movntps|movq2dq|mpsadbw|paddusb|paddusw|palignr|pblendw|pcmpeqb|pcmpeqd|pcmpeqq|pcmpeqw|pcmpgtb|pcmpgtd|pcmpgtq|pcmpgtw|phaddsw|phsubsw|pmaddwd|pmulhuw|pmuludq|pshufhw|pshuflw|psubusb|psubusw|ptwrite|roundpd|roundps|roundsd|roundss|rsqrtps|rsqrtss|stmxcsr|syscall|sysexit|ucomisd|ucomiss|valignd|valignq|vpcmpub|vpcmpud|vpcmpuq|vpcmpuw|vpermpd|vpermps|vpmovdb|vpmovdw|vpmovqb|vpmovqd|vpmovqw|vpmovwb|vprolvd|vprolvq|vprorvd|vprorvq|vpsllvd|vpsllvq|vpsllvw|vpsravd|vpsravq|vpsravw|vpsrlvd|vpsrlvq|vpsrlvw|vtestpd|vtestps|xrstors|aesdec|aesenc|aesimc|andnpd|andnps|blsmsk|bndldx|bndmov|bndstx|cmovcc|comisd|comiss|fcomip|fcompp|fdivrp|ficomp|fidivr|fisttp|fisubr|fldenv|fldl2e|fldl2t|fldlg2|fldln2|fnclex|fninit|fnsave|fnstcw|fnstsw|fpatan|fprem1|frstor|fscale|fstenv|fsubrp|fucomi|fucomp|fxsave|haddpd|haddps|hsubpd|hsubps|invlpg|kandnb|kandnd|kandnq|kandnw|ktestb|ktestd|ktestq|ktestw|kxnorb|kxnord|kxnorq|kxnorw|lfence|loopcc|mfence|movapd|movaps|movdqa|movdqu|movhpd|movhps|movlpd|movlps|movnti|movntq|movsxd|movupd|movups|paddsb|paddsw|pextrb|pextrd|pextrq|pextrw|phaddd|phaddw|phsubd|phsubw|pinsrb|pinsrd|pinsrq|pinsrw|pmaxsb|pmaxsd|pmaxsq|pmaxsw|pmaxub|pmaxud|pmaxuq|pmaxuw|pminsb|pminsd|pminsq|pminsw|pminub|pminud|pminuq|pminuw|pmovsx|pmovzx|pmuldq|pmulhw|pmulld|pmullq|pmullw|popcnt|psadbw|pshufb|pshufd|pshufw|psignb|psignd|psignw|pslldq|psrldq|psubsb|psubsw|pushad|pushfd|pushfq|rdpkru|rdrand|rdseed|rdtscp|sfence|shufpd|shufps|sqrtpd|sqrtps|sqrtsd|sqrtss|swapgs|sysret|tpause|umwait|vpcmpb|vpcmpd|vpcmpq|vpcmpw|vpermb|vpermd|vpermq|vpermw|vprold|vprolq|vprord|vprorq|wbinvd|wrpkru|xabort|xbegin|xgetbv|xrstor|xsavec|xsaves|xsetbv|addpd|addps|addsd|addss|andpd|andps|bextr|bndcl|bndcn|bndcu|bndmk|bound|bswap|cmppd|cmpps|cmpsb|cmpsd|cmpsd|cmpsq|cmpss|cmpsw|cpuid|crc32|divpd|divps|divsd|divss|enter|f2xm1|faddp|fbstp|fclex|fcomi|fcomp|fdivp|fdivr|ffree|fiadd|ficom|fidiv|fimul|finit|fistp|fisub|fldcw|fldpi|fmulp|fprem|fptan|fsave|fsqrt|fstcw|fstsw|fsubp|fsubr|fucom|fwait|fyl2x|int n|iretd|kaddb|kaddd|kaddq|kaddw|kandb|kandd|kandq|kandw|kmovb|kmovd|kmovq|kmovw|knotb|knotd|knotq|knotw|kxorb|kxord|kxorq|kxorw|lddqu|leave|lodsb|lodsd|lodsq|lodsw|lzcnt|maxpd|maxps|maxsd|maxss|minpd|minps|minsd|minss|movbe|movsb|movsd|movsd|movsq|movss|movsw|movsx|movzx|mulpd|mulps|mulsd|mulss|mwait|outsb|outsd|outsw|pabsb|pabsd|pabsq|pabsw|paddb|paddd|paddq|paddw|pandn|pause|pavgb|pavgw|popad|popfd|popfq|pslld|psllq|psllw|psrad|psraq|psraw|psrld|psrlq|psrlw|psubb|psubd|psubq|psubw|ptest|pusha|pushf|rcpps|rcpss|rdmsr|rdpid|rdpmc|rdtsc|repne|repnz|scasb|scasd|scasw|setcc|stosb|stosd|stosq|stosw|subpd|subps|subsd|subss|tzcnt|wrmsr|xlatb|xorpd|xorps|xsave|xtest|adcx|adox|andn|arpl|blsi|blsr|bzhi|call|cdqe|clac|clts|clwb|cmps|cwde|dppd|dpps|emms|fabs|fadd|fbld|fchs|fcom|fcos|fdiv|fild|fist|fld1|fldz|fmul|fnop|fsin|fstp|fsub|ftst|fxam|fxch|idiv|imul|insb|insd|insw|int1|int3|into|invd|iret|korb|kord|korq|korw|lahf|lgdt|lidt|lldt|lmsw|lock|lods|loop|movd|movq|movq|movs|mulx|orpd|orps|outs|pand|pdep|pext|popa|popf|push|pxor|repe|repz|rorx|sahf|sarx|scas|sgdt|shld|shlx|shrd|shrx|sidt|sldt|smsw|stac|stos|test|verr|verw|wait|xadd|xchg|xend|xlat|aaa|aad|aam|aas|adc|add|and|bsf|bsr|btc|btr|bts|cbw|cdq|clc|cld|cli|cmc|cmp|cqo|cwd|daa|das|dec|div|fld|fst|hlt|inc|ins|jmp|jcc|lar|lds|lea|les|lfs|lgs|lsl|lss|ltr|mov|mov|mov|mul|neg|nop|not|out|pop|por|rcl|rcr|rep|ret|rol|ror|rsm|sal|sar|sbb|shl|shr|stc|std|sti|str|sub|xor|bt|in|or|ud)\\b"
},
"x86.registers": {
"name": "variable.language.x86",
"match": "\\b(r(8|9|1[0-5])[d|w|b]?|(al|cl|dl|bl|sil|dil|spl|bpl)|(r|e|)(ax|cx|dx|bx|si|di|sp|bp))\\b"
}
},
"scopeName": "source.nasm"
Expand Down

0 comments on commit 49863d9

Please sign in to comment.