Updated Spanish translation
[anjuta-git-plugin.git] / data / properties / asm.properties
blob270f0636c235ece594f2414900df2585691b9622
1 # Define SciTE settings for Assembler files (IA32 MASM and NASM)
2 # Originally by Black Horus blackhorus@gmx.net 2002
3 # Updated by Kein-Hong Man mkh@pl.jaring.my 2003-10
5 # Masm files
6 file.patterns.asm=*.asm
7 filter.asm=Assembler (asm)|$(file.patterns.asm)|
9 lexer.$(file.patterns.asm)=asm
11 # these keywords are taken from the masm book (v6.13)
12 # updated with Intel Pentium 4, MMX, SSE, SSE2 instructions from NASM
13 #       (note that some are undocumented instructions)
15 cpu_instruction=aaa aad aam aas adc add and call cbw \
16         clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt \
17         idiv imul in inc int into iret ja jae jb jbe jc jcxz je jg jge jl \
18         jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns \
19         jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop \
20         loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw \
21         mov movs movsb movsw mul neg nop not or out pop popf push pushf \
22         rcl rcr ret retf retn rol ror sahf sal sar sbb scas scasb scasw \
23         shl shr stc std sti stos stosb stosw sub test wait xchg xlat \
24         xlatb xor \
25         bound enter ins insb insw leave outs outsb outsw popa pusha pushw \
26         arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr \
27         bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf  iretf \
28         jecxz lfs lgs lodsd loopd  looped  loopned  loopnzd  loopzd  lss \
29         movsd movsx movzx outsd popad popfd pushad pushd  pushfd scasd seta \
30         setae setb setbe setc sete setg setge setl setle setna setnae setnb \
31         setnbe setnc setne setng setnge setnl setnle setno setnp setns \
32         setnz seto setp setpe setpo sets setz shld shrd stosd \
33         bswap cmpxchg invd  invlpg  wbinvd  xadd \
34         lock rep repe repne repnz repz
36 # these are mostly non-MMX/SSE/SSE2 486+ instructions
38 cpu_instruction2=cflush cpuid emms femms \
39         cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc \
40         cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe \
41         cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge \
42         cmovge cmovnl cmovle cmovng cmovg cmovnle \
43         cmpxchg486 cmpxchg8b  \
44         loadall loadall286 ibts icebp int1 int3 int01 int03 iretw \
45         popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc \
46         rsdc rsldt rsm rsts salc smi smint smintold svdc svldt svts \
47         syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr
49 # fpu instructions, updated for 486+
51 fpu_instruction=f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp \
52         fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv \
53         fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 \
54         fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul \
55         fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv \
56         fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave \
57         fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp \
58         fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 \
59         fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos \
60         fstenvd fucom fucomp fucompp fcomi fcomip ffreep \
61         fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu
63 # these are MMX, SSE, SSE2 instructions
65 ext_instruction=addpd addps addsd addss andpd andps andnpd andnps \
66         cmpeqpd cmpltpd cmplepd cmpunordpd cmpnepd cmpnltpd cmpnlepd cmpordpd \
67         cmpeqps cmpltps cmpleps cmpunordps cmpneps cmpnltps cmpnleps cmpordps \
68         cmpeqsd cmpltsd cmplesd cmpunordsd cmpnesd cmpnltsd cmpnlesd cmpordsd \
69         cmpeqss cmpltss cmpless cmpunordss cmpness cmpnltss cmpnless cmpordss \
70         comisd comiss cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps \
71         cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtss2sd cvtss2si \
72         cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss \
73         cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si \
74         divpd divps divsd divss fxrstor fxsave ldmxscr lfence mfence \
75         maskmovdqu maskmovdq maxpd maxps paxsd maxss minpd minps minsd minss \
76         movapd movaps movdq2q movdqa movdqu movhlps movhpd movhps movd movq \
77         movlhps movlpd movlps movmskpd movmskps movntdq movnti movntpd movntps \
78         movntq movq2dq movsd movss movupd movups mulpd mulps mulsd mulss \
79         orpd orps packssdw packsswb packuswb paddb paddsb paddw paddsw \
80         paddd paddsiw paddq paddusb paddusw pand pandn pause paveb pavgb pavgw \
81         pavgusb pdistib pextrw pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd \
82         pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul \
83         pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub pmovmskb \
84         pmulhrwc pmulhriw pmulhrwa pmulhuw pmulhw pmullw pmuludq \
85         pmvzb pmvnzb pmvlzb pmvgezb pfnacc pfpnacc por prefetch prefetchw \
86         prefetchnta prefetcht0 prefetcht1 prefetcht2 pfrcp pfrcpit1 pfrcpit2 \
87         pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pf2iw pinsrw psadbw pshufd \
88         pshufhw pshuflw pshufw psllw pslld psllq pslldq psraw psrad \
89         psrlw psrld psrlq psrldq psubb psubw psubd psubq psubsb psubsw \
90         psubusb psubusw psubsiw pswapd punpckhbw punpckhwd punpckhdq punpckhqdq \
91         punpcklbw punpcklwd punpckldq punpcklqdq pxor rcpps rcpss \
92         rsqrtps rsqrtss sfence shufpd shufps sqrtpd sqrtps sqrtsd sqrtss \
93         stmxcsr subpd subps subsd subss ucomisd ucomiss \
94         unpckhpd unpckhps unpcklpd unpcklps xorpd xorps
96 register=ah al ax bh bl bp bx ch cl cr0 cr2 cr3 cr4 cs \
97         cx dh di dl dr0 dr1 dr2 dr3 dr6 dr7 ds dx eax ebp ebx ecx edi edx \
98         es esi esp fs gs si sp ss st tr3 tr4 tr5 tr6 tr7 \
99         st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 \
100         xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7
102 # masm directives
104 directive=.186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p \
105         .8086 .8087 .alpha .break .code .const .continue .cref .data .data?  \
106         .dosseg .else .elseif .endif .endw .err .err1 .err2 .errb \
107         .errdef .errdif .errdifi .erre .erridn .erridni .errnb .errndef \
108         .errnz .exit .fardata .fardata? .if .lall .lfcond .list .listall \
109         .listif .listmacro .listmacroall  .model .no87 .nocref .nolist \
110         .nolistif .nolistmacro .radix .repeat .sall .seq .sfcond .stack \
111         .startup .tfcond .type .until .untilcxz .while .xall .xcref \
112         .xlist alias align assume catstr comm comment db dd df dosseg dq \
113         dt dup dw echo else elseif elseif1 elseif2 elseifb elseifdef elseifdif \
114         elseifdifi elseife elseifidn elseifidni elseifnb elseifndef end \
115         endif endm endp ends eq equ even exitm extern externdef extrn for \
116         forc ge goto group gt high highword if if1 if2 ifb ifdef ifdif \
117         ifdifi ife  ifidn ifidni ifnb ifndef include includelib instr invoke \
118         irp irpc label le length lengthof local low lowword lroffset \
119         lt macro mask mod .msfloat name ne offset opattr option org %out \
120         page popcontext proc proto ptr public purge pushcontext record \
121         repeat rept seg segment short size sizeof sizestr struc struct \
122         substr subtitle subttl textequ this title type typedef union while width
124 directive_operand=$ ? @b @f addr basic byte c carry? dword \
125         far far16 fortran fword near near16 overflow? parity? pascal qword  \
126         real4  real8 real10 sbyte sdword sign? stdcall sword syscall tbyte \
127         vararg word zero? flat near32 far32 \
128         abs all assumes at casemap common compact \
129         cpu dotname emulator epilogue error export expr16 expr32 farstack flat \
130         forceframe huge language large listing ljmp loadds m510 medium memory \
131         nearstack nodotname noemulator nokeyword noljmp nom510 none nonunique \
132         nooldmacros nooldstructs noreadonly noscoped nosignextend nothing \
133         notpublic oldmacros oldstructs os_dos para private prologue radix \
134         readonly req scoped setif2 smallstack tiny use16 use32 uses \
136 # nasm directives, mostly complete, does not parse properly
137 # the following: %!<env>, %%, %+, %+n %-n, %{n}
139 directive_nasm=db dw dd dq dt resb resw resd resq rest incbin equ times \
140         %define %idefine %xdefine %xidefine %undef %assign %iassign \
141         %strlen %substr %macro %imacro %endmacro %rotate .nolist \
142         %if %elif %else %endif %ifdef %ifndef %elifdef %elifndef \
143         %ifmacro %ifnmacro %elifmacro %elifnmacro %ifctk %ifnctk %elifctk %elifnctk \
144         %ifidn %ifnidn %elifidn %elifnidn %ifidni %ifnidni %elifidni %elifnidni \
145         %ifid %ifnid %elifid %elifnid %ifstr %ifnstr %elifstr %elifnstr \
146         %ifnum %ifnnum %elifnum %elifnnum %error %rep %endrep %exitrep \
147         %include %push %pop %repl struct endstruc istruc at iend align alignb \
148         %arg %stacksize %local %line \
149         bits use16 use32 section absolute extern global common cpu org \
150         section group import export
152 directive_operand_nasm=a16 a32 o16 o32 byte word dword nosplit $ $$ seq wrt \
153         flat large small .text .data .bss near far \
154         %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
157 keywords.$(file.patterns.asm)=$(cpu_instruction) $(cpu_instruction2)
158 keywords2.$(file.patterns.asm)=$(fpu_instruction)
159 keywords3.$(file.patterns.asm)=$(register)
160 keywords4.$(file.patterns.asm)=$(directive) $(directive_nasm)
161 keywords5.$(file.patterns.asm)=$(directive_operand) $(directive_operand_nasm)
162 keywords6.$(file.patterns.asm)=$(ext_instruction)
164 comment.block.asm=;
167 # Assembler Styles
168 style.asm.32=fore:#808080,font:Verdana,size:8
169 # Default
170 style.asm.0=
171 # Comment
172 style.asm.1=fore:#adadad
173 #$(colour.code.comment.line),font:Comic Sans MS,size:8
174 # Number
175 style.asm.2=fore:#ff0000
176 # String
177 style.asm.3=$(colour.string)
178 # Operator
179 style.asm.4=$(colour.operator),bold
180 # Identifier
181 style.asm.5=
182 # CPU instruction
183 style.asm.6=$(colour.keyword),bold
184 #fore:#0000ff
185 # FPU instruction
186 style.asm.7=fore:#0000ff
187 # Register
188 style.asm.8=fore:#46aa03,bold
189 # assembler Directive
190 style.asm.9=fore:#0000ff
191 # assembler Directive Operand
192 style.asm.10=fore:#0000ff
193 # Comment block (GNU as /*...*/ syntax, unimplemented)
194 style.asm.11=$(colour.code.comment.box),$(font.code.comment.box)
195 # Character/String (single quote) (also character prefix in GNU as)
196 style.asm.12=$(colour.char)
197 # End of line where string is not closed
198 style.asm.13=fore:#000000,back:#E0C0E0,eolfilled
199 # Extended instructions
200 style.asm.14=fore:#B00040
203 command.compile.$(file.patterns.asm)=masm $(FileNameExt)
205 command.name.0.*.asm=Link
206 command.0.*.asm=link $(FileName)
209 statement.indent.$(file.patterns.asm)=9 .if
210 statement.end.$(file.patterns.asm)=9 .endif