Merge branch '151_fix_uninitialised_var_edit.c' into mc-4.6
[midnight-commander.git] / syntax / assembler.syntax
blob731a4d81e97ac227716c62589b88e37ae974b62d
2 # NASM,WASM,TASM,MASM and GAS x86 syntax highlight
3 # // Mike Gorchak
6 context default lightgray
8 # NASM directives
9     keyword whole BITS white
10     keyword whole SECTION white
11     keyword whole SEGMENT white
12     keyword whole ABSOLUTE white
13     keyword whole EXTERN white
14     keyword whole GLOBAL white
15     keyword whole COMMON white
16     keyword whole CPU white
17     
18 # NASM, WASM, TASM, MASM and common modifiers
19     keyword whole ALIGN white
20     keyword whole ALIGNB white
21     keyword whole STRUC white
22     keyword whole ENDSTRUC white
23     keyword whole ISTRUC white
24     keyword whole IEND white
25     keyword whole AT white
26     keyword whole __FILE__ white
27     keyword whole __LINE__ white
28     keyword whole __NASM_VER__ white
29     keyword whole __NASM_VERSION_ID__ white
30     keyword whole __NASM_MAJOR__ white
31     keyword whole __NASM_MINOR__ white
32     keyword whole __NASM_SUBMINOR__ white
33     keyword whole __NASM_PATCHLEVEL__ white
34     keyword whole __SECT__ white
35     keyword whole STRICT white
36     keyword whole SEG white
37     keyword whole WRT white
38     keyword whole NOSPLIT white
39     keyword whole BYTE white
40     keyword whole WORD white
41     keyword whole DWORD white
42     keyword whole QWORD white
43     keyword whole TWORD white
44     keyword whole align white
45     keyword whole alignb white
46     keyword whole struc white
47     keyword whole endstruc white
48     keyword whole istruc white
49     keyword whole iend white
50     keyword whole at white
51     keyword whole strict white
52     keyword whole seg white
53     keyword whole wrt white
54     keyword whole nosplit white
55     keyword whole byte white
56     keyword whole word white
57     keyword whole dword white
58     keyword whole qword white
59     keyword whole tword white
61 # Pseudo instructions
62     keyword whole Org white
63     keyword whole Equ white
64     keyword whole Db white
65     keyword whole Dw white
66     keyword whole Dd white
67     keyword whole Dq white
68     keyword whole Dt white
69     keyword whole Resb white
70     keyword whole Resw white
71     keyword whole Resd white
72     keyword whole Resq white
73     keyword whole Rest white
74     keyword whole Incbin white
75     keyword whole Times white
76     keyword whole org white
77     keyword whole equ white
78     keyword whole db white
79     keyword whole dw white
80     keyword whole dd white
81     keyword whole dq white
82     keyword whole dt white
83     keyword whole resb white
84     keyword whole resw white
85     keyword whole resd white
86     keyword whole resq white
87     keyword whole rest white
88     keyword whole incbin white
89     keyword whole times white
90     keyword whole ORG white
91     keyword whole EQU white
92     keyword whole DB white
93     keyword whole DW white
94     keyword whole DD white
95     keyword whole DQ white
96     keyword whole DT white
97     keyword whole RESB white
98     keyword whole RESW white
99     keyword whole RESD white
100     keyword whole RESQ white
101     keyword whole REST white
102     keyword whole INCBIN white
103     keyword whole TIMES white
105 # GAS specific
106     keyword whole .string white
107     keyword whole .section white
108     keyword whole .align white
109     keyword whole .type white
110     keyword whole .size white
111     keyword whole .comm white
112     keyword whole .ident white
113     keyword whole .globl white
114     keyword whole .rodata brightblue
115     keyword whole .data brightblue
116     keyword whole .text brightblue
117     keyword whole .bss brightblue
119 # NASM/TASM Macroses
120     keyword whole %ifdef  brightred
121     keyword whole %define brightred
122     keyword whole %else brightred
123     keyword whole %elif brightred
124     keyword whole %endif brightred
125     keyword whole %macro brightred
126     keyword whole %endmacro brightred
127     keyword whole %rep brightred
128     keyword whole %repl brightred
129     keyword whole %strlen brightred
130     keyword whole %substr brightred
131     keyword whole %arg brightred
132     keyword whole %stacksize brightred
133     keyword whole %local brightred
134     keyword whole %push brightred
135     keyword whole %pop brightred
136     keyword whole %line brightred
137     keyword whole %\! brightred
138     keyword whole %\+ brightred
140 # Generic 16-bit registers set
141     keyword whole al brightmagenta
142     keyword whole bl brightmagenta
143     keyword whole cl brightmagenta
144     keyword whole dl brightmagenta
145     keyword whole ah brightmagenta
146     keyword whole bh brightmagenta
147     keyword whole ch brightmagenta
148     keyword whole dh brightmagenta
149     keyword whole ax brightmagenta
150     keyword whole bx brightmagenta
151     keyword whole cx brightmagenta
152     keyword whole dx brightmagenta
153     keyword whole si brightmagenta
154     keyword whole di brightmagenta
155     keyword whole bp brightmagenta
156     keyword whole sp brightmagenta
157     keyword whole es brightmagenta
158     keyword whole cs brightmagenta
159     keyword whole ds brightmagenta
161     keyword whole %al brightmagenta
162     keyword whole %bl brightmagenta
163     keyword whole %cl brightmagenta
164     keyword whole %dl brightmagenta
165     keyword whole %ah brightmagenta
166     keyword whole %bh brightmagenta
167     keyword whole %ch brightmagenta
168     keyword whole %dh brightmagenta
169     keyword whole %ax brightmagenta
170     keyword whole %bx brightmagenta
171     keyword whole %cx brightmagenta
172     keyword whole %dx brightmagenta
173     keyword whole %si brightmagenta
174     keyword whole %di brightmagenta
175     keyword whole %bp brightmagenta
176     keyword whole %sp brightmagenta
177     keyword whole %es brightmagenta
178     keyword whole %cs brightmagenta
179     keyword whole %ds brightmagenta
181     keyword whole AL brightmagenta
182     keyword whole BL brightmagenta
183     keyword whole CL brightmagenta
184     keyword whole DL brightmagenta
185     keyword whole AH brightmagenta
186     keyword whole BH brightmagenta
187     keyword whole CH brightmagenta
188     keyword whole DH brightmagenta
189     keyword whole AX brightmagenta
190     keyword whole BX brightmagenta
191     keyword whole CX brightmagenta
192     keyword whole DX brightmagenta
193     keyword whole SI brightmagenta
194     keyword whole DI brightmagenta
195     keyword whole BP brightmagenta
196     keyword whole SP brightmagenta
197     keyword whole ES brightmagenta
198     keyword whole CS brightmagenta
199     keyword whole DS brightmagenta
201 # Generic 32-bit registers set
202     keyword whole eax brightmagenta
203     keyword whole ebx brightmagenta
204     keyword whole ecx brightmagenta
205     keyword whole edx brightmagenta
206     keyword whole esi brightmagenta
207     keyword whole edi brightmagenta
208     keyword whole ebp brightmagenta
209     keyword whole esp brightmagenta
210     keyword whole fs brightmagenta
211     keyword whole gs brightmagenta
213     keyword whole %eax brightmagenta
214     keyword whole %ebx brightmagenta
215     keyword whole %ecx brightmagenta
216     keyword whole %edx brightmagenta
217     keyword whole %esi brightmagenta
218     keyword whole %edi brightmagenta
219     keyword whole %ebp brightmagenta
220     keyword whole %esp brightmagenta
221     keyword whole %fs brightmagenta
222     keyword whole %gs brightmagenta
224     keyword whole EAX brightmagenta
225     keyword whole EBX brightmagenta
226     keyword whole ECX brightmagenta
227     keyword whole EDX brightmagenta
228     keyword whole ESI brightmagenta
229     keyword whole EDI brightmagenta
230     keyword whole EBP brightmagenta
231     keyword whole ESP brightmagenta
232     keyword whole FS brightmagenta
233     keyword whole GS brightmagenta
235     keyword whole cr0 magenta
236     keyword whole cr1 magenta
237     keyword whole cr2 magenta
238     keyword whole dr0 magenta
239     keyword whole dr1 magenta
240     keyword whole tr0 magenta
241     keyword whole tr1 magenta
243     keyword whole CR0 magenta
244     keyword whole CR1 magenta
245     keyword whole CR2 magenta
246     keyword whole DR0 magenta
247     keyword whole DR1 magenta
248     keyword whole TR0 magenta
249     keyword whole TR1 magenta
251 # Generic AMD64 registers set
252     keyword whole rax brightmagenta
253     keyword whole rbx brightmagenta
254     keyword whole rcx brightmagenta
255     keyword whole rdx brightmagenta
256     keyword whole rsi brightmagenta
257     keyword whole rdi brightmagenta
258     keyword whole rbp brightmagenta
259     keyword whole rsp brightmagenta
260     keyword whole r8 brightmagenta
261     keyword whole r9 brightmagenta
262     keyword whole r10 brightmagenta
263     keyword whole r11 brightmagenta
264     keyword whole r12 brightmagenta
265     keyword whole r13 brightmagenta
266     keyword whole r14 brightmagenta
267     keyword whole r15 brightmagenta
269     keyword whole %rax brightmagenta
270     keyword whole %rbx brightmagenta
271     keyword whole %rcx brightmagenta
272     keyword whole %rdx brightmagenta
273     keyword whole %rsi brightmagenta
274     keyword whole %rdi brightmagenta
275     keyword whole %rbp brightmagenta
276     keyword whole %rsp brightmagenta
277     keyword whole %r8 brightmagenta
278     keyword whole %r9 brightmagenta
279     keyword whole %r10 brightmagenta
280     keyword whole %r11 brightmagenta
281     keyword whole %r12 brightmagenta
282     keyword whole %r13 brightmagenta
283     keyword whole %r14 brightmagenta
284     keyword whole %r15 brightmagenta
286     keyword whole RAX brightmagenta
287     keyword whole RBX brightmagenta
288     keyword whole RCX brightmagenta
289     keyword whole RDX brightmagenta
290     keyword whole RSI brightmagenta
291     keyword whole RDI brightmagenta
292     keyword whole RBP brightmagenta
293     keyword whole RSP brightmagenta
294     keyword whole R8 brightmagenta
295     keyword whole R9 brightmagenta
296     keyword whole R10 brightmagenta
297     keyword whole R11 brightmagenta
298     keyword whole R12 brightmagenta
299     keyword whole R13 brightmagenta
300     keyword whole R14 brightmagenta
301     keyword whole R15 brightmagenta
303 # FPU registers set
304     keyword whole st0 brightcyan
305     keyword whole st1 brightcyan
306     keyword whole st2 brightcyan
307     keyword whole st3 brightcyan
308     keyword whole st4 brightcyan
309     keyword whole st5 brightcyan
310     keyword whole st6 brightcyan
311     keyword whole st7 brightcyan
312     keyword whole %st0 brightcyan
313     keyword whole %st1 brightcyan
314     keyword whole %st2 brightcyan
315     keyword whole %st3 brightcyan
316     keyword whole %st4 brightcyan
317     keyword whole %st5 brightcyan
318     keyword whole %st6 brightcyan
319     keyword whole %st7 brightcyan
321 # MMX/3DNOW registers set
322     keyword whole mm0 brightcyan
323     keyword whole mm1 brightcyan
324     keyword whole mm2 brightcyan
325     keyword whole mm3 brightcyan
326     keyword whole mm4 brightcyan
327     keyword whole mm5 brightcyan
328     keyword whole mm6 brightcyan
329     keyword whole mm7 brightcyan
330     keyword whole %mm0 brightcyan
331     keyword whole %mm1 brightcyan
332     keyword whole %mm2 brightcyan
333     keyword whole %mm3 brightcyan
334     keyword whole %mm4 brightcyan
335     keyword whole %mm5 brightcyan
336     keyword whole %mm6 brightcyan
337     keyword whole %mm7 brightcyan
339 # SSE registers set
340     keyword whole xmm0 brightcyan
341     keyword whole xmm1 brightcyan
342     keyword whole xmm2 brightcyan
343     keyword whole xmm3 brightcyan
344     keyword whole xmm4 brightcyan
345     keyword whole xmm5 brightcyan
346     keyword whole xmm6 brightcyan
347     keyword whole xmm7 brightcyan
348     keyword whole %xmm0 brightcyan
349     keyword whole %xmm1 brightcyan
350     keyword whole %xmm2 brightcyan
351     keyword whole %xmm3 brightcyan
352     keyword whole %xmm4 brightcyan
353     keyword whole %xmm5 brightcyan
354     keyword whole %xmm6 brightcyan
355     keyword whole %xmm7 brightcyan
357 # Common symbols
358     keyword ; brown
359     keyword ! brown
360     keyword /\* brown
361     keyword \*/ brown
362     keyword [ white
363     keyword ] white
364     keyword , white
365     keyword \+ white
366     keyword - white
367     keyword . white
368     keyword ( white
369     keyword ) white
370     keyword : white
371     keyword @ white
372     keyword >> white
373     keyword << white
374     keyword % white
375     keyword \\ white
376     keyword / white
377     keyword // white
378     keyword ~ white
379     keyword ^ white
380     keyword & white
381     keyword \* white
382     keyword | white
383     keyword $ brightgreen
384     keyword $$ brightgreen
385     keyword %% cyan
387 context " " green
388 context ' ' brightgreen
389 context exclusive ; \n brown
390     spellcheck
392 context exclusive /\* \*/ brown
393     spellcheck
395 context exclusive ! \n brown
396     spellcheck