diff options
Diffstat (limited to 'misc/syntax/assembler.syntax')
-rw-r--r-- | misc/syntax/assembler.syntax | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/misc/syntax/assembler.syntax b/misc/syntax/assembler.syntax new file mode 100644 index 0000000..0187c72 --- /dev/null +++ b/misc/syntax/assembler.syntax @@ -0,0 +1,402 @@ +# +# NASM,WASM,TASM,MASM and GAS x86 syntax highlight +# // Mike Gorchak +# // Andres Farfan 2012 +# + +caseinsensitive + +context default lightgray + +# NASM directives + keyword whole BITS white + keyword whole SECTION white + keyword whole SEGMENT white + keyword whole ABSOLUTE white + keyword whole EXTERN white + keyword whole GLOBAL white + keyword whole COMMON white + keyword whole CPU white + +# NASM, WASM, TASM, MASM and common modifiers + keyword whole ALIGN white + keyword whole ALIGNB white + keyword whole STRUC white + keyword whole ENDSTRUC white + keyword whole ISTRUC white + keyword whole IEND white + keyword whole AT white + keyword whole __FILE__ white + keyword whole __LINE__ white + keyword whole __NASM_VER__ white + keyword whole __NASM_VERSION_ID__ white + keyword whole __NASM_MAJOR__ white + keyword whole __NASM_MINOR__ white + keyword whole __NASM_SUBMINOR__ white + keyword whole __NASM_PATCHLEVEL__ white + keyword whole __SECT__ white + keyword whole STRICT white + keyword whole SEG white + keyword whole WRT white + keyword whole NOSPLIT white + keyword whole BYTE white + keyword whole WORD white + keyword whole DWORD white + keyword whole QWORD white + keyword whole TWORD white + +# Pseudo instructions + keyword whole ORG white + keyword whole EQU white + keyword whole DB white + keyword whole DW white + keyword whole DD white + keyword whole DQ white + keyword whole DT white + keyword whole RESB white + keyword whole RESW white + keyword whole RESD white + keyword whole RESQ white + keyword whole REST white + keyword whole INCBIN white + keyword whole TIMES white + +# GAS specific + keyword whole .string white + keyword whole .section white + keyword whole .align white + keyword whole .type white + keyword whole .size white + keyword whole .comm white + keyword whole .ident white + keyword whole .globl white + keyword whole .rodata brightblue + keyword whole .data brightblue + keyword whole .text brightblue + keyword whole .bss brightblue + +# NASM/TASM Macroses + keyword whole %ifdef brightred + keyword whole %define brightred + keyword whole %else brightred + keyword whole %elif brightred + keyword whole %endif brightred + keyword whole %macro brightred + keyword whole %endmacro brightred + keyword whole %rep brightred + keyword whole %repl brightred + keyword whole %strlen brightred + keyword whole %substr brightred + keyword whole %arg brightred + keyword whole %stacksize brightred + keyword whole %local brightred + keyword whole %push brightred + keyword whole %pop brightred + keyword whole %line brightred + keyword whole %\! brightred + keyword whole %\+ brightred + +# Generic 16-bit registers set + keyword whole %al brightmagenta + keyword whole %bl brightmagenta + keyword whole %cl brightmagenta + keyword whole %dl brightmagenta + keyword whole %ah brightmagenta + keyword whole %bh brightmagenta + keyword whole %ch brightmagenta + keyword whole %dh brightmagenta + keyword whole %ax brightmagenta + keyword whole %bx brightmagenta + keyword whole %cx brightmagenta + keyword whole %dx brightmagenta + keyword whole %si brightmagenta + keyword whole %di brightmagenta + keyword whole %bp brightmagenta + keyword whole %sp brightmagenta + keyword whole %es brightmagenta + keyword whole %cs brightmagenta + keyword whole %ds brightmagenta + + keyword whole AL brightmagenta + keyword whole BL brightmagenta + keyword whole CL brightmagenta + keyword whole DL brightmagenta + keyword whole AH brightmagenta + keyword whole BH brightmagenta + keyword whole CH brightmagenta + keyword whole DH brightmagenta + keyword whole AX brightmagenta + keyword whole BX brightmagenta + keyword whole CX brightmagenta + keyword whole DX brightmagenta + keyword whole SI brightmagenta + keyword whole DI brightmagenta + keyword whole BP brightmagenta + keyword whole SP brightmagenta + keyword whole ES brightmagenta + keyword whole CS brightmagenta + keyword whole DS brightmagenta + +# Generic 32-bit registers set + keyword whole %eax brightmagenta + keyword whole %ebx brightmagenta + keyword whole %ecx brightmagenta + keyword whole %edx brightmagenta + keyword whole %esi brightmagenta + keyword whole %edi brightmagenta + keyword whole %ebp brightmagenta + keyword whole %esp brightmagenta + keyword whole %fs brightmagenta + keyword whole %gs brightmagenta + + keyword whole EAX brightmagenta + keyword whole EBX brightmagenta + keyword whole ECX brightmagenta + keyword whole EDX brightmagenta + keyword whole ESI brightmagenta + keyword whole EDI brightmagenta + keyword whole EBP brightmagenta + keyword whole ESP brightmagenta + keyword whole FS brightmagenta + keyword whole GS brightmagenta + + keyword whole CR0 magenta + keyword whole CR1 magenta + keyword whole CR2 magenta + keyword whole CR3 magenta + keyword whole DR0 magenta + keyword whole DR1 magenta + keyword whole DR3 magenta + keyword whole DR4 magenta + keyword whole DR5 magenta + keyword whole DR6 magenta + keyword whole DR7 magenta + keyword whole TR0 magenta + keyword whole TR1 magenta + keyword whole TR2 magenta + keyword whole TR3 magenta + keyword whole TR4 magenta + keyword whole TR5 magenta + keyword whole TR6 magenta + keyword whole TR7 magenta + keyword whole TR8 magenta + keyword whole TR9 magenta + keyword whole TR10 magenta + keyword whole TR11 magenta + +# Generic AMD64 registers set + keyword whole %rax brightmagenta + keyword whole %rbx brightmagenta + keyword whole %rcx brightmagenta + keyword whole %rdx brightmagenta + keyword whole %rsi brightmagenta + keyword whole %rdi brightmagenta + keyword whole %rbp brightmagenta + keyword whole %rsp brightmagenta + keyword whole %r8 brightmagenta + keyword whole %r9 brightmagenta + keyword whole %r10 brightmagenta + keyword whole %r11 brightmagenta + keyword whole %r12 brightmagenta + keyword whole %r13 brightmagenta + keyword whole %r14 brightmagenta + keyword whole %r15 brightmagenta + + keyword whole RAX brightmagenta + keyword whole RBX brightmagenta + keyword whole RCX brightmagenta + keyword whole RDX brightmagenta + keyword whole RSI brightmagenta + keyword whole RDI brightmagenta + keyword whole RBP brightmagenta + keyword whole RSP brightmagenta + keyword whole R8 brightmagenta + keyword whole R9 brightmagenta + keyword whole R10 brightmagenta + keyword whole R11 brightmagenta + keyword whole R12 brightmagenta + keyword whole R13 brightmagenta + keyword whole R14 brightmagenta + keyword whole R15 brightmagenta + +#AMD64 32-bit registers. 64-bit mode + keyword whole %r8d brightmagenta + keyword whole %r9d brightmagenta + keyword whole %r10d brightmagenta + keyword whole %r11d brightmagenta + keyword whole %r12d brightmagenta + keyword whole %r13d brightmagenta + keyword whole %r14d brightmagenta + keyword whole %r15d brightmagenta + + keyword whole R8D brightmagenta + keyword whole R9D brightmagenta + keyword whole R10D brightmagenta + keyword whole R11D brightmagenta + keyword whole R12D brightmagenta + keyword whole R13D brightmagenta + keyword whole R14D brightmagenta + keyword whole R15D brightmagenta + +#AMD64 16-bit registers. 64-bit mode + keyword whole %r8w brightmagenta + keyword whole %r9w brightmagenta + keyword whole %r10w brightmagenta + keyword whole %r11w brightmagenta + keyword whole %r12w brightmagenta + keyword whole %r13w brightmagenta + keyword whole %r14w brightmagenta + keyword whole %r15w brightmagenta + + keyword whole R8W brightmagenta + keyword whole R9W brightmagenta + keyword whole R10W brightmagenta + keyword whole R11W brightmagenta + keyword whole R12W brightmagenta + keyword whole R13W brightmagenta + keyword whole R14W brightmagenta + keyword whole R15W brightmagenta + +#AMD64 8-bit registers. 64-bit mode + keyword whole %sil brightmagenta + keyword whole %dil brightmagenta + keyword whole %bpl brightmagenta + keyword whole %spl brightmagenta + keyword whole %r8b brightmagenta + keyword whole %r9b brightmagenta + keyword whole %r10b brightmagenta + keyword whole %r11b brightmagenta + keyword whole %r12b brightmagenta + keyword whole %r13b brightmagenta + keyword whole %r14b brightmagenta + keyword whole %r15b brightmagenta + + keyword whole SIL brightmagenta + keyword whole DIL brightmagenta + keyword whole BPL brightmagenta + keyword whole SPL brightmagenta + keyword whole R8B brightmagenta + keyword whole R9B brightmagenta + keyword whole R10B brightmagenta + keyword whole R11B brightmagenta + keyword whole R12B brightmagenta + keyword whole R13B brightmagenta + keyword whole R14B brightmagenta + keyword whole R15B brightmagenta + +#AMD64 System registers. 64-bit mode + keyword whole CR8 magenta + +#AMD64 SSE Registers. 64-bit mode + keyword whole %xmm8 brightcyan + keyword whole %xmm9 brightcyan + keyword whole %xmm10 brightcyan + keyword whole %xmm11 brightcyan + keyword whole %xmm12 brightcyan + keyword whole %xmm13 brightcyan + keyword whole %xmm14 brightcyan + keyword whole %xmm15 brightcyan + + keyword whole xmm8 brightcyan + keyword whole xmm9 brightcyan + keyword whole xmm10 brightcyan + keyword whole xmm11 brightcyan + keyword whole xmm12 brightcyan + keyword whole xmm13 brightcyan + keyword whole xmm14 brightcyan + keyword whole xmm15 brightcyan + +# FPU registers set + keyword whole st0 brightcyan + keyword whole st1 brightcyan + keyword whole st2 brightcyan + keyword whole st3 brightcyan + keyword whole st4 brightcyan + keyword whole st5 brightcyan + keyword whole st6 brightcyan + keyword whole st7 brightcyan + keyword whole %st0 brightcyan + keyword whole %st1 brightcyan + keyword whole %st2 brightcyan + keyword whole %st3 brightcyan + keyword whole %st4 brightcyan + keyword whole %st5 brightcyan + keyword whole %st6 brightcyan + keyword whole %st7 brightcyan + +# MMX/3DNOW registers set + keyword whole mm0 brightcyan + keyword whole mm1 brightcyan + keyword whole mm2 brightcyan + keyword whole mm3 brightcyan + keyword whole mm4 brightcyan + keyword whole mm5 brightcyan + keyword whole mm6 brightcyan + keyword whole mm7 brightcyan + keyword whole %mm0 brightcyan + keyword whole %mm1 brightcyan + keyword whole %mm2 brightcyan + keyword whole %mm3 brightcyan + keyword whole %mm4 brightcyan + keyword whole %mm5 brightcyan + keyword whole %mm6 brightcyan + keyword whole %mm7 brightcyan + +# SSE registers set + keyword whole xmm0 brightcyan + keyword whole xmm1 brightcyan + keyword whole xmm2 brightcyan + keyword whole xmm3 brightcyan + keyword whole xmm4 brightcyan + keyword whole xmm5 brightcyan + keyword whole xmm6 brightcyan + keyword whole xmm7 brightcyan + keyword whole %xmm0 brightcyan + keyword whole %xmm1 brightcyan + keyword whole %xmm2 brightcyan + keyword whole %xmm3 brightcyan + keyword whole %xmm4 brightcyan + keyword whole %xmm5 brightcyan + keyword whole %xmm6 brightcyan + keyword whole %xmm7 brightcyan + +# Common symbols + keyword ; brown + keyword ! brown + keyword /\* brown + keyword \*/ brown + keyword [ white + keyword ] white + keyword , white + keyword \+ white + keyword - white + keyword . white + keyword ( white + keyword ) white + keyword : white + keyword @ white + keyword >> white + keyword << white + keyword % white + keyword \\ white + keyword / white + keyword // white + keyword ~ white + keyword ^ white + keyword & white + keyword \* white + keyword | white + keyword $ brightgreen + keyword $$ brightgreen + keyword %% cyan + +context " " green +context ' ' brightgreen +context exclusive ; \n brown + spellcheck + +context exclusive /\* \*/ brown + spellcheck + +context exclusive ! \n brown + spellcheck |