diff --git a/runtime/syntax/nasm.vim b/runtime/syntax/nasm.vim
new file mode 100644
index 0000000..6bbf33a
--- /dev/null
+++ b/runtime/syntax/nasm.vim
@@ -0,0 +1,522 @@
+" Vim syntax file
+" Language:	NASM - The Netwide Assembler (v0.98)
+" Maintainer:	Manuel M.H. Stol	<mmh.stol@gmx.net>
+" Last Change:	2003 May 11
+" Vim URL:	http://www.vim.org/lang.html
+" NASM Home:	http://www.cryogen.com/Nasm/
+
+
+
+" Setup Syntax:
+"  Clear old syntax settings
+if version < 600
+  syn clear
+elseif exists("b:current_syntax")
+  finish
+endif
+"  Assembler syntax is case insensetive
+syn case ignore
+
+
+
+" Vim search and movement commands on identifers
+if version < 600
+  "  Comments at start of a line inside which to skip search for indentifiers
+  set comments=:;
+  "  Identifier Keyword characters (defines \k)
+  set iskeyword=@,48-57,#,$,.,?,@-@,_,~
+else
+  "  Comments at start of a line inside which to skip search for indentifiers
+  setlocal comments=:;
+  "  Identifier Keyword characters (defines \k)
+  setlocal iskeyword=@,48-57,#,$,.,?,@-@,_,~
+endif
+
+
+
+" Comments:
+syn region  nasmComment		start=";" keepend end="$" contains=@nasmGrpInComments
+syn region  nasmSpecialComment	start=";\*\*\*" keepend end="$"
+syn keyword nasmInCommentTodo	contained TODO FIXME XXX[XXXXX]
+syn cluster nasmGrpInComments	contains=nasmInCommentTodo
+syn cluster nasmGrpComments	contains=@nasmGrpInComments,nasmComment,nasmSpecialComment
+
+
+
+" Label Identifiers:
+"  in NASM: 'Everything is a Label'
+"  Definition Label = label defined by %[i]define or %[i]assign
+"  Identifier Label = label defined as first non-keyword on a line or %[i]macro
+syn match   nasmLabelError	"$\=\(\d\+\K\|[#\.@]\|\$\$\k\)\k*\>"
+syn match   nasmLabel		"\<\(\h\|[?@]\)\k*\>"
+syn match   nasmLabel		"[\$\~]\(\h\|[?@]\)\k*\>"lc=1
+"  Labels starting with one or two '.' are special
+syn match   nasmLocalLabel	"\<\.\(\w\|[#$?@~]\)\k*\>"
+syn match   nasmLocalLabel	"\<\$\.\(\w\|[#$?@~]\)\k*\>"ms=s+1
+if !exists("nasm_no_warn")
+  syn match  nasmLabelWarn	"\<\~\=\$\=[_\.][_\.\~]*\>"
+endif
+if exists("nasm_loose_syntax")
+  syn match   nasmSpecialLabel	"\<\.\.@\k\+\>"
+  syn match   nasmSpecialLabel	"\<\$\.\.@\k\+\>"ms=s+1
+  if !exists("nasm_no_warn")
+    syn match   nasmLabelWarn	"\<\$\=\.\.@\(\d\|[#$\.~]\)\k*\>"
+  endif
+  " disallow use of nasm internal label format
+  syn match   nasmLabelError	"\<\$\=\.\.@\d\+\.\k*\>"
+else
+  syn match   nasmSpecialLabel	"\<\.\.@\(\h\|[?@]\)\k*\>"
+  syn match   nasmSpecialLabel	"\<\$\.\.@\(\h\|[?@]\)\k*\>"ms=s+1
+endif
+"  Labels can be dereferenced with '$' to destinguish them from reserved words
+syn match   nasmLabelError	"\<\$\K\k*\s*:"
+syn match   nasmLabelError	"^\s*\$\K\k*\>"
+syn match   nasmLabelError	"\<\~\s*\(\k*\s*:\|\$\=\.\k*\)"
+
+
+
+" Constants:
+syn match   nasmStringError	+["']+
+syn match   nasmString		+\("[^"]\{-}"\|'[^']\{-}'\)+
+syn match   nasmBinNumber	"\<[0-1]\+b\>"
+syn match   nasmBinNumber	"\<\~[0-1]\+b\>"lc=1
+syn match   nasmOctNumber	"\<\o\+q\>"
+syn match   nasmOctNumber	"\<\~\o\+q\>"lc=1
+syn match   nasmDecNumber	"\<\d\+\>"
+syn match   nasmDecNumber	"\<\~\d\+\>"lc=1
+syn match   nasmHexNumber	"\<\(\d\x*h\|0x\x\+\|\$\d\x*\)\>"
+syn match   nasmHexNumber	"\<\~\(\d\x*h\|0x\x\+\|\$\d\x*\)\>"lc=1
+syn match   nasmFltNumber	"\<\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
+syn keyword nasmFltNumber	Inf Infinity Indefinite NaN SNaN QNaN
+syn match   nasmNumberError	"\<\~\s*\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
+
+
+
+" Netwide Assembler Storage Directives:
+"  Storage types
+syn keyword nasmTypeError	DF EXTRN FWORD RESF TBYTE
+syn keyword nasmType		FAR NEAR SHORT
+syn keyword nasmType		BYTE WORD DWORD QWORD DQWORD HWORD DHWORD TWORD
+syn keyword nasmType		CDECL FASTCALL NONE PASCAL STDCALL
+syn keyword nasmStorage		DB DW DD DQ DDQ DT
+syn keyword nasmStorage		RESB RESW RESD RESQ RESDQ REST
+syn keyword nasmStorage		EXTERN GLOBAL COMMON
+"  Structured storage types
+syn match   nasmTypeError	"\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
+syn match   nasmStructureLabel	contained "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
+"   structures cannot be nested (yet) -> use: 'keepend' and 're='
+syn cluster nasmGrpCntnStruc	contains=ALLBUT,@nasmGrpInComments,nasmMacroDef,@nasmGrpInMacros,@nasmGrpInPreCondits,nasmStructureDef,@nasmGrpInStrucs
+syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnStruc
+syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4  end="^\s*ENDSTRUC\>"re=e-8  contains=@nasmGrpCntnStruc
+syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
+"   union types are not part of nasm (yet)
+"syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnStruc
+"syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
+syn match   nasmInStructure	contained "^\s*AT\>"hs=e-1
+syn cluster nasmGrpInStrucs	contains=nasmStructure,nasmInStructure,nasmStructureLabel
+
+
+
+" PreProcessor Instructions:
+" NAsm PreProcs start with %, but % is not a character
+syn match   nasmPreProcError	"%{\=\(%\=\k\+\|%%\+\k*\|[+-]\=\d\+\)}\="
+if exists("nasm_loose_syntax")
+  syn cluster nasmGrpNxtCtx	contains=nasmStructureLabel,nasmLabel,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
+else
+  syn cluster nasmGrpNxtCtx	contains=nasmStructureLabel,nasmLabel,nasmLabelError,nasmPreProcError
+endif
+
+"  Multi-line macro
+syn cluster nasmGrpCntnMacro	contains=ALLBUT,@nasmGrpInComments,nasmStructureDef,@nasmGrpInStrucs,nasmMacroDef,@nasmGrpPreCondits,nasmMemReference,nasmInMacPreCondit,nasmInMacStrucDef
+syn region  nasmMacroDef	matchgroup=nasmMacro keepend start="^\s*%macro\>"hs=e-5 start="^\s*%imacro\>"hs=e-6 end="^\s*%endmacro\>"re=e-9 contains=@nasmGrpCntnMacro,nasmInMacStrucDef
+if exists("nasm_loose_syntax")
+  syn match  nasmInMacLabel	contained "%\(%\k\+\>\|{%\k\+}\)"
+  syn match  nasmInMacLabel	contained "%\($\+\(\w\|[#\.?@~]\)\k*\>\|{$\+\(\w\|[#\.?@~]\)\k*}\)"
+  syn match  nasmInMacPreProc	contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=nasmStructureLabel,nasmLabel,nasmInMacParam,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
+  if !exists("nasm_no_warn")
+    syn match nasmInMacLblWarn	contained "%\(%[$\.]\k*\>\|{%[$\.]\k*}\)"
+    syn match nasmInMacLblWarn	contained "%\($\+\(\d\|[#\.@~]\)\k*\|{\$\+\(\d\|[#\.@~]\)\k*}\)"
+    hi link nasmInMacCatLabel	nasmInMacLblWarn
+  else
+    hi link nasmInMacCatLabel	nasmInMacLabel
+  endif
+else
+  syn match  nasmInMacLabel	contained "%\(%\(\w\|[#?@~]\)\k*\>\|{%\(\w\|[#?@~]\)\k*}\)"
+  syn match  nasmInMacLabel	contained "%\($\+\(\h\|[?@]\)\k*\>\|{$\+\(\h\|[?@]\)\k*}\)"
+  hi link nasmInMacCatLabel	nasmLabelError
+endif
+syn match   nasmInMacCatLabel	contained "\d\K\k*"lc=1
+syn match   nasmInMacLabel	contained "\d}\k\+"lc=2
+if !exists("nasm_no_warn")
+  syn match  nasmInMacLblWarn	contained "%\(\($\+\|%\)[_~][._~]*\>\|{\($\+\|%\)[_~][._~]*}\)"
+endif
+syn match   nasmInMacPreProc	contained "^\s*%pop\>"hs=e-3
+syn match   nasmInMacPreProc	contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
+"   structures cannot be nested (yet) -> use: 'keepend' and 're='
+syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnMacro
+syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4  end="^\s*ENDSTRUC\>"re=e-8  contains=@nasmGrpCntnMacro
+syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
+"   union types are not part of nasm (yet)
+"syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
+"syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
+syn region  nasmInMacPreConDef	contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit
+syn match   nasmInMacPreCondit	contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
+syn match   nasmInMacPreCondit	contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
+syn match   nasmInMacPreCondit	contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
+syn match   nasmInMacParamNum	contained "\<\d\+\.list\>"me=e-5
+syn match   nasmInMacParamNum	contained "\<\d\+\.nolist\>"me=e-7
+syn match   nasmInMacDirective	contained "\.\(no\)\=list\>"
+syn match   nasmInMacMacro	contained transparent "macro\s"lc=5 skipwhite nextgroup=nasmStructureLabel
+syn match   nasmInMacMacro	contained "^\s*%rotate\>"hs=e-6
+syn match   nasmInMacParam	contained "%\([+-]\=\d\+\|{[+-]\=\d\+}\)"
+"   nasm conditional macro operands/arguments
+"   Todo: check feasebility; add too nasmGrpInMacros, etc.
+"syn match   nasmInMacCond	contained "\<\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>"
+syn cluster nasmGrpInMacros	contains=nasmMacro,nasmInMacMacro,nasmInMacParam,nasmInMacParamNum,nasmInMacDirective,nasmInMacLabel,nasmInMacLblWarn,nasmInMacMemRef,nasmInMacPreConDef,nasmInMacPreCondit,nasmInMacPreProc,nasmInMacStrucDef
+
+"   Context pre-procs that are better used inside a macro
+if exists("nasm_ctx_outside_macro")
+  syn region nasmPreConditDef	transparent matchgroup=nasmCtxPreCondit start="^\s*%ifnctx\>"hs=e-6 start="^\s*%ifctx\>"hs=e-5 end="%endif\>" contains=@nasmGrpCntnPreCon
+  syn match  nasmCtxPreProc	"^\s*%pop\>"hs=e-3
+  if exists("nasm_loose_syntax")
+    syn match   nasmCtxLocLabel	"%$\+\(\w\|[#\.?@~]\)\k*\>"
+  else
+    syn match   nasmCtxLocLabel	"%$\+\(\h\|[?@]\)\k*\>"
+  endif
+  syn match nasmCtxPreProc	"^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
+  syn match nasmCtxPreCondit	contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
+  syn match nasmCtxPreCondit	contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
+  syn match nasmCtxPreCondit	contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
+  if exists("nasm_no_warn")
+    hi link nasmCtxPreCondit	nasmPreCondit
+    hi link nasmCtxPreProc	nasmPreProc
+    hi link nasmCtxLocLabel	nasmLocalLabel
+  else
+    hi link nasmCtxPreCondit	nasmPreProcWarn
+    hi link nasmCtxPreProc	nasmPreProcWarn
+    hi link nasmCtxLocLabel	nasmLabelWarn
+  endif
+endif
+
+"  Conditional assembly
+syn cluster nasmGrpCntnPreCon	contains=ALLBUT,@nasmGrpInComments,@nasmGrpInMacros,@nasmGrpInStrucs
+syn region  nasmPreConditDef	transparent matchgroup=nasmPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnPreCon
+syn match   nasmInPreCondit	contained "^\s*%el\(if\|se\)\>"hs=e-4
+syn match   nasmInPreCondit	contained "^\s*%elifid\>"hs=e-6
+syn match   nasmInPreCondit	contained "^\s*%elif\(def\|idn\|nid\|num\|str\)\>"hs=e-7
+syn match   nasmInPreCondit	contained "^\s*%elif\(n\(def\|idn\|num\|str\)\|idni\)\>"hs=e-8
+syn match   nasmInPreCondit	contained "^\s*%elifnidni\>"hs=e-9
+syn cluster nasmGrpInPreCondits	contains=nasmPreCondit,nasmInPreCondit,nasmCtxPreCondit
+syn cluster nasmGrpPreCondits	contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
+
+"  Other pre-processor statements
+syn match   nasmPreProc		"^\s*%rep\>"hs=e-3
+syn match   nasmPreProc		"^\s*%line\>"hs=e-4
+syn match   nasmPreProc		"^\s*%\(clear\|error\)\>"hs=e-5
+syn match   nasmPreProc		"^\s*%endrep\>"hs=e-6
+syn match   nasmPreProc		"^\s*%exitrep\>"hs=e-7
+syn match   nasmDefine		"^\s*%undef\>"hs=e-5
+syn match   nasmDefine		"^\s*%\(assign\|define\)\>"hs=e-6
+syn match   nasmDefine		"^\s*%i\(assign\|define\)\>"hs=e-7
+syn match   nasmInclude		"^\s*%include\>"hs=e-7
+
+"  Multiple pre-processor instructions on single line detection (obsolete)
+"syn match   nasmPreProcError	+^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
+syn cluster nasmGrpPreProcs	contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCondits,nasmPreProc,nasmDefine,nasmInclude,nasmPreProcWarn,nasmPreProcError
+
+
+
+" Register Identifiers:
+"  Register operands:
+syn match   nasmGen08Register	"\<[A-D][HL]\>"
+syn match   nasmGen16Register	"\<\([A-D]X\|[DS]I\|[BS]P\)\>"
+syn match   nasmGen32Register	"\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
+syn match   nasmSegRegister	"\<[C-GS]S\>"
+syn match   nasmSpcRegister	"\<E\=IP\>"
+syn match   nasmFpuRegister	"\<ST\o\>"
+syn match   nasmMmxRegister	"\<MM\o\>"
+syn match   nasmSseRegister	"\<XMM\o\>"
+syn match   nasmCtrlRegister	"\<CR\o\>"
+syn match   nasmDebugRegister	"\<DR\o\>"
+syn match   nasmTestRegister	"\<TR\o\>"
+syn match   nasmRegisterError	"\<\(CR[15-9]\|DR[4-58-9]\|TR[0-28-9]\)\>"
+syn match   nasmRegisterError	"\<X\=MM[8-9]\>"
+syn match   nasmRegisterError	"\<ST\((\d)\|[8-9]\>\)"
+syn match   nasmRegisterError	"\<E\([A-D][HL]\|[C-GS]S\)\>"
+"  Memory reference operand (address):
+syn match   nasmMemRefError	"[\[\]]"
+syn cluster nasmGrpCntnMemRef	contains=ALLBUT,@nasmGrpComments,@nasmGrpPreProcs,@nasmGrpInStrucs,nasmMemReference,nasmMemRefError
+syn match   nasmInMacMemRef	contained "\[[^;\[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmInMacLabel,nasmInMacLblWarn,nasmInMacParam
+syn match   nasmMemReference	"\[[^;\[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmCtxLocLabel
+
+
+
+" Netwide Assembler Directives:
+"  Compilation constants
+syn keyword nasmConstant	__BITS__ __DATE__ __FILE__ __FORMAT__ __LINE__
+syn keyword nasmConstant	__NASM_MAJOR__ __NASM_MINOR__ __NASM_VERSION__
+syn keyword nasmConstant	__TIME__
+"  Instruction modifiers
+syn match   nasmInstructnError	"\<TO\>"
+syn match   nasmInstrModifier	"\(^\|:\)\s*[C-GS]S\>"ms=e-1
+syn keyword nasmInstrModifier	A16 A32 O16 O32
+syn match   nasmInstrModifier	"\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)\s\+TO\>"lc=5,ms=e-1
+"   the 'to' keyword is not allowed for fpu-pop instructions (yet)
+"syn match   nasmInstrModifier	"\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)P\s\+TO\>"lc=6,ms=e-1
+"  NAsm directives
+syn keyword nasmRepeat		TIMES
+syn keyword nasmDirective	ALIGN[B] INCBIN EQU NOSPLIT SPLIT
+syn keyword nasmDirective	ABSOLUTE BITS SECTION SEGMENT
+syn keyword nasmDirective	ENDSECTION ENDSEGMENT
+syn keyword nasmDirective	__SECT__
+"  Macro created standard directives: (requires %include)
+syn case match
+syn keyword nasmStdDirective	ENDPROC EPILOGUE LOCALS PROC PROLOGUE USES
+syn keyword nasmStdDirective	ENDIF ELSE ELIF ELSIF IF
+"syn keyword nasmStdDirective	BREAK CASE DEFAULT ENDSWITCH SWITCH
+"syn keyword nasmStdDirective	CASE OF ENDCASE
+syn keyword nasmStdDirective	DO ENDFOR ENDWHILE FOR REPEAT UNTIL WHILE EXIT
+syn case ignore
+"  Format specific directives: (all formats)
+"  (excluded: extension directives to section, global, common and extern)
+syn keyword nasmFmtDirective	ORG
+syn keyword nasmFmtDirective	EXPORT IMPORT GROUP UPPERCASE SEG WRT
+syn keyword nasmFmtDirective	LIBRARY
+syn case match
+syn keyword nasmFmtDirective	_GLOBAL_OFFSET_TABLE_ __GLOBAL_OFFSET_TABLE_
+syn keyword nasmFmtDirective	..start ..got ..gotoff ..gotpc ..plt ..sym
+syn case ignore
+
+
+
+" Standard Instructions:
+syn match   nasmInstructnError	"\<\(F\=CMOV\|SET\)N\=\a\{0,2}\>"
+syn keyword nasmInstructnError	CMPS MOVS LCS LODS STOS XLAT
+syn match   nasmStdInstruction	"\<MOV\>"
+syn match   nasmInstructnError	"\<MOV\s[^,;[]*\<CS\>\s*[^:]"he=e-1
+syn match   nasmStdInstruction	"\<\(CMOV\|J\|SET\)\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>"
+syn match   nasmStdInstruction	"\<POP\>"
+syn keyword nasmStdInstruction	AAA AAD AAM AAS ADC ADD AND
+syn keyword nasmStdInstruction	BOUND BSF BSR BSWAP BT[C] BTR BTS
+syn keyword nasmStdInstruction	CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW
+syn keyword nasmStdInstruction	CMPXCHG CMPXCHG8B CPUID CWD[E]
+syn keyword nasmStdInstruction	DAA DAS DEC DIV ENTER
+syn keyword nasmStdInstruction	IDIV IMUL INC INT[O] IRET[D] IRETW
+syn keyword nasmStdInstruction	JCXZ JECXZ JMP
+syn keyword nasmStdInstruction	LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD
+syn keyword nasmStdInstruction	LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS
+syn keyword nasmStdInstruction	MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG NOP NOT
+syn keyword nasmStdInstruction	OR POPA[D] POPAW POPF[D] POPFW
+syn keyword nasmStdInstruction	PUSH[AD] PUSHAW PUSHF[D] PUSHFW
+syn keyword nasmStdInstruction	RCL RCR RETF RET[N] ROL ROR
+syn keyword nasmStdInstruction	SAHF SAL SAR SBB SCASB SCASD SCASW
+syn keyword nasmStdInstruction	SHL[D] SHR[D] STC STD STOSB STOSD STOSW SUB
+syn keyword nasmStdInstruction	TEST XADD XCHG XLATB XOR
+
+
+" System Instructions: (usually privileged)
+"  Verification of pointer parameters
+syn keyword nasmSysInstruction	ARPL LAR LSL VERR VERW
+"  Addressing descriptor tables
+syn keyword nasmSysInstruction	LLDT SLDT LGDT SGDT
+"  Multitasking
+syn keyword nasmSysInstruction	LTR STR
+"  Coprocessing and Multiprocessing (requires fpu and multiple cpu's resp.)
+syn keyword nasmSysInstruction	CLTS LOCK WAIT
+"  Input and Output
+syn keyword nasmInstructnError	INS OUTS
+syn keyword nasmSysInstruction	IN INSB INSW INSD OUT OUTSB OUTSB OUTSW OUTSD
+"  Interrupt control
+syn keyword nasmSysInstruction	CLI STI LIDT SIDT
+"  System control
+syn match   nasmSysInstruction	"\<MOV\s[^;]\{-}\<CR\o\>"me=s+3
+syn keyword nasmSysInstruction	HLT INVD LMSW
+syn keyword nasmSseInstruction	PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHNTA
+syn keyword nasmSseInstruction	RSM SFENCE SMSW SYSENTER SYSEXIT UD2 WBINVD
+"  TLB (Translation Lookahead Buffer) testing
+syn match   nasmSysInstruction	"\<MOV\s[^;]\{-}\<TR\o\>"me=s+3
+syn keyword nasmSysInstruction	INVLPG
+
+" Debugging Instructions: (privileged)
+syn match   nasmDbgInstruction	"\<MOV\s[^;]\{-}\<DR\o\>"me=s+3
+syn keyword nasmDbgInstruction	INT1 INT3 RDMSR RDTSC RDPMC WRMSR
+
+
+" Floating Point Instructions: (requires FPU)
+syn match   nasmFpuInstruction	"\<FCMOVN\=\([AB]E\=\|[CEPUZ]\)\>"
+syn keyword nasmFpuInstruction	F2XM1 FABS FADD[P] FBLD FBSTP
+syn keyword nasmFpuInstruction	FCHS FCLEX FCOM[IP] FCOMP[P] FCOS
+syn keyword nasmFpuInstruction	FDECSTP FDISI FDIV[P] FDIVR[P] FENI FFREE
+syn keyword nasmFpuInstruction	FIADD FICOM[P] FIDIV[R] FILD
+syn keyword nasmFpuInstruction	FIMUL FINCSTP FINIT FIST[P] FISUB[R]
+syn keyword nasmFpuInstruction	FLD[1] FLDCW FLDENV FLDL2E FLDL2T FLDLG2
+syn keyword nasmFpuInstruction	FLDLN2 FLDPI FLDZ FMUL[P]
+syn keyword nasmFpuInstruction	FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE
+syn keyword nasmFpuInstruction	FNSTCW FNSTENV FNSTSW FNSTSW
+syn keyword nasmFpuInstruction	FPATAN FPREM[1] FPTAN FRNDINT FRSTOR
+syn keyword nasmFpuInstruction	FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT
+syn keyword nasmFpuInstruction	FSTCW FSTENV FST[P] FSTSW FSUB[P] FSUBR[P]
+syn keyword nasmFpuInstruction	FTST FUCOM[IP] FUCOMP[P]
+syn keyword nasmFpuInstruction	FXAM FXCH FXTRACT FYL2X FYL2XP1
+
+
+" Multi Media Xtension Packed Instructions: (requires MMX unit)
+"  Standard MMX instructions: (requires MMX1 unit)
+syn match   nasmInstructnError	"\<P\(ADD\|SUB\)U\=S\=[DQ]\=\>"
+syn match   nasmInstructnError	"\<PCMP\a\{0,2}[BDWQ]\=\>"
+syn keyword nasmMmxInstruction	EMMS MOVD MOVQ
+syn keyword nasmMmxInstruction	PACKSSDW PACKSSWB PACKUSWB PADDB PADDD PADDW
+syn keyword nasmMmxInstruction	PADDSB PADDSW PADDUSB PADDUSW PAND[N]
+syn keyword nasmMmxInstruction	PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW
+syn keyword nasmMmxInstruction	PMACHRIW PMADDWD PMULHW PMULLW POR
+syn keyword nasmMmxInstruction	PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW
+syn keyword nasmMmxInstruction	PSUBB PSUBD PSUBW PSUBSB PSUBSW PSUBUSB PSUBUSW
+syn keyword nasmMmxInstruction	PUNPCKHBW PUNPCKHDQ PUNPCKHWD
+syn keyword nasmMmxInstruction	PUNPCKLBW PUNPCKLDQ PUNPCKLWD PXOR
+"  Extended MMX instructions: (requires MMX2/SSE unit)
+syn keyword nasmMmxInstruction	MASKMOVQ MOVNTQ
+syn keyword nasmMmxInstruction	PAVGB PAVGW PEXTRW PINSRW PMAXSW PMAXUB
+syn keyword nasmMmxInstruction	PMINSW PMINUB PMOVMSKB PMULHUW PSADBW PSHUFW
+
+
+" Streaming SIMD Extension Packed Instructions: (requires SSE unit)
+syn match   nasmInstructnError	"\<CMP\a\{1,5}[PS]S\>"
+syn match   nasmSseInstruction	"\<CMP\(N\=\(EQ\|L[ET]\)\|\(UN\)\=ORD\)\=[PS]S\>"
+syn keyword nasmSseInstruction	ADDPS ADDSS ANDNPS ANDPS
+syn keyword nasmSseInstruction	COMISS CVTPI2PS CVTPS2PI
+syn keyword nasmSseInstruction	CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI
+syn keyword nasmSseInstruction	DIVPS DIVSS FXRSTOR FXSAVE LDMXCSR
+syn keyword nasmSseInstruction	MAXPS MAXSS MINPS MINSS MOVAPS MOVHLPS MOVHPS
+syn keyword nasmSseInstruction	MOVLHPS MOVLPS MOVMSKPS MOVNTPS MOVSS MOVUPS
+syn keyword nasmSseInstruction	MULPS MULSS
+syn keyword nasmSseInstruction	ORPS RCPPS RCPSS RSQRTPS RSQRTSS
+syn keyword nasmSseInstruction	SHUFPS SQRTPS SQRTSS STMXCSR SUBPS SUBSS
+syn keyword nasmSseInstruction	UCOMISS UNPCKHPS UNPCKLPS XORPS
+
+
+" Three Dimensional Now Packed Instructions: (requires 3DNow! unit)
+syn keyword nasmNowInstruction	FEMMS PAVGUSB PF2ID PFACC PFADD PFCMPEQ PFCMPGE
+syn keyword nasmNowInstruction	PFCMPGT PFMAX PFMIN PFMUL PFRCP PFRCPIT1
+syn keyword nasmNowInstruction	PFRCPIT2 PFRSQIT1 PFRSQRT PFSUB[R] PI2FD
+syn keyword nasmNowInstruction	PMULHRWA PREFETCH[W]
+
+
+" Vendor Specific Instructions:
+"  Cyrix instructions (requires Cyrix processor)
+syn keyword nasmCrxInstruction	PADDSIW PAVEB PDISTIB PMAGW PMULHRW[C] PMULHRIW
+syn keyword nasmCrxInstruction	PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW
+syn keyword nasmCrxInstruction	RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS
+syn keyword nasmCrxInstruction	WRSHR
+"  AMD instructions (requires AMD processor)
+syn keyword nasmAmdInstruction	SYSCALL SYSRET
+
+
+" Undocumented Instructions:
+syn match   nasmUndInstruction	"\<POP\s[^;]*\<CS\>"me=s+3
+syn keyword nasmUndInstruction	CMPXCHG486 IBTS ICEBP INT01 INT03 LOADALL
+syn keyword nasmUndInstruction	LOADALL286 LOADALL386 SALC SMI UD1 UMOV XBTS
+
+
+
+" Synchronize Syntax:
+syn sync clear
+syn sync minlines=50		"for multiple region nesting
+syn sync match  nasmSync	grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1
+syn sync match	nasmSync	grouphere NONE	       "^\s*%endmacro\>"
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later  : only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_nasm_syntax_inits")
+  if version < 508
+    let did_nasm_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " Sub Links:
+  HiLink nasmInMacDirective	nasmDirective
+  HiLink nasmInMacLabel		nasmLocalLabel
+  HiLink nasmInMacLblWarn	nasmLabelWarn
+  HiLink nasmInMacMacro		nasmMacro
+  HiLink nasmInMacParam		nasmMacro
+  HiLink nasmInMacParamNum	nasmDecNumber
+  HiLink nasmInMacPreCondit	nasmPreCondit
+  HiLink nasmInMacPreProc	nasmPreProc
+  HiLink nasmInPreCondit	nasmPreCondit
+  HiLink nasmInStructure	nasmStructure
+  HiLink nasmStructureLabel	nasmStructure
+
+  " Comment Group:
+  HiLink nasmComment		Comment
+  HiLink nasmSpecialComment	SpecialComment
+  HiLink nasmInCommentTodo	Todo
+
+  " Constant Group:
+  HiLink nasmString		String
+  HiLink nasmStringError	Error
+  HiLink nasmBinNumber		Number
+  HiLink nasmOctNumber		Number
+  HiLink nasmDecNumber		Number
+  HiLink nasmHexNumber		Number
+  HiLink nasmFltNumber		Float
+  HiLink nasmNumberError	Error
+
+  " Identifier Group:
+  HiLink nasmLabel		Identifier
+  HiLink nasmLocalLabel		Identifier
+  HiLink nasmSpecialLabel	Special
+  HiLink nasmLabelError		Error
+  HiLink nasmLabelWarn		Todo
+
+  " PreProc Group:
+  HiLink nasmPreProc		PreProc
+  HiLink nasmDefine		Define
+  HiLink nasmInclude		Include
+  HiLink nasmMacro		Macro
+  HiLink nasmPreCondit		PreCondit
+  HiLink nasmPreProcError	Error
+  HiLink nasmPreProcWarn	Todo
+
+  " Type Group:
+  HiLink nasmType		Type
+  HiLink nasmStorage		StorageClass
+  HiLink nasmStructure		Structure
+  HiLink nasmTypeError		Error
+
+  " Directive Group:
+  HiLink nasmConstant		Constant
+  HiLink nasmInstrModifier	Operator
+  HiLink nasmRepeat		Repeat
+  HiLink nasmDirective		Keyword
+  HiLink nasmStdDirective	Operator
+  HiLink nasmFmtDirective	Keyword
+
+  " Register Group:
+  HiLink nasmCtrlRegister	Special
+  HiLink nasmDebugRegister	Debug
+  HiLink nasmTestRegister	Special
+  HiLink nasmRegisterError	Error
+  HiLink nasmMemRefError	Error
+
+  " Instruction Group:
+  HiLink nasmStdInstruction	Statement
+  HiLink nasmSysInstruction	Statement
+  HiLink nasmDbgInstruction	Debug
+  HiLink nasmFpuInstruction	Statement
+  HiLink nasmMmxInstruction	Statement
+  HiLink nasmSseInstruction	Statement
+  HiLink nasmNowInstruction	Statement
+  HiLink nasmAmdInstruction	Special
+  HiLink nasmCrxInstruction	Special
+  HiLink nasmUndInstruction	Todo
+  HiLink nasmInstructnError	Error
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "nasm"
+
+" vim:ts=8 sw=4
