# # 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