Created
May 30, 2021 10:30
-
-
Save Kaizen86/26134d489298abaf18073f4c29c7b055 to your computer and use it in GitHub Desktop.
AT&T variant of my other Assembly Highlighter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## AT&T Assembly | |
| ## Variation of my Assembly highlighter, with added instructions that are | |
| ## specific to AT&T syntax and includes some tweaks to the other regular expressions. | |
| syntax asm "\.(S|s|asm)$" | |
| magic "at&t assembler source" | |
| comment ";" | |
| # Symbol visibility levels | |
| color green "\.(align|file|globl|global|hidden|section|size|type|weak)" | |
| # Call, Jump, and Branch destination labels | |
| icolor yellow "\b(call|jb|jnae|jc|jbe|jna|jecxz|jrcxz|jl|jnge|jle|jng|jmp|jmpf|jnb|jae|jnc|jnbe|ja|jnl|jge|jnle|jg|jno|jnp|jpo|jns|jnz|jne|jo|jp|jpe|js|jz|je)\b.*" | |
| # Intel X86 Instruction list - Monster regex with all of the valid instructions | |
| icolor magenta "\b(adc|add|addpd|addps|addsd|addss|addsubpd|addsubps|and|andnpd|andnps|andpd|andps|blendpd|blendps|bsf|bsr|bswap|bt|btc|btr|bts|call|callf|cbw|cdq|cdqe|clc|cld|clflush|cli|clts|cmc|cmova|cmovae|cmovb|cmovbe|cmovc|cmove|cmovg|cmovge|cmovl|cmovle|cmovna|cmovnae|cmovnb|cmovnbe|cmovnc|cmovne|cmovng|cmovnge|cmovnl|cmovnle|cmovno|cmovnp|cmovns|cmovnz|cmovo|cmovp|cmovpe|cmovpo|cmovs|cmovz|cmp|cmppd|cmpps|cmps|cmpsb|cmpsd|cmpsq|cmpss|cmpsw|cmpxchg|cmpxchg8b|cmpxchg16b|comisd|comiss|cpuid|cqo|crc32|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvtsi2sd|cvtsi2ss|cvtss2sd|cvtss2si|cvttpd2dq|cvttpd2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|cwd|cwde|dec|div|divpd|divps|divsd|divss|dppd|dpps|emms|enter|extractps|f2xm1|fabs|fadd|faddp|fbld|fbstp|fchs|fclex|fcmovb|fcmovbe|fcmove|fcmovnb|fcmovnbe|fcmovne|fcmovnu|fcmovu|fcom|fcom2|fcomi|fcomip|fcomp|fcomp3|fcomp5|fcompp|fcos|fdecstp|fdiv|fdivp|fdivr|fdivrp|ffree|ffreep|fiadd|ficom|ficomp|fidiv|fidivr|fild|fimul|fincstp|finit|fist|fistp|fisttp|fisub|fisubr|fld|fld1|fldcw|fldenv|fldl2e|fldl2t|fldlg2|fldln2|fldpi|fldz|fmul|fmulp|fnclex|fndisi nop|fneni nop|fninit|fnop|fnsave|fnsetpm nop|fnstcw|fnstenv|fnstsw|fpatan|fprem|fprem1|fptan|frndint|frstor|fs|fsave|fscale|fsin|fsincos|fsqrt|fst|fstcw|fstenv|fstp|fstp1|fstp8|fstp9|fstsw|fsub|fsubp|fsubr|fsubrp|ftst|fucom|fucomi|fucomip|fucomp|fucompp|fwait|fxam|fxch|fxch4|fxch7|fxrstor|fxsave|fxtract|fyl2x|fyl2xp1|getsec|gs|haddpd|haddps|hint_nop|hlt|hsubpd|hsubps|icebp|idiv|imul|in|inc|ins|insb|insd|insertps|insw|int|int1|into|invd|invept|invlpg|invvpid|iret|iretd|iretq|ja|ja|jae|jae|jb|jb|jbe|jbe|jc|jc|je|je|jecxz|jecxz|jg|jg|jge|jge|jl|jl|jle|jle|jmp|jmp|jmpf|jmpf|jna|jna|jnae|jnae|jnb|jnb|jnbe|jnbe|jnc|jnc|jne|jne|jng|jng|jnge|jnge|jnl|jnl|jnle|jnle|jno|jno|jnp|jnp|jns|jns|jnz|jnz|jo|jo|jp|jp|jpe|jpe|jpo|jpo|jrcxz|jrcxz|js|js|jz|jz|lahf|lar|lddqu|ldmxcsr|lea|leave|lfence|lfs|lgdt|lgs|lidt|lldt|lmsw|lock|lods|lodsb|lodsd|lodsq|lodsw|loop|loope|loopne|loopnz|loopz|lsl|lss|ltr|maskmovdqu|maskmovq|maxpd|maxps|maxsd|maxss|mfence|minpd|minps|minsd|minss|monitor|mov|movapd|movaps|movbe|movd|movddup|movdq2q|movdqa|movdqu|movhlps|movhpd|movhps|movlhps|movlpd|movlps|movmskpd|movmskps|movntdq|movnti|movntpd|movntps|movntq|movq|movq2dq|movs|movsb|movsd|movshdup|movsldup|movsq|movss|movsw|movsx|movsxd|movupd|movups|movzx|mpsadbw|mul|mulpd|mulps|mulsd|mulss|mwait|neg|nop|not|or|orpd|orps|out|outs|outsb|outsd|outsw|packssdw|packsswb|packuswb|paddb|paddd|paddq|paddsb|paddsw|paddusb|paddusw|paddw|palignr|pand|pandn|pause|pavgb|pavgw|pblendw|pcmpeqb|pcmpeqd|pcmpeqw|pcmpestri|pcmpestrm|pcmpgtb|pcmpgtd|pcmpgtw|pcmpistri|pcmpistrm|pextrb|pextrd|pextrq|pextrw|pinsrb|pinsrd|pinsrq|pinsrw|pmaddwd|pmaxsw|pmaxub|pminsw|pminub|pmovmskb|pmulhuw|pmulhw|pmullw|pmuludq|pop|popcnt|popf|popfq|por|prefetchnta|prefetcht0|prefetcht1|prefetcht2|psadbw|pshufd|pshufhw|pshuflw|pshufw|pslld|pslldq|psllq|psllw|psrad|psraw|psrld|psrldq|psrlq|psrlw|psubb|psubd|psubq|psubsb|psubsw|psubusb|psubusw|psubw|punpckhbw|punpckhdq|punpckhqdq|punpckhwd|punpcklbw|punpckldq|punpcklqdq|punpcklwd|push|pushf|pushfq|pxor|rcl|rcpps|rcpss|rcr|rdmsr|rdpmc|rdtsc|rdtscp|rep|repe|repne|repnz|repz|ret|retf|retn|rex|rex.b|rex.r|rex.rb|rex.rx|rex.rxb|rex.w|rex.wb|rex.wr|rex.wrb|rex.wrx|rex.wrxb|rex.wx|rex.wxb|rex.x|rex.xb|rol|ror|roundpd|roundps|roundsd|roundss|rsm|rsqrtps|rsqrtss|sahf|sal|sar|sbb|scas|scasb|scasd|scasq|scasw|seta|setae|setb|setbe|setc|sete|setg|setge|setl|setle|setna|setnae|setnb|setnbe|setnc|setne|setng|setnge|setnl|setnle|setno|setnp|setns|setnz|seto|setp|setpe|setpo|sets|setz|sfence|sgdt|shl|shld|shr|shrd|shufpd|shufps|sidt|sldt|smsw|sqrtpd|sqrtps|sqrtsd|sqrtss|stc|std|sti|stmxcsr|stos|stosb|stosd|stosq|stosw|str|sub|subpd|subps|subsd|subss|swapgs|syscall|sysenter|sysexit|sysret|test|ucomisd|ucomiss|ud|ud2|unpckhpd|unpckhps|unpcklpd|unpcklps|verr|verw|vmcall|vmclear|vmlaunch|vmptrld|vmptrst|vmread|vmresume|vmwrite|vmxoff|vmxon|wait|wbinvd|wrmsr|xadd|xchg|xgetbv|xlat|xlatb|xor|xorpd|xorps|xrstor|xsave|xsetbv)[wblq]\b" | |
| # AT&T specific Instructions - Somehow this is substantially longer than the first list, even after removing duplicates. | |
| icolor magenta "\b(aaa|aad|aam|aas|adcx|add|addr16|addr32|adox|adword|aesdec|aesdec128kl|aesdec256kl|aesdeclast|aesdecwide128kl|aesdecwide256kl|aesenc|aesenc128kl|aesenc256kl|aesenclast|aesencwide128kl|aesencwide256kl|aesimc|aeskeygenassist|andn|arpl|aword|bextr|blcfill|blci|blcic|blcmsk|blcs|blendvpd|blendvps|blsfill|blsi|blsic|blsmsk|blsr|bnd|bndcl|bndcn|bndcu|bndldx|bndmk|bndmov|bndstx|bound|bzhi|cbtw|clac|cldemote|clflushopt|clgi|clr|clrssbsy|cltd|cltq|clui|clwb|clzero|cmov|cqto|cs|cwtd|cwtl|daa|das|data16|data32|ds|dword|encls|enclu|enclv|encodekey128|encodekey256|endbr32|endbr64|enqcmd|enqcmds|es|extrq|fcmova|fcmovae|fcmovna|fcmovnae|fcompi|fdisi|femms|feni|fildll|filds|fistpll|fisttpll|fldt|fndisi|fneni|fnsetpm|frstpm|fsetpm|fstpt|fucompi|fxrstor64|fxsave64|gf2p8affineinvqb|gf2p8affineqb|gf2p8mulb|hnt|hreset|ht|imull|incsspd|incsspq|insertq|int3|invlpga|invlpgb|invpcid|j|jcxz|jxx|kaddb|kaddd|kaddq|kaddw|kandb|kandd|kandnb|kandnd|kandnq|kandnw|kandq|kandw|kmovb|kmovd|kmovq|kmovw|knotb|knotd|knotq|knotw|korb|kord|korq|kortestb|kortestd|kortestq|kortestw|korw|kshiftlb|kshiftld|kshiftlq|kshiftlw|kshiftrb|kshiftrd|kshiftrq|kshiftrw|ktestb|ktestd|ktestq|ktestw|kunpckbw|kunpckdq|kunpckwd|kxnorb|kxnord|kxnorq|kxnorw|kxorb|kxord|kxorq|kxorw|lcall|lds|ldtilecfg|leal|les|ljmp|llwpcb|load|loadiwkey|lret|lwpins|lwpval|lzcnt|mcommit|monitorx|montmul|movabs|movdir64b|movdiri|movl|movntdqa|movntsd|movntss|movsbl|movsbq|movsbw|movslq|movswl|movswq|movw|movx|movzb|movzw|mulx|mwaitx|neq_oq|nge|nge_uq|nle|notrack|pabsb|pabsd|pabsw|packusdw|pavgusb|pblendvb|pclmulhqhqdq|pclmulhqlqdq|pclmullqhqdq|pclmullqlqdq|pclmulqdq|pcmpeqq|pcmpgtq|pconfig|pdep|pext|pf2id|pf2iw|pfacc|pfadd|pfcmpeq|pfcmpge|pfcmpgt|pfmax|pfmin|pfmul|pfnacc|pfpnacc|pfrcp|pfrcpit1|pfrcpit2|pfrsqit1|pfrsqrt|pfsub|pfsubr|phaddd|phaddsw|phaddw|phminposuw|phsubd|phsubsw|phsubw|pi2fd|pi2fw|pmaddubsw|pmaxsb|pmaxsd|pmaxud|pmaxuw|pminsb|pminsd|pminud|pminuw|pmovsxbd|pmovsxbq|pmovsxbw|pmovsxdq|pmovsxwd|pmovsxwq|pmovzxbd|pmovzxbq|pmovzxbw|pmovzxdq|pmovzxwd|pmovzxwq|pmuldq|pmulhrsw|pmulhrw|pmulld|popa|popx|prefetch|prefetchw|prefetchwt1|pshufb|psignb|psignd|psignw|psmash|pswapd|ptest|ptwrite|pusha|pushx|pvalidate|rdfsbase|rdgsbase|rdpid|rdpkru|rdpru|rdrand|rdseed|rdsspd|rdsspq|rex64|rex64x|rex64xy|rex64xyz|rex64xz|rex64y|rex64yz|rex64z|rex|rexx|rexxy|rexxyz|rexxz|rexy|rexyz|rexz|rmpadjust|rmpupdate|rorx|rstorssp|s|sarx|saveprevssp|scmp|seamcall|seamops|seamret|senduipi|serialize|set|setssbsy|sha1msg1|sha1msg2|sha1nexte|sha1rnds4|sha256msg1|sha256msg2|sha256rnds2|shlx|shrx|skinit|slod|slwpcb|smov|ss|ssca|ssto|st0|stac|stgi|sttilecfg|stui|t1mskc|tdcall|tdpbf16ps|tdpbssd|tdpbsud|tdpbusd|tdpbuud|testui|tileloadd|tileloaddt1|tilerelease|tilestored|tilezero|tlbsync|tpause|true_uq|true_us|tzcnt|tzmsk|ud0|ud1|ud2a|ud2b|uiret|umonitor|umwait|unord|unord_s|v4fmaddps|v4fmaddss|v4fnmaddps|v4fnmaddss|vaddpd|vaddps|vaddsd|vaddss|vaddsubpd|vaddsubps|vaesdec|vaesdeclast|vaesenc|vaesenclast|vaesimc|vaeskeygenassist|valignd|valignq|vandnpd|vandnps|vandpd|vandps|vblendmpd|vblendmps|vblendpd|vblendps|vblendvpd|vblendvps|vbroadcastf32x2|vbroadcastf32x4|vbroadcastf32x8|vbroadcastf64x2|vbroadcastf64x4|vbroadcastf128|vbroadcasti32x2|vbroadcasti32x4|vbroadcasti32x8|vbroadcasti64x2|vbroadcasti64x4|vbroadcasti128|vbroadcastsd|vbroadcastss|vcmp|vcmppd|vcmpps|vcmpsd|vcmpss|vcomisd|vcomiss|vcompresspd|vcompressps|vcvtdq2pd|vcvtdq2ps|vcvtne2ps2bf16|vcvtneps2bf16|vcvtneps2bf16x|vcvtneps2bf16y|vcvtpd2dq|vcvtpd2dqx|vcvtpd2dqy|vcvtpd2ps|vcvtpd2psx|vcvtpd2psy|vcvtpd2qq|vcvtpd2udq|vcvtpd2udqx|vcvtpd2udqy|vcvtpd2uqq|vcvtph2ps|vcvtps2dq|vcvtps2pd|vcvtps2ph|vcvtps2qq|vcvtps2udq|vcvtps2uqq|vcvtqq2pd|vcvtqq2ps|vcvtqq2psx|vcvtqq2psy|vcvtsd2si|vcvtsd2ss|vcvtsd2usi|vcvtsi2sd|vcvtsi2ss|vcvtss2sd|vcvtss2si|vcvtss2usi|vcvttpd2dq|vcvttpd2dqx|vcvttpd2dqy|vcvttpd2qq|vcvttpd2udq|vcvttpd2udqx|vcvttpd2udqy|vcvttpd2uqq|vcvttps2dq|vcvttps2qq|vcvttps2udq|vcvttps2uqq|vcvttsd2si|vcvttsd2usi|vcvttss2si|vcvttss2usi|vcvtudq2pd|vcvtudq2ps|vcvtuqq2pd|vcvtuqq2ps|vcvtuqq2psx|vcvtuqq2psy|vcvtusi2sd|vcvtusi2ss|vdbpsadbw|vdivpd|vdivps|vdivsd|vdivss|vdpbf16ps|vdppd|vdpps|vex|vexp2pd|vexp2ps|vexpandpd|vexpandps|vextractf32x4|vextractf32x8|vextractf64x2|vextractf64x4|vextractf128|vextracti32x4|vextracti32x8|vextracti64x2|vextracti64x4|vextracti128|vextractps|vfixupimmpd|vfixupimmps|vfixupimmsd|vfixupimmss|vfmadd132pd|vfmadd132ps|vfmadd132sd|vfmadd132ss|vfmadd213pd|vfmadd213ps|vfmadd213sd|vfmadd213ss|vfmadd231pd|vfmadd231ps|vfmadd231sd|vfmadd231ss|vfmaddpd|vfmaddps|vfmaddsd|vfmaddss|vfmaddsub132pd|vfmaddsub132ps|vfmaddsub213pd|vfmaddsub213ps|vfmaddsub231pd|vfmaddsub231ps|vfmaddsubpd|vfmaddsubps|vfmsub132pd|vfmsub132ps|vfmsub132sd|vfmsub132ss|vfmsub213pd|vfmsub213ps|vfmsub213sd|vfmsub213ss|vfmsub231pd|vfmsub231ps|vfmsub231sd|vfmsub231ss|vfmsubadd132pd|vfmsubadd132ps|vfmsubadd213pd|vfmsubadd213ps|vfmsubadd231pd|vfmsubadd231ps|vfmsubaddpd|vfmsubaddps|vfmsubpd|vfmsubps|vfmsubsd|vfmsubss|vfnmadd132pd|vfnmadd132ps|vfnmadd132sd|vfnmadd132ss|vfnmadd213pd|vfnmadd213ps|vfnmadd213sd|vfnmadd213ss|vfnmadd231pd|vfnmadd231ps|vfnmadd231sd|vfnmadd231ss|vfnmaddpd|vfnmaddps|vfnmaddsd|vfnmaddss|vfnmsub132pd|vfnmsub132ps|vfnmsub132sd|vfnmsub132ss|vfnmsub213pd|vfnmsub213ps|vfnmsub213sd|vfnmsub213ss|vfnmsub231pd|vfnmsub231ps|vfnmsub231sd|vfnmsub231ss|vfnmsubpd|vfnmsubps|vfnmsubsd|vfnmsubss|vfpclasspd|vfpclasspdx|vfpclasspdy|vfpclasspdz|vfpclassps|vfpclasspsx|vfpclasspsy|vfpclasspsz|vfpclasssd|vfpclassss|vfrczpd|vfrczps|vfrczsd|vfrczss|vgatherdpd|vgatherdps|vgatherpf0dpd|vgatherpf0dps|vgatherpf0qpd|vgatherpf0qps|vgatherpf1dpd|vgatherpf1dps|vgatherpf1qpd|vgatherpf1qps|vgatherqpd|vgatherqps|vgetexppd|vgetexpps|vgetexpsd|vgetexpss|vgetmantpd|vgetmantps|vgetmantsd|vgetmantss|vgf2p8affineinvqb|vgf2p8affineqb|vgf2p8mulb|vhaddpd|vhaddps|vhsubpd|vhsubps|vinsertf32x4|vinsertf32x8|vinsertf64x2|vinsertf64x4|vinsertf128|vinserti32x4|vinserti32x8|vinserti64x2|vinserti64x4|vinserti128|vinsertps|vlddqu|vldmxcsr|vmaskmovdqu|vmaskmovpd|vmaskmovps|vmaxpd|vmaxps|vmaxsd|vmaxss|vmfunc|vmgexit|vminpd|vminps|vminsd|vminss|vmload|vmmcall|vmovapd|vmovaps|vmovd|vmovddup|vmovdqa|vmovdqa32|vmovdqa64|vmovdqu|vmovdqu8|vmovdqu16|vmovdqu32|vmovdqu64|vmovhlps|vmovhpd|vmovhps|vmovlhps|vmovlpd|vmovlps|vmovmskpd|vmovmskps|vmovntdq|vmovntdqa|vmovntpd|vmovntps|vmovq|vmovsd|vmovshdup|vmovsldup|vmovss|vmovupd|vmovups|vmpsadbw|vmrun|vmsave|vmulpd|vmulps|vmulsd|vmulss|vorpd|vorps|vp2intersectd|vp2intersectq|vp4dpwssd|vp4dpwssds|vpabsb|vpabsd|vpabsq|vpabsw|vpackssdw|vpacksswb|vpackusdw|vpackuswb|vpaddb|vpaddd|vpaddq|vpaddsb|vpaddsw|vpaddusb|vpaddusw|vpaddw|vpalignr|vpand|vpandd|vpandn|vpandnd|vpandnq|vpandq|vpavgb|vpavgw|vpblendd|vpblendmb|vpblendmd|vpblendmq|vpblendmw|vpblendvb|vpblendw|vpbroadcastb|vpbroadcastd|vpbroadcastmb2q|vpbroadcastmw2d|vpbroadcastq|vpbroadcastw|vpclmulhqhqdq|vpclmulhqlqdq|vpclmullqhqdq|vpclmullqlqdq|vpclmulqdq|vpcmov|vpcmp|vpcmpb|vpcmpd|vpcmpeqb|vpcmpeqd|vpcmpeqq|vpcmpeqw|vpcmpestri|vpcmpestrm|vpcmpgtb|vpcmpgtd|vpcmpgtq|vpcmpgtw|vpcmpistri|vpcmpistrm|vpcmpq|vpcmpub|vpcmpud|vpcmpuq|vpcmpuw|vpcmpw|vpcom|vpcompressb|vpcompressd|vpcompressq|vpcompressw|vpconflictd|vpconflictq|vpdpbusd|vpdpbusds|vpdpwssd|vpdpwssds|vperm2f128|vperm2i128|vpermb|vpermd|vpermi2b|vpermi2d|vpermi2pd|vpermi2ps|vpermi2q|vpermi2w|vpermil2pd|vpermil2ps|vpermilpd|vpermilps|vpermpd|vpermps|vpermq|vpermt2b|vpermt2d|vpermt2pd|vpermt2ps|vpermt2q|vpermt2w|vpermw|vpexpandb|vpexpandd|vpexpandq|vpexpandw|vpextrb|vpextrd|vpextrq|vpextrw|vpgatherdd|vpgatherdq|vpgatherqd|vpgatherqq|vphaddbd|vphaddbq|vphaddbw|vphaddd|vphadddq|vphaddsw|vphaddubd|vphaddubq|vphaddubw|vphaddudq|vphadduwd|vphadduwq|vphaddw|vphaddwd|vphaddwq|vphminposuw|vphsubbw|vphsubd|vphsubdq|vphsubsw|vphsubw|vphsubwd|vpinsrb|vpinsrd|vpinsrq|vpinsrw|vplzcntd|vplzcntq|vpmacsdd|vpmacsdqh|vpmacsdql|vpmacssdd|vpmacssdqh|vpmacssdql|vpmacsswd|vpmacssww|vpmacswd|vpmacsww|vpmadcsswd|vpmadcswd|vpmadd52huq|vpmadd52luq|vpmaddubsw|vpmaddwd|vpmaskmovd|vpmaskmovq|vpmaxsb|vpmaxsd|vpmaxsq|vpmaxsw|vpmaxub|vpmaxud|vpmaxuq|vpmaxuw|vpminsb|vpminsd|vpminsq|vpminsw|vpminub|vpminud|vpminuq|vpminuw|vpmovb2m|vpmovd2m|vpmovdb|vpmovdw|vpmovm2b|vpmovm2d|vpmovm2q|vpmovm2w|vpmovmskb|vpmovq2m|vpmovqb|vpmovqd|vpmovqw|vpmovsdb|vpmovsdw|vpmovsqb|vpmovsqd|vpmovsqw|vpmovswb|vpmovsxbd|vpmovsxbq|vpmovsxbw|vpmovsxdq|vpmovsxwd|vpmovsxwq|vpmovusdb|vpmovusdw|vpmovusqb|vpmovusqd|vpmovusqw|vpmovuswb|vpmovw2m|vpmovwb|vpmovzxbd|vpmovzxbq|vpmovzxbw|vpmovzxdq|vpmovzxwd|vpmovzxwq|vpmuldq|vpmulhrsw|vpmulhuw|vpmulhw|vpmulld|vpmullq|vpmullw|vpmultishiftqb|vpmuludq|vpopcntb|vpopcntd|vpopcntq|vpopcntw|vpor|vpord|vporq|vpperm|vprold|vprolq|vprolvd|vprolvq|vprord|vprorq|vprorvd|vprorvq|vprot|vpsadbw|vpscatterdd|vpscatterdq|vpscatterqd|vpscatterqq|vpsha|vpshl|vpshldd|vpshldq|vpshldvd|vpshldvq|vpshldvw|vpshldw|vpshrdd|vpshrdq|vpshrdvd|vpshrdvq|vpshrdvw|vpshrdw|vpshufb|vpshufbitqmb|vpshufd|vpshufhw|vpshuflw|vpsignb|vpsignd|vpsignw|vpslld|vpslldq|vpsllq|vpsllvd|vpsllvq|vpsllvw|vpsllw|vpsrad|vpsraq|vpsravd|vpsravq|vpsravw|vpsraw|vpsrld|vpsrldq|vpsrlq|vpsrlvd|vpsrlvq|vpsrlvw|vpsrlw|vpsubb|vpsubd|vpsubq|vpsubsb|vpsubsw|vpsubusb|vpsubusw|vpsubw|vpternlogd|vpternlogq|vptest|vptestmb|vptestmd|vptestmq|vptestmw|vptestnmb|vptestnmd|vptestnmq|vptestnmw|vpunpckhbw|vpunpckhdq|vpunpckhqdq|vpunpckhwd|vpunpcklbw|vpunpckldq|vpunpcklqdq|vpunpcklwd|vpxor|vpxord|vpxorq|vrangepd|vrangeps|vrangesd|vrangess|vrcp14pd|vrcp14ps|vrcp14sd|vrcp14ss|vrcp28pd|vrcp28ps|vrcp28sd|vrcp28ss|vrcpps|vrcpss|vreducepd|vreduceps|vreducesd|vreducess|vrndscalepd|vrndscaleps|vrndscalesd|vrndscaless|vroundpd|vroundps|vroundsd|vroundss|vrsqrt14pd|vrsqrt14ps|vrsqrt14sd|vrsqrt14ss|vrsqrt28pd|vrsqrt28ps|vrsqrt28sd|vrsqrt28ss|vrsqrtps|vrsqrtss|vscalefpd|vscalefps|vscalefsd|vscalefss|vscatterdpd|vscatterdps|vscatterpf0dpd|vscatterpf0dps|vscatterpf0qpd|vscatterpf0qps|vscatterpf1dpd|vscatterpf1dps|vscatterpf1qpd|vscatterpf1qps|vscatterqpd|vscatterqps|vshuff32x4|vshuff64x2|vshufi32x4|vshufi64x2|vshufpd|vshufps|vsqrtpd|vsqrtps|vsqrtsd|vsqrtss|vstmxcsr|vsubpd|vsubps|vsubsd|vsubss|vtestpd|vtestps|vucomisd|vucomiss|vunpckhpd|vunpckhps|vunpcklpd|vunpcklps|vxorpd|vxorps|vzeroall|vzeroupper|wbnoinvd|word|wrfsbase|wrgsbase|wrpkru|wrssd|wrssq|wrussd|wrussq|xabort|xacquire|xbegin|xcrypt-cbc|xcrypt-cfb|xcrypt-ctr|xcrypt-ecb|xcrypt-ofb|xcryptcbc|xcryptcfb|xcryptctr|xcryptecb|xcryptofb|xend|xrelease|xresldtrk|xrstor64|xrstors|xrstors64|xsave64|xsavec|xsavec64|xsaveopt|xsaveopt64|xsaves|xsaves64|xsha1|xsha256|xstore|xstore-rng|xstorerng|xsusldtrk|xtest)[wblq]\b" | |
| # Registers | |
| icolor cyan "[%][er]{0,1}[abcd][lhx]\b" | |
| icolor cyan "[%][re]{0,1}[sdb]{0,1}[pl]{0,1}[ipl]\b" | |
| icolor cyan "[%](r8|r9|r10|r11|r12|r13|r14|r15|rip|eflags|cs|ss|ds|es|fs|gs|st0|st1|st2|st3|st4|st5|st6|st7|fctrl|fstat|ftag|fiseg|fioff|foseg|fooff|fop|mxcsr|bndcfgu|bndstatus|ymm0|ymm1|ymm2|ymm3|ymm4|ymm5|ymm6|ymm7|ymm8|ymm9|ymm10|ymm11|ymm12|ymm13|ymm14|ymm15|bnd0|bnd1|bnd2|bnd3)\b" | |
| # Labels | |
| icolor brightred "^[[:space:]]*[.0-9a-z_]*:" | |
| # Section indicators | |
| icolor brightgreen "\.(data|subsection|text)" | |
| # Datatypes | |
| icolor brightyellow "\.(ascii|asciz|byte|double|float|hword|int|long|short|single|struct|word)" | |
| # Strings and literal values | |
| color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" | |
| icolor brightyellow "[$*]{0,1}(\+|-)?0x[0-9a-f]{1,}" | |
| color brightyellow "[$*]{0,1}(\+|-)?[0-9]{1,}" | |
| # Preprocessor directives | |
| icolor brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)" | |
| # Comments | |
| color brightblue ";.*" | |
| color brightblue "#.*" | |
| color brightblue "//.*" | |
| # Trailing whitespace. | |
| color ,green "[[:space:]]+$" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment