Advertisement
Maratyszcza

SciTE Asm-x86/x64 Syntax File (NASM + MASM)

Sep 26th, 2011
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Define SciTE settings for Assembler files
  2. # Originally by Black Horus blackhorus@gmx.net 2002
  3. # Updated by Kein-Hong Man mkh@pl.jaring.my 2003-10
  4. # Updated by Marat Dukhan (mdukhan3.at.gatech.dot.edu) 10/4/2011
  5.  
  6. # Nasm files
  7. file.patterns.asm=*.asm
  8. filter.asm=Assembler x86/x64(asm)|$(file.patterns.asm)|
  9.  
  10. lexer.$(file.patterns.asm)=asm
  11.  
  12. privileged_instruction=cli sti clts hlt rsm \
  13.     in ins insb insw insd \
  14.     out outs outsb outsw outsd \
  15.     clflush invd invlpg invpcid wbinvd \
  16.     iret iretd iretq sysexit sysret \
  17.     lidt lgdt lldt lmsw ltr \
  18.     monitor mwait \
  19.     rdmsr wrmsr swapgs \
  20.     fxsave fxsave64 fxrstor fxrstor64 \
  21.     xsave xsaveopt xrstor xsetbv \
  22.     getsec
  23.  
  24. vmx_instruction=invept invvpid \
  25.     vmcall vmclear vmlaunch vmresume \
  26.     vmptrld vmptrst vmread vmwrite \
  27.     vmxoff vmxon
  28.  
  29. svm_instruction=invlpga skinit clgi stgi \
  30.     vmload vmsave vmmcall vmrun
  31.  
  32. fsgsbase_instruction=rdfsbase rdgsbase wrfsbase wrgsbase
  33.  
  34. legacy_instruction=arpl ud2 wait \
  35.     lds les lfs lgs lss lsl \
  36.     verr verw
  37.  
  38. bcd_instruction=aaa aad aam aas daa das
  39.  
  40. flow_instruction=ja jae jb jbe jc jcxz je jg jge jl jle jmp jna \
  41.     jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz \
  42.     jo jp jpe jpo js jz \
  43.     jcxz jecxz jrcxz \
  44.     loop loope loopne loopz loopnz \
  45.     call ret enter leave \
  46.     syscall sysenter \
  47.     int int3 into
  48.  
  49. alu_instruction=add sub adc sbb neg cmp inc dec \
  50.     and or xor not test \
  51.     shl shr sal sar shld shrd rol ror rcl rcr \
  52.     cbw cwd cwde cdq cdqe cqo \
  53.     bsf bsr bt btc btr bts \
  54.     idiv imul div mul bswap \
  55.     nop
  56.  
  57. mem_instruction=lea \
  58.     mov movsx movsxd movzx \
  59.     xlat xlatb bound \
  60.     xchg xadd cmpxchg cmpxchg8b cmpxchg16b
  61.  
  62. stack_instruction=push pop pusha popa pushad popad pushf popf pushfd popfd pushfq popfq
  63.  
  64. pred_instruction=seta setae setb setbe setc sete setg setge setl \
  65.     setle setna setnae setnb setnbe setnc setne setng setnge \
  66.     setnl setnle setno setnp setns setnz seto setp setpe setpo \
  67.     sets setz \
  68.     salc
  69.    
  70. flag_instruction=clc cld stc std cmc lahf sahf
  71.  
  72. cmov_instruction=cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb \
  73.     cmovnc cmove cmovz cmovne cmovnz cmovbe cmovna cmova \
  74.     cmovnbe cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl \
  75.     cmovnge cmovge cmovnl cmovle cmovng cmovg cmovnle
  76.  
  77. prefix_instruction=lock rep repe repz repne repnz
  78.  
  79. string_instruction=cmps cmpsb cmpsw cmpsq \
  80.     movs movsb movsw movsq \
  81.     scas scasb scasw scasd scasq \
  82.     stos stosb stosw stosd stosq \
  83.     lods lodsb lodsw lodsd lodsq
  84.  
  85. info_instruction=cpuid rdtsc rdtscp rdpmc xgetbv \
  86.     sgdt sidt sldt smsw str lar
  87.  
  88. lwp_instruction=llwpcb slwpcb lwpval lwpins
  89.  
  90. ext_instruction=crc32 popcnt lzcnt tzcnt movbe pclmulqdq rdrand
  91.  
  92. bmi1_instruction=andn bextr blsi blsmk blsr
  93.  
  94. bmi2_instruction=bzhi mulx pdep pext rorx sarx shlx shrx
  95.  
  96. tbm_instruction=blcfill blci blcic blcmsk blcs blsfill blsic t1mskc tzmsk
  97.  
  98. # Pseudo-instructions supported by MASM
  99. masm_instruction=iretf iretdf \
  100.     loopw loopd \
  101.     loopew looped loopz loopzw loopzd \
  102.     loopnew loopned loopnz loopnzw loopnzd \
  103.     pushw pushd \
  104.     retn retf
  105.  
  106. fpu_instruction=f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp \
  107.     fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv \
  108.     fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 \
  109.     fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul \
  110.     fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv \
  111.     fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave \
  112.     fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp \
  113.     fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 \
  114.     fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos \
  115.     fstenvd fucom fucomp fucompp fcomi fcomip fucomi fucomip ffreep \
  116.     fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu
  117.    
  118. mmx_instruction=movd movq \
  119.     paddb paddw paddd paddsb paddsw paddusb paddusw \
  120.     psubb psubw psubd psubsb psubsw psubusb psubusw \
  121.     pand pandn por pxor \
  122.     pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw \
  123.     pmaddwd pmulhw pmullw \
  124.     psllw pslld psllq psrlw psrld psrlq psraw psrad \
  125.     packuswb packsswb packssdw \
  126.     punpcklbw punpcklwd punpckldq punpckhbw punpckhwd punpckhdq \
  127.     emms
  128.  
  129. mmx2_instruction=pavgb pavgw \
  130.     pextrw pinsrw pmovmskb \
  131.     pmaxsw pmaxub pminsw pminub \
  132.     pmulhuw psadbw pshufw \
  133.     prefetchnta prefetcht0 prefetcht1 prefetcht2 \
  134.     maskmovq movntq sfence
  135.  
  136. emmx_instruction=paddsiw psubsiw \
  137.     pmulhrw pmachriw pmulhriw \
  138.     pmagw pdistib paveb \
  139.     pmvzb pmvnzb pmvlzb pmvgezb
  140.  
  141. k3d_instruction=pfacc pfadd pfsub pfsubr pfmul \
  142.     pfcmpeq pfcmpge pfcmpgt \
  143.     pfmax pfmin \
  144.     pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt \
  145.     pi2fd pf2id \
  146.     pavgusb pmulhrw \
  147.     femms
  148.  
  149. k3d2_instruction=pfnacc pfpnacc pi2fw pf2iw pswapd
  150.  
  151. k3dgeode_instruction=pfrsqrtv pfrcpv
  152.  
  153. k3dprefetch_instruction=prefetch prefetchw
  154.  
  155. sse_instruction=addss addps subss subps \
  156.     mulss mulps divss divps sqrtss sqrtps \
  157.     rcpss rcpps rsqrtss rsqrtps \
  158.     maxss maxps minss minps \
  159.     cmpss comiss ucomiss cmpps \
  160.     cmpeqss cmpltss cmpless cmpunordss cmpneqss cmpnltss cmpnless cmpordss \
  161.     cmpeqps cmpltps cmpleps cmpunordps cmpneqps cmpnltps cmpnleps cmpordps \
  162.     andnps andps orps xorps \
  163.     cvtsi2ss cvtss2si cvttss2si \
  164.     cvtpi2ps cvtps2pi cvttps2pi \
  165.     movss movlps movhps movlhps movhlps movaps movups movntps movmskps \
  166.     shufps unpckhps unpcklps \
  167.     ldmxcsr stmxcsr
  168.  
  169. sse2_instruction=addpd addsd subpd subsd \
  170.     mulsd mulpd divsd divpd sqrtsd sqrtpd \
  171.     maxsd maxpd minsd minpd \
  172.     comisd ucomisd cmpsd cmppd \
  173.     cmpeqsd cmpltsd cmplesd cmpunordsd cmpneqsd cmpnltsd cmpnlesd cmpordsd \
  174.     cmpeqpd cmpltpd cmplepd cmpunordpd cmpneqpd cmpnltpd cmpnlepd cmpordpd \
  175.     andnpd andpd orpd xorpd \
  176.     cvtsd2ss cvtpd2ps cvtss2sd cvtps2pd \
  177.     cvtdq2ps cvtps2dq cvttps2dq \
  178.     cvtdq2pd cvtpd2dq cvttpd2dq \
  179.     cvtsi2sd cvtsd2si cvttsd2si \
  180.     cvtpi2pd cvtpd2pi cvttpd2pi \
  181.     movsd movlpd movhpd movapd movupd movntpd movmskpd \
  182.     shufpd unpckhpd unpcklpd \
  183.     movnti movdqa movdqu movntdq maskmovdqu \
  184.     movdq2q movq2dq \
  185.     paddq psubq pmuludq \
  186.     pslldq psrldq \
  187.     punpcklqdq punpckhqdq \
  188.     pshufhw pshuflw pshufd \
  189.     lfence mfence
  190.  
  191. sse3_instruction=addsubps addsubpd \
  192.     haddps haddpd hsubps hsubpd \
  193.     movsldup movshdup movddup \
  194.     lddqu \
  195.     fisttp
  196.    
  197. ssse3_instruction=psignb psignw psignd \
  198.     pabsb pabsw pabsd \
  199.     palignr pshufb \
  200.     pmulhrsw pmaddubsw \
  201.     phaddw phaddd phaddsw \
  202.     phsubw phsubd phsubsw
  203.  
  204. sse4a_instruction=extrq insertq \
  205.     movntsd movntss
  206.  
  207. sse41_instruction=mpsadbw phminposuw \
  208.     pmuldq pmulld \
  209.     dpps dppd \
  210.     blendps blendpd blendvps blendvpd pblendvb pblendw \
  211.     pmaxsb pmaxuw pmaxsd pmaxud pminsb pminuw pminsd pminud \
  212.     roundps roundss roundpd roundsd \
  213.     insertps pinsrb pinsrd pinsrq \
  214.     extractps pextrb pextrd pextrq \
  215.     pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq \
  216.     pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq \
  217.     ptest \
  218.     pcmpeqq \
  219.     packusdw \
  220.     movntdqa
  221.  
  222. sse42_instruction=pcmpgtq \
  223.     pcmpestri pcmpestrm pcmpistri pcmpistrm
  224.  
  225. aes_instruction=aesenc aesenclast aesdec aesdeclast aeskeygenassist aesimc
  226.  
  227. padlock_instruction=xcryptcbc xcryptcfb xcryptctr xcryptecb xcryptofb \
  228.     xsha1 xsha256 montmul xstore
  229.  
  230. avx_instruction=vaddss vaddps vaddsd vaddpd vsubss vsubps vsubsd vsubpd \
  231.     vaddsubps vaddsubpd \
  232.     vhaddps vhaddpd vhsubps vhsubpd \
  233.     vmulss vmulps vmulsd vmulpd \
  234.     vmaxss vmaxps vmaxsd vmaxpd vminss vminps vminsd vminpd \
  235.     vandps vandpd vandnps vandnpd vorps vorpd vxorps vxorpd \
  236.     vblendps vblendpd vblendvps vblendvpd \
  237.     vcmpss vcomiss vucomiss vcmpsd vcomisd vucomisd vcmpps vcmppd \
  238.     vcmpeqss vcmpltss vcmpless vcmpunordss vcmpneqss vcmpnltss vcmpnless vcmpordss \
  239.     vcmpeq_uqss vcmpngess vcmpngtss vcmpfalsess vcmpneq_oqss vcmpgess vcmpgtss vcmptruess \
  240.     vcmpeq_osss vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss \
  241.     vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss \
  242.     vcmpeqps vcmpltps vcmpleps vcmpunordps vcmpneqps vcmpnltps vcmpnleps vcmpordps \
  243.     vcmpeq_uqps vcmpngeps vcmpngtps vcmpfalseps vcmpneq_oqps vcmpgeps vcmpgtps vcmptrueps \
  244.     vcmpeq_osps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps \
  245.     vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps \
  246.     vcmpeqsd vcmpltsd vcmplesd vcmpunordsd vcmpneqsd vcmpnltsd vcmpnlesd vcmpordsd \
  247.     vcmpeq_uqsd vcmpngesd vcmpngtsd vcmpfalsesd vcmpneq_oqsd vcmpgesd vcmpgtsd vcmptruesd \
  248.     vcmpeq_ossd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd \
  249.     vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd \
  250.     vcmpeqpd vcmpltpd vcmplepd vcmpunordpd vcmpneqpd vcmpnltpd vcmpnlepd vcmpordpd \
  251.     vcmpeq_uqpd vcmpngepd vcmpngtpd vcmpfalsepd vcmpneq_oqpd vcmpgepd vcmpgtpd vcmptruepd \
  252.     vcmpeq_ospd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd \
  253.     vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd \
  254.     vcvtsd2ss vcvtpd2ps vcvtss2sd vcvtps2pd \
  255.     vcvtsi2ss vcvtss2si vcvttss2si \
  256.     vcvtpi2ps vcvtps2pi vcvttps2pi \
  257.     vcvtdq2ps vcvtps2dq vcvttps2dq \
  258.     vcvtdq2pd vcvtpd2dq vcvttpd2dq \
  259.     vcvtsi2sd vcvtsd2si vcvttsd2si \
  260.     vcvtpi2pd vcvtpd2pi vcvttpd2pi \
  261.     vdivss vdivps vdivsd vdivpd vsqrtss vsqrtps vsqrtsd vsqrtpd \
  262.     vdpps vdppd \
  263.     vmaskmovps vmaskmovpd \
  264.     vmovss vmovsd vmovaps vmovapd vmovups vmovupd vmovntps vmovntpd \
  265.     vmovhlps vmovlhps vmovlps vmovlpd vmovhps vmovhpd \
  266.     vmovsldup vmovshdup vmovddup \
  267.     vmovmskps vmovmskpd \
  268.     vroundss vroundps vroundsd vroundpd \
  269.     vrcpss vrcpps vrsqrtss vrsqrtps \
  270.     vunpcklps vunpckhps vunpcklpd vunpckhpd \
  271.     vbroadcastss vbroadcastsd vbroadcastf128 \
  272.     vextractps vinsertps vextractf128 vinsertf128 \
  273.     vshufps vshufpd vpermilps vpermilpd vperm2f128 \
  274.     vtestps vtestpd \
  275.     vpaddb vpaddusb vpaddsb vpaddw vpaddusw vpaddsw vpaddd vpaddq \
  276.     vpsubb vpsubusb vpsubsb vpsubw vpsubusw vpsubsw vpsubd vpsubq \
  277.     vphaddw vphaddsw vphaddd vphsubw vphsubsw vphsubd \
  278.     vpsllw vpslld vpsllq vpsrlw vpsrld vpsrlq vpsraw vpsrad \
  279.     vpand vpandn vpor vpxor \
  280.     vpblendwb vpblendw \
  281.     vpsignb vpsignw vpsignd \
  282.     vpavgb vpavgw \
  283.     vpabsb vpabsw vpabsd \
  284.     vmovd vmovq vmovdqa vmovdqu vlddqu vmovntdq vmovntdqa vmaskmovdqu \
  285.     vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq \
  286.     vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq \
  287.     vpackuswb vpacksswb vpackusdw vpackssdw \
  288.     vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq \
  289.     vpmaddubsw vpmaddwd \
  290.     vpmullw vpmulhuw vpmulhw vpmulhrsw vpmulld vpmuludq vpmuldq \
  291.     vpmaxub vpmaxsb vpmaxuw vpmaxsw vpmaxud vpmaxsd \
  292.     vpminub vpminsb vpminuw vpminsw vpminud vpminsd \
  293.     vpmovmskb vptest \
  294.     vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq \
  295.     vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq \
  296.     vpslldq vpsrldq vpalignr \
  297.     vpshufb vpshuflw vpshufhw vpshufd \
  298.     vpextrb vpextrw vpextrd vpextrq vpinsrb vpinsrw vpinsrd vpinsrq \
  299.     vpsadbw vmpsadbw vphminposuw \
  300.     vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm \
  301.     vpclmulqdq vaesenc vaesenclast vaesdec vaesdeclast vaeskeygenassist vaesimc \
  302.     vldmxcsr vstmxcsr vzeroall vzeroupper
  303.  
  304. avx2_instruction=vbroadcasti128 vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq \
  305.     vpblendd \
  306.     vpermd vpermq vperm2i128 \
  307.     vextracti128 vinserti128 \
  308.     vpmaskmovd vpmaskmovq \
  309.     vpsllvd vpsllvq vpsravd vpsrlvd vpsrldq \
  310.     vpgatherdd vpgatherqd vgatherdq vgatherqq \
  311.     vpermps vpermpd \
  312.     vgatherdpd vgatherqpd vgatherdps vgatherqps
  313.  
  314. xop_instruction=vfrczss vfrczps vfrczsd vfrczpd \
  315.     vpermil2ps vperlil2pd \
  316.     vtestps vtestpd \
  317.     vpcomub vpcomb vpcomuw vpcomw vpcomud vpcomd vpcomuq vpcomq \
  318.     vphaddubw vphaddbw vphaddubd vphaddbd vphaddubq vphaddbq \
  319.     vphadduwd vphaddwd vphadduwq vphaddwq vphaddudq vphadddq \
  320.     vphsubbw vphsubwd vphsubdq \
  321.     vpmacsdd vpmacssdd vpmacsdql vpmacssdql vpmacsdqh vpmacssdqh \
  322.     vpmacsww vpmacssww vpmacswd vpmacsswd \
  323.     vpmadcswd vpmadcsswd \
  324.     vpcmov vpperm \
  325.     vprotb vprotw vprotd vprotq \
  326.     vpshab vpshaw vpshad vpshaq \
  327.     vpshlb vpshlw vpshld vpshlq
  328.  
  329. cvt16_instruction=vcvtph2ps vcvtps2ph
  330.  
  331. fma4_instruction=vfmaddss vfmaddps vfmaddsd vfmaddpd \
  332.     vfmsubss vfmsubps vfmsubsd vfmsubpd \
  333.     vnfmaddss vnfmaddps vnfmaddsd vnfmaddpd \
  334.     vnfmsubss vnfmsubps vnfmsubsd vnfmsubpd \
  335.     vfmaddsubps vfmaddsubpd vfmsubaddps vfmsubaddpd
  336.  
  337. fma3_instruction=vfmadd132ss vfmadd213ss vfmadd231ss \
  338.     vfmadd132ps vfmadd213ps vfmadd231ps \
  339.     vfmadd132sd vfmadd213sd vfmadd231sd \
  340.     vfmadd132pd vfmadd213pd vfmadd231pd \
  341.     vfmaddsub132ps vfmaddsub213ps vfmaddsub231ps \
  342.     vfmaddsub132pd vfmaddsub213pd vfmaddsub231pd \
  343.     vfmsubadd132ps vfmsubadd213ps vfmsubadd231ps \
  344.     vfmsubadd132pd vfmsubadd213pd vfmsubadd231pd \
  345.     vfmsub132ss vfmsub213ss vfmsub231ss \
  346.     vfmsub132ps vfmsub213ps vfmsub231ps \
  347.     vfmsub132sd vfmsub213sd vfmsub231sd \
  348.     vfmsub132pd vfmsub213pd vfmsub231pd \
  349.     vfnmadd132ss vfnmadd213ss vfnmadd231ss \
  350.     vfnmadd132ps vfnmadd213ps vfnmadd231ps \
  351.     vfnmadd132sd vfnmadd213sd vfnmadd231sd \
  352.     vfnmadd132pd vfnmadd213pd vfnmadd231pd \
  353.     vfnmsub132ss vfnmsub213ss vfnmsub231ss \
  354.     vfnmsub132ps vfnmsub213ps vfnmsub231ps \
  355.     vfnmsub132sd vfnmsub213sd vfnmsub231sd \
  356.     vfnmsub132pd vfnmsub213pd vfnmsub231pd
  357.  
  358. register=al ah bl bh cl ch dl dh \
  359.     ax bx cx dx si di bp sp \
  360.     eax ebx ecx edx esi edi ebp esp \
  361.     st st0 st1 st2 st3 st4 st5 st6 st7 \
  362.     mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 \
  363.     xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 \
  364.     ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 \
  365.     cs ds es fs gs ss \
  366.     dr0 dr1 dr2 dr3 dr6 dr7 \
  367.     cr0 cr2 cr3 cr4
  368.  
  369. register_64=sil dil bpl \
  370.     r8b r9b r10b r11b r12b r13b r14b r15b \
  371.     r8w r9w r10w r11w r12w r13w r14w r15w \
  372.     r8d r9d r10d r11d r12d r13d r14d r15d \
  373.     rax rcx rdx rbx rsp rbp rsi rdi \
  374.     r8 r9 r10 r11 r12 r13 r14 r15 \
  375.     xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 \
  376.     ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 \
  377.     cr8
  378.  
  379.  
  380. directive=.186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p \
  381.     .586 .586p .686 .686p .8086 .8087 \
  382.     .allockstack .alpha .break .code .const .continue .cref .data .data?  \
  383.     .dosseg .else .elseif .endif .endprolog .endw .err .err1 .err2 .errb \
  384.     .errdef .errdif .errdifi .erre .erridn .erridni .errnb .errndef \
  385.     .errnz .exit .fardata .fardata? .if .lall .lfcond .list .listall \
  386.     .listif .listmacro .listmacroall  .model .mmx .no87 .nocref .nolist \
  387.     .nolistif .nolistmacro .pushframe .pushreg .radix .repeat .sall \
  388.     .savereg .savexmm128 .setframe .seq .sfcond .stack \
  389.     .startup .tfcond .type .until .untilcxz .while .xall .xcref \
  390.     .xlist .xmm alias align assume catstr comm comment db dd df dosseg dq \
  391.     dt dup dw echo else elseif elseif1 elseif2 elseifb elseifdef elseifdif \
  392.     elseifdifi elseife elseifidn elseifidni elseifnb elseifndef end \
  393.     endif endm endp ends eq equ even exitm extern externdef extrn for \
  394.     forc ge goto group gt high highword if if1 if2 ifb ifdef ifdif \
  395.     ifdifi ife  ifidn ifidni ifnb ifndef include includelib instr invoke \
  396.     irp irpc label le length lengthof local low lowword lroffset \
  397.     lt macro mask mod .msfloat name ne offset opattr option org %out \
  398.     page popcontext proc proto ptr public purge pushcontext record \
  399.     repeat rept seg segment short size sizeof sizestr struc struct \
  400.     substr subtitle subttl textequ this title type typedef union while width
  401.  
  402. directive_nasm=db dw dd dq dt do dy \
  403.     resb resw resd resq rest reso resy incbin equ times safeseh \
  404.     __utf16__ __utf32__ %+ \
  405.     default cpu float start imagebase osabi \
  406.     ..start ..imagebase ..gotpc ..gotoff ..gottpoff ..got ..plt ..sym ..tlsie \
  407.     section segment __sect__ group absolute \
  408.     .bss .comment .data .lbss .ldata .lrodata .rdata .rodata .tbss .tdata .text \
  409.     alloc bss code exec data noalloc nobits noexec nowrite progbits rdata tls write \
  410.     private public common stack overlay class \
  411.     extern global common import export \
  412.     %define %idefine %xdefine %ixdefine %assign %undef %? %?? \
  413.     %defstr %idefstr %deftok %ideftok \
  414.     %strcat %strlen %substr \
  415.     %macro %imacro %rmacro %exitmacro %endmacro %unmacro \
  416.     %if %ifn %elif %elifn %else %endif \
  417.     %ifdef %ifndef %elifdef %elifndef \
  418.     %ifmacro %ifnmacro %elifmacro %elifnmacro \
  419.     %ifctx %ifnctx %elifctx %elifnctx \
  420.     %ifidn %ifnidn %elifidn %elifnidn \
  421.     %ifidni %ifnidni %elifidni %elifnidni \
  422.     %ifid %ifnid %elifid %elifnid \
  423.     %ifnum %ifnnum %elifnum %elifnnum \
  424.     %ifstr %ifnstr %elifstr %elifnstr \
  425.     %iftoken %ifntoken %eliftoken %elifntoken \
  426.     %ifempty %elifempty %ifnempty %elifnempty \
  427.     %ifenv %ifnenv %elifenv %elifnenv \
  428.     %rep %exitrep %endrep \
  429.     %while %exitwhile %endwhile \
  430.     %include %pathsearch %depend %use \
  431.     %push %pop %repl %arg %local %stacksize flat flat64 large small \
  432.     %error %warning %fatal \
  433.     %00 .nolist %rotate %line %! %final %clear \
  434.     struc endstruc istruc at iend \
  435.     align alignb sectalign \
  436.     bits use16 use32 use64 \
  437.     __nasm_major__ __nasm_minor__ __nasm_subminor__ ___nasm_patchlevel__ \
  438.     __nasm_version_id__ __nasm_ver__ \
  439.     __file__ __line__ __pass__ __bits__ __output_format__ \
  440.     __date__ __time__ __date_num__ __time_num__ __posix_time__ \
  441.     __utc_date__ __utc_time__ __utc_date_num__ __utc_time_num__ \
  442.     __float_daz__ __float_round__ __float__ \
  443.     __use_altreg__ altreg \
  444.     __use_smartalign__ smartalign __alignmode__ \
  445.     __use_fp__ __infinity__ __nan__ __qnan__ __snan__ \
  446.     __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__
  447.  
  448. directive_operand=$ ? @b @f addr basic byte c carry? dword \
  449.     far far16 fortran fword near near16 overflow? parity? pascal qword  \
  450.     real4  real8 real10 sbyte sdword sign? stdcall sword syscall tbyte \
  451.     vararg word zero? flat near32 far32 \
  452.     abs all assumes at casemap common compact \
  453.     cpu dotname emulator epilogue error export expr16 expr32 farstack flat \
  454.     forceframe huge language large listing ljmp loadds m510 medium memory \
  455.     nearstack nodotname noemulator nokeyword noljmp nom510 none nonunique \
  456.     nooldmacros nooldstructs noreadonly noscoped nosignextend nothing \
  457.     notpublic oldmacros oldstructs os_dos para private prologue radix \
  458.     readonly req scoped setif2 smallstack tiny use16 use32 uses
  459.  
  460. directive_operand_nasm=a16 a32 a64 o16 o32 o64 strict \
  461.     byte word dword qword tword oword yword nosplit \
  462.     %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 \
  463.     abs rel \
  464.     $ $$ \
  465.     seg wrt
  466.  
  467. keywords.$(file.patterns.asm)=$(bcd_instruction) $(flow_instruction) $(alu_instruction) $(mem_instruction) $(stack_instruction) $(pred_instruction) $(flag_instruction) $(cmov_instruction) $(prefix_instruction) $(string_instruction) $(info_instruction) $(lwp_instruction) $(ext_instruction) $(fsgsbase_instruction) $(legacy_instruction) $(bmi1_instruction) $(bmi2_instruction) $(tbm_instruction) $(masm_instruction) $(privileged_instruction) $(vmx_instruction) $(svm_instruction)
  468. keywords2.$(file.patterns.asm)=$(fpu_instruction)
  469. keywords3.$(file.patterns.asm)=$(register) $(register_64)
  470. keywords4.$(file.patterns.asm)=$(directive) $(directive_nasm)
  471. keywords5.$(file.patterns.asm)=$(directive_operand) $(directive_operand_nasm)
  472. keywords6.$(file.patterns.asm)=$(mmx_instruction) $(mmx2_instruction) $(emmx_instruction) $(k3d_instruction) $(k3d2_instruction) $(k3dgeode_instruction) $(k3dprefetch_instruction) $(sse_instruction) $(sse2_instruction) $(sse3_instruction) $(ssse3_instruction) $(sse4a_instruction) $(sse41_instruction) $(sse42_instruction) $(aes_instruction) $(padlock_instruction) $(avx_instruction) $(avx2_instruction) $(xop_instruction) $(cvt16_instruction) $(fma4_instruction) $(fma3_instruction)
  473.  
  474. comment.block.asm=;
  475.  
  476.  
  477. # Assembler Styles
  478. #style.asm.32=fore:#808080,font:Verdana,size:8
  479. # Default
  480. style.asm.0=
  481. # Comment
  482. style.asm.1=fore:#adadad
  483. #$(colour.code.comment.line),font:Comic Sans MS,size:8
  484. # Number
  485. style.asm.2=fore:#ff0000
  486. # String
  487. style.asm.3=$(colour.string)
  488. # Operator
  489. style.asm.4=$(colour.operator),bold
  490. # Identifier
  491. style.asm.5=
  492. # CPU instruction
  493. style.asm.6=$(colour.keyword),bold
  494. #fore:#0000ff
  495. # FPU instruction
  496. style.asm.7=fore:#0000ff
  497. # Register
  498. style.asm.8=fore:#46aa03,bold
  499. # assembler Directive
  500. style.asm.9=fore:#0000ff
  501. # assembler Directive Operand
  502. style.asm.10=fore:#0000ff
  503. # Comment block (GNU as /*...*/ syntax, unimplemented)
  504. style.asm.11=$(colour.code.comment.box),$(font.code.comment.box)
  505. # Character/String (single quote) (also character prefix in GNU as)
  506. style.asm.12=$(colour.char)
  507. # End of line where string is not closed
  508. style.asm.13=fore:#000000,back:#E0C0E0,eolfilled
  509. # Extended instructions
  510. style.asm.14=fore:#B00040
  511.  
  512. command.compile.$(file.patterns.asm)=nasm $(FileNameExt)
  513.  
  514. command.name.0.*.asm=Link
  515. command.0.*.asm=link $(FileName)
  516.  
  517.  
  518. statement.indent.$(file.patterns.asm)=9 .if
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement