summaryrefslogtreecommitdiffstats
path: root/misc/syntax/assembler.syntax
diff options
context:
space:
mode:
Diffstat (limited to 'misc/syntax/assembler.syntax')
-rw-r--r--misc/syntax/assembler.syntax402
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