2005-03-19 17:59:39 +03:00
|
|
|
#
|
|
|
|
# NASM,WASM,TASM,MASM and GAS x86 syntax highlight
|
|
|
|
# // Mike Gorchak
|
2012-07-27 09:54:16 +04:00
|
|
|
# // Andres Farfan 2012
|
2005-03-19 17:59:39 +03:00
|
|
|
#
|
|
|
|
|
2010-03-05 19:07:07 +03:00
|
|
|
caseinsensitive
|
|
|
|
|
2005-03-19 17:59:39 +03:00
|
|
|
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
|
2010-03-05 21:37:48 +03:00
|
|
|
|
2005-03-19 17:59:39 +03:00
|
|
|
# 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
|
2010-04-04 20:24:13 +04:00
|
|
|
keyword whole %ifdef brightred
|
2005-03-19 17:59:39 +03:00
|
|
|
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
|
2010-04-04 17:36:49 +04:00
|
|
|
keyword whole CR3 magenta
|
2005-03-19 17:59:39 +03:00
|
|
|
keyword whole DR0 magenta
|
|
|
|
keyword whole DR1 magenta
|
2010-04-04 17:36:49 +04:00
|
|
|
keyword whole DR3 magenta
|
|
|
|
keyword whole DR4 magenta
|
|
|
|
keyword whole DR5 magenta
|
|
|
|
keyword whole DR6 magenta
|
|
|
|
keyword whole DR7 magenta
|
2005-03-19 17:59:39 +03:00
|
|
|
keyword whole TR0 magenta
|
|
|
|
keyword whole TR1 magenta
|
2010-04-04 17:36:49 +04:00
|
|
|
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
|
2005-03-19 17:59:39 +03:00
|
|
|
|
2006-08-24 07:53:13 +04:00
|
|
|
# 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
|
|
|
|
|
2012-07-27 09:54:16 +04:00
|
|
|
#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
|
|
|
|
|
2005-03-19 17:59:39 +03:00
|
|
|
# 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
|
2005-09-05 06:07:43 +04:00
|
|
|
keyword ! brown
|
|
|
|
keyword /\* brown
|
|
|
|
keyword \*/ brown
|
2005-03-19 17:59:39 +03:00
|
|
|
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
|
2005-09-05 06:07:43 +04:00
|
|
|
|
|
|
|
context exclusive /\* \*/ brown
|
|
|
|
spellcheck
|
|
|
|
|
|
|
|
context exclusive ! \n brown
|
|
|
|
spellcheck
|