!* Assembler x86/x64 *! @[lexer.test.asm]{ :EN*.asmQ* } @[lexer.set.asm]{ ESSETILEXERasm 0ESSETKEYWORDS aaa aad aam aas daa das ja jae jb jbe jc jcxz je jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz jcxz jecxz jrcxz loop loope loopne loopz loopnz call ret add sub adc sbb neg cmp inc dec and or xor not test shl shr sal sar shld shrd rol ror rcl rcr cbw cwd cwde cdq cdqe cqo bsf bsr bt btc btr bts idiv imul div mul bswap nop lea mov movsx movsxd movzx xlatb bound xchg xadd cmpxchg cmpxchg8b cmpxchg16b push pop pushad popad pushf popf pushfd popfd pushfq popfq 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 salc clc cld stc std cmc lahf sahf cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge cmovge cmovnl cmovle cmovng cmovg cmovnle lock rep repe repz repne repnz cmpsb cmpsw cmpsq movsb movsw movsq scasb scasw scasd scasq stosb stosw stosd stosq cpuid rdtsc rdtscp rdpmc xgetbv llwpcb slwpcb lwpval lwpins crc32 popcnt lzcnt tzcnt movbe pclmulqdq rdrand andn bextr blsi blsmk blsr bzhi mulx pdep pext rorx sarx shlx shrx 1ESSETKEYWORDS f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos fstenvd fucom fucomp fucompp fcomi fcomip fucomi fucomip ffreep fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu 2ESSETKEYWORDS al ah bl bh cl ch dl dh ax bx cx dx si di bp eax ebx ecx edx esi edi ebx esp st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 fs sil dil bpl r8b r9b r10b r11b r12b r13b r14b r15b r8w r9w r10w r11w r12w r13w r14w r15w rax rcx rdx rbx rsp rbp rsi rdi r8 r9 r10 r11 r12 r13 r14 r15 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 gs 3ESSETKEYWORDS db dw dd dq dt do dy resb resw resd resq rest reso resy incbin equ times safeseh __utf16__ __utf32__ %+ default cpu float start imagebase osabi ..start ..imagebase ..gotpc ..gotoff ..gottpoff ..got ..plt ..sym ..tlsie section segment __sect__ group absolute .bss .comment .data .lbss .ldata .lrodata .rdata .rodata .tbss .tdata .text alloc bss code exec data noalloc nobits noexec nowrite progbits rdata tls write private public common stack overlay class extern global common import export %define %idefine %xdefine %ixdefine %assign %undef %? %?? %defstr %idefstr %deftok %ideftok %strcat %strlen %substr %macro %imacro %rmacro %exitmacro %endmacro %unmacro %if %ifn %elif %elifn %else %endif %ifdef %ifndef %elifdef %elifndef %ifmacro %ifnmacro %elifmacro %elifnmacro %ifctx %ifnctx %elifctx %elifnctx %ifidn %ifnidn %elifidn %elifnidn %ifidni %ifnidni %elifidni %elifnidni %ifid %ifnid %elifid %elifnid %ifnum %ifnnum %elifnum %elifnnum %ifstr %ifnstr %elifstr %elifnstr %iftoken %ifntoken %eliftoken %elifntoken %ifempty %elifempty %ifnempty %elifnempty %ifenv %ifnenv %elifenv %elifnenv %rep %exitrep %endrep %while %exitwhile %endwhile %include %pathsearch %depend %use %push %pop %repl %arg %local %stacksize flat flat64 large small %error %warning %fatal %00 .nolist %rotate %line %! %final %clear struc endstruc istruc at iend align alignb sectalign bits use16 use32 use64 __nasm_major__ __nasm_minor__ __nasm_subminor__ ___nasm_patchlevel__ __nasm_version_id__ __nasm_ver__ __file__ __line__ __pass__ __bits__ __output_format__ __date__ __time__ __date_num__ __time_num__ __posix_time__ __utc_date__ __utc_time__ __utc_date_num__ __utc_time_num__ __float_daz__ __float_round__ __float__ __use_altreg__ altreg __use_smartalign__ smartalign __alignmode__ __use_fp__ __infinity__ __nan__ __qnan__ __snan__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ 4ESSETKEYWORDS a16 a32 a64 o16 o32 o64 strict byte word dword qword tword oword yword nosplit %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 abs rel $ $$ seg wrt 5ESSETKEYWORDS movd movq paddb paddw paddd paddsb paddsw paddusb paddusw psubb psubw psubd psubsb psubsw psubusb psubusw pand pandn por pxor pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pmaddwd pmulhw pmullw psllw pslld psllq psrlw psrld psrlq psraw psrad packuswb packsswb packssdw punpcklbw punpcklwd punpckldq punpckhbw punpckhwd punpckhdq emms pavgb pavgw pextrw pinsrw pmovmskb pmaxsw pmaxub pminsw pminub pmulhuw psadbw pshufw prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq sfence paddsiw psubsiw pmulhrw pmachriw pmulhriw pmagw pdistib paveb pmvzb pmvnzb pmvlzb pmvgezb pfacc pfadd pfsub pfsubr pfmul pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pi2fd pf2id pavgusb pmulhrw femms pfnacc pfpnacc pi2fw pf2iw pswapd pfrsqrtv pfrcpv prefetch prefetchw addss addps subss subps mulss mulps divss divps sqrtss sqrtps rcpss rcpps rsqrtss rsqrtps maxss maxps minss minps cmpss comiss ucomiss cmpps cmpeqss cmpltss cmpless cmpunordss cmpneqss cmpnltss cmpnless cmpordss cmpeqps cmpltps cmpleps cmpunordps cmpneqps cmpnltps cmpnleps cmpordps andnps andps orps xorps cvtsi2ss cvtss2si cvttss2si cvtpi2ps cvtps2pi cvttps2pi movss movlps movhps movlhps movhlps movaps movups movntps movmskps shufps unpckhps unpcklps ldmxcsr stmxcsr addpd addsd subpd subsd mulsd mulpd divsd divpd sqrtsd sqrtpd maxsd maxpd minsd minpd cmpsd comisd ucomisd cmppd cmpeqsd cmpltsd cmplesd cmpunordsd cmpneqsd cmpnltsd cmpnlesd cmpordsd cmpeqpd cmpltpd cmplepd cmpunordpd cmpneqpd cmpnltpd cmpnlepd cmpordpd andnpd andpd orpd xorpd cvtsd2ss cvtpd2ps cvtss2sd cvtps2pd cvtdq2ps cvtps2dq cvttps2dq cvtdq2pd cvtpd2dq cvttpd2dq cvtsi2sd cvtsd2si cvttsd2si cvtpi2pd cvtpd2pi cvttpd2pi movsd movlpd movhpd movapd movupd movntpd movmskpd shufpd unpckhpd unpcklpd movnti movdqa movdqu movntdq maskmovdqu movdq2q movq2dq paddq psubq pmuludq pslldq psrldq punpcklqdq punpckhqdq pshufhw pshuflw pshufd lfence mfence addsubps addsubpd haddps haddpd hsubps hsubpd movsldup movshdup movddup lddqu fisttp psignb psignw psignd pabsb pabsw pabsd palignr pshufb pmulhrsw pmaddubsw phaddw phaddd phaddsw phsubw phsubd phsubsw extrq insertq movntsd movntss mpsadbw phminposuw pmuldq pmulld dpps dppd blendps blendpd blendvps blendvpd pblendvb pblendw pmaxsb pmaxuw pmaxsd pmaxud pminsb pminuw pminsd pminud roundps roundss roundpd roundsd insertps pinsrb pinsrd pinsrq extractps pextrb pextrd pextrq pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq ptest pcmpeqq packusdw movntdqa pcmpgtq pcmpestri pcmpestrm pcmpistri pcmpistrm aesenc aesenclast aesdec aesdeclast aeskeygenassist aesimc xcryptcbc xcryptcfb xcryptctr xcryptecb xcryptofb xsha1 xsha256 montmul xstore vaddss vaddps vaddsd vaddpd vsubss vsubps vsubsd vsubpd vaddsubps vaddsubpd vhaddps vhaddpd vhsubps vhsubpd vmulss vmulps vmulsd vmulpd vmaxss vmaxps vmaxsd vmaxpd vminss vminps vminsd vminpd vandps vandpd vandnps vandnpd vorps vorpd vxorps vxorpd vblendps vblendpd vblendvps vblendvpd vcmpss vcomiss vucomiss vcmpsd vcomisd vucomisd vcmpps vcmppd vcmpeqss vcmpltss vcmpless vcmpunordss vcmpneqss vcmpnltss vcmpnless vcmpordss vcmpeq_uqss vcmpngess vcmpngtss vcmpfalsess vcmpneq_oqss vcmpgess vcmpgtss vcmptruess vcmpeq_osss vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpeqps vcmpltps vcmpleps vcmpunordps vcmpneqps vcmpnltps vcmpnleps vcmpordps vcmpeq_uqps vcmpngeps vcmpngtps vcmpfalseps vcmpneq_oqps vcmpgeps vcmpgtps vcmptrueps vcmpeq_osps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpeqsd vcmpltsd vcmplesd vcmpunordsd vcmpneqsd vcmpnltsd vcmpnlesd vcmpordsd vcmpeq_uqsd vcmpngesd vcmpngtsd vcmpfalsesd vcmpneq_oqsd vcmpgesd vcmpgtsd vcmptruesd vcmpeq_ossd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpeqpd vcmpltpd vcmplepd vcmpunordpd vcmpneqpd vcmpnltpd vcmpnlepd vcmpordpd vcmpeq_uqpd vcmpngepd vcmpngtpd vcmpfalsepd vcmpneq_oqpd vcmpgepd vcmpgtpd vcmptruepd vcmpeq_ospd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcvtsd2ss vcvtpd2ps vcvtss2sd vcvtps2pd vcvtsi2ss vcvtss2si vcvttss2si vcvtpi2ps vcvtps2pi vcvttps2pi vcvtdq2ps vcvtps2dq vcvttps2dq vcvtdq2pd vcvtpd2dq vcvttpd2dq vcvtsi2sd vcvtsd2si vcvttsd2si vcvtpi2pd vcvtpd2pi vcvttpd2pi vdivss vdivps vdivsd vdivpd vsqrtss vsqrtps vsqrtsd vsqrtpd vdpps vdppd vmaskmovps vmaskmovpd vmovss vmovsd vmovaps vmovapd vmovups vmovupd vmovntps vmovntpd vmovhlps vmovlhps vmovlps vmovlpd vmovhps vmovhpd vmovsldup vmovshdup vmovddup vmovmskps vmovmskpd vroundss vroundps vroundsd vroundpd vrcpss vrcpps vrsqrtss vrsqrtps vunpcklps vunpckhps vunpcklpd vunpckhpd vbroadcastss vbroadcastsd vbroadcastf128 vextractps vinsertps vextractf128 vinsertf128 vshufps vshufpd vpermilps vpermilpd vperm2f128 vtestps vtestpd vpaddb vpaddusb vpaddsb vpaddw vpaddusw vpaddsw vpaddd vpaddq vpsubb vpsubusb vpsubsb vpsubw vpsubusw vpsubsw vpsubd vpsubq vphaddw vphaddsw vphaddd vphsubw vphsubsw vphsubd vpsllw vpslld vpsllq vpsrlw vpsrld vpsrlq vpsraw vpsrad vpand vpandn vpor vpxor vpblendwb vpblendw vpsignb vpsignw vpsignd vpavgb vpavgw vpabsb vpabsw vpabsd vmovd vmovq vmovdqa vmovdqu vlddqu vmovntdq vmovntdqa vmaskmovdqu vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpackuswb vpacksswb vpackusdw vpackssdw vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpmaddubsw vpmaddwd vpmullw vpmulhuw vpmulhw vpmulhrsw vpmulld vpmuludq vpmuldq vpmaxub vpmaxsb vpmaxuw vpmaxsw vpmaxud vpmaxsd vpminub vpminsb vpminuw vpminsw vpminud vpminsd vpmovmskb vptest vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpslldq vpsrldq vpalignr vpshufb vpshuflw vpshufhw vpshufd vpextrb vpextrw vpextrd vpextrq vpinsrb vpinsrw vpinsrd vpinsrq vpsadbw vmpsadbw vphminposuw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpclmulqdq vaesenc vaesenclast vaesdec vaesdeclast vaeskeygenassist vaesimc vldmxcsr vstmxcsr vzeroall vzeroupper vbroadcasti128 vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpblendd vpermd vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrldq vpgatherdd vpgatherqd vgatherdq vgatherqq vpermps vpermpd vgatherdpd vgatherqpd vgatherdps vgatherqps vfrczss vfrczps vfrczsd vfrczpd vpermil2ps vperlil2pd vtestps vtestpd vpcomub vpcomb vpcomuw vpcomw vpcomud vpcomd vpcomuq vpcomq vphaddubw vphaddbw vphaddubd vphaddbd vphaddubq vphaddbq vphadduwd vphaddwd vphadduwq vphaddwq vphaddudq vphadddq vphsubbw vphsubwd vphsubdq vpmacsdd vpmacssdd vpmacsdql vpmacssdql vpmacsdqh vpmacssdqh vpmacsww vpmacssww vpmacswd vpmacsswd vpmadcswd vpmadcsswd vpcmov vpperm vprotb vprotw vprotd vprotq vpshab vpshaw vpshad vpshaq vpshlb vpshlw vpshld vpshlq vcvtph2ps vcvtps2ph vfmaddss vfmaddps vfmaddsd vfmaddpd vfmsubss vfmsubps vfmsubsd vfmsubpd vnfmaddss vnfmaddps vnfmaddsd vnfmaddpd vnfmsubss vnfmsubps vnfmsubsd vnfmsubpd vfmaddsubps vfmaddsubpd vfmsubaddps vfmsubaddpd vfmadd132ss vfmadd213ss vfmadd231ss vfmadd132ps vfmadd213ps vfmadd231ps vfmadd132sd vfmadd213sd vfmadd231sd vfmadd132pd vfmadd213pd vfmadd231pd vfmaddsub132ps vfmaddsub213ps vfmaddsub231ps vfmaddsub132pd vfmaddsub213pd vfmaddsub231pd vfmsubadd132ps vfmsubadd213ps vfmsubadd231ps vfmsubadd132pd vfmsubadd213pd vfmsubadd231pd vfmsub132ss vfmsub213ss vfmsub231ss vfmsub132ps vfmsub213ps vfmsub231ps vfmsub132sd vfmsub213sd vfmsub231sd vfmsub132pd vfmsub213pd vfmsub231pd vfnmadd132ss vfnmadd213ss vfnmadd231ss vfnmadd132ps vfnmadd213ps vfnmadd231ps vfnmadd132sd vfnmadd213sd vfnmadd231sd vfnmadd132pd vfnmadd213pd vfnmadd231pd vfnmsub132ss vfnmsub213ss vfnmsub231ss vfnmsub132ps vfnmsub213ps vfnmsub231ps vfnmsub132sd vfnmsub213sd vfnmsub231sd vfnmsub132pd vfnmsub213pd vfnmsub231pd :M[color.comment],1M[color.set] :M[color.number],2M[color.set] :M[color.string],3M[color.set] :M[color.operator],4M[color.set] !!:M[color.variable],5M[color.set] :M[color.keyword],6M[color.set] :M[color.keyword],7M[color.set] :M[color.preproc],9M[color.set] :M[color.preproc2],10M[color.set] :M[color.comment],11M[color.set] :M[color.string2],12M[color.set] :M[color.keyword],14M[color.set] :M[color.comment],15M[color.set] }