blob: 22d7c2729a5b86837bdede1d71d131279f4995b7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: NASM - The Netwide Assembler (v0.98)
Bram Moolenaar690afe12017-01-28 18:34:47 +01003" Maintainer: Andrii Sokolov <andriy145@gmail.com>
Bram Moolenaar4a748032010-09-30 21:47:56 +02004" Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
5" Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
Andrii Sokolov830a8022024-10-08 21:10:09 +02006" Contributors:
Bram Moolenaarb7398fe2023-05-14 18:50:25 +01007" Leonard König <leonard.r.koenig@gmail.com> (C string highlighting),
8" Peter Stanhope <dev.rptr@gmail.com> (Add missing 64-bit mode registers)
Andrii Sokolov830a8022024-10-08 21:10:09 +02009" Frédéric Hamel <frederic.hamel123@gmail.com> (F16c support, partial AVX
Bram Moolenaarb7398fe2023-05-14 18:50:25 +010010" support, other)
Andrii Sokolov830a8022024-10-08 21:10:09 +020011" sarvel <sarvel@protonmail.com> (Complete set of supported instructions)
12" Last Change: 2024 Oct 8
Bram Moolenaar4a748032010-09-30 21:47:56 +020013" NASM Home: http://www.nasm.us/
Bram Moolenaar071d4272004-06-13 20:20:40 +000014
15
Bram Moolenaar071d4272004-06-13 20:20:40 +000016" Setup Syntax:
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020017" quit when a syntax file was already loaded
18if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000019 finish
20endif
21" Assembler syntax is case insensetive
22syn case ignore
23
24
Bram Moolenaar071d4272004-06-13 20:20:40 +000025" Vim search and movement commands on identifers
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020026" Comments at start of a line inside which to skip search for indentifiers
27setlocal comments=:;
28" Identifier Keyword characters (defines \k)
29setlocal iskeyword=@,48-57,#,$,.,?,@-@,_,~
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
31
32" Comments:
33syn region nasmComment start=";" keepend end="$" contains=@nasmGrpInComments
34syn region nasmSpecialComment start=";\*\*\*" keepend end="$"
35syn keyword nasmInCommentTodo contained TODO FIXME XXX[XXXXX]
36syn cluster nasmGrpInComments contains=nasmInCommentTodo
37syn cluster nasmGrpComments contains=@nasmGrpInComments,nasmComment,nasmSpecialComment
38
39
40
41" Label Identifiers:
42" in NASM: 'Everything is a Label'
43" Definition Label = label defined by %[i]define or %[i]assign
44" Identifier Label = label defined as first non-keyword on a line or %[i]macro
Bram Moolenaar5dc62522012-02-13 00:05:22 +010045syn match nasmLabelError "$\=\(\d\+\K\|[#.@]\|\$\$\k\)\k*\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000046syn match nasmLabel "\<\(\h\|[?@]\)\k*\>"
47syn match nasmLabel "[\$\~]\(\h\|[?@]\)\k*\>"lc=1
48" Labels starting with one or two '.' are special
49syn match nasmLocalLabel "\<\.\(\w\|[#$?@~]\)\k*\>"
50syn match nasmLocalLabel "\<\$\.\(\w\|[#$?@~]\)\k*\>"ms=s+1
51if !exists("nasm_no_warn")
Bram Moolenaar5dc62522012-02-13 00:05:22 +010052 syn match nasmLabelWarn "\<\~\=\$\=[_.][_.\~]*\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000053endif
54if exists("nasm_loose_syntax")
55 syn match nasmSpecialLabel "\<\.\.@\k\+\>"
56 syn match nasmSpecialLabel "\<\$\.\.@\k\+\>"ms=s+1
57 if !exists("nasm_no_warn")
58 syn match nasmLabelWarn "\<\$\=\.\.@\(\d\|[#$\.~]\)\k*\>"
59 endif
60 " disallow use of nasm internal label format
61 syn match nasmLabelError "\<\$\=\.\.@\d\+\.\k*\>"
62else
63 syn match nasmSpecialLabel "\<\.\.@\(\h\|[?@]\)\k*\>"
64 syn match nasmSpecialLabel "\<\$\.\.@\(\h\|[?@]\)\k*\>"ms=s+1
65endif
66" Labels can be dereferenced with '$' to destinguish them from reserved words
67syn match nasmLabelError "\<\$\K\k*\s*:"
68syn match nasmLabelError "^\s*\$\K\k*\>"
69syn match nasmLabelError "\<\~\s*\(\k*\s*:\|\$\=\.\k*\)"
70
71
72
73" Constants:
Bram Moolenaar690afe12017-01-28 18:34:47 +010074syn match nasmStringError +["'`]+
75" NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for
76" 8-digit Unicode characters
77syn case match
78" one-char escape-sequences
79syn match nasmCStringEscape display contained "\\[’"‘\\\?abtnvfre]"
80" hex and octal numbers
81syn match nasmCStringEscape display contained "\\\(x\x\{2}\|\o\{1,3}\)"
82" Unicode characters
83syn match nasmCStringEscape display contained "\\\(u\x\{4}\|U\x\{8}\)"
84" ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim)
85syn match nasmCStringFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
86syn match nasmCStringFormat display "%%" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000087syn match nasmString +\("[^"]\{-}"\|'[^']\{-}'\)+
Bram Moolenaar690afe12017-01-28 18:34:47 +010088" Highlight C escape- and format-sequences within ``-strings
89syn match nasmCString +\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend
90syn case ignore
Andrii Sokolov830a8022024-10-08 21:10:09 +020091syn match nasmBinNumber "\<\([01][01_]*[by]\|0[by][01_]\+\)\>"
92syn match nasmBinNumber "\<\~\([01][01_]*[by]\|0[by][01_]\+\)\>"lc=1
93syn match nasmOctNumber "\<\(\o[0-7_]*[qo]\|0[qo][0-7_]\+\)\>"
94syn match nasmOctNumber "\<\~\(\o[0-7_]*[qo]\|0[qo][0-7_]\+\)\>"lc=1
95syn match nasmDecNumber "\<\(\d[0-9_]*\|\d[0-9_]*d\|0d[0-9_]\+\)\>"
96syn match nasmDecNumber "\<\~\(\d[0-9_]*\|\d[0-9_]*d\|0d[0-9_]\+\)\>"lc=1
97syn match nasmHexNumber "\<\(\d[0-9a-f_]*h\|0[xh][0-9a-f_]\+\|\$\d[0-9a-f_]*\)\>"
98syn match nasmHexNumber "\<\~\(\d[0-9a-f_]*h\|0[xh][0-9a-f_]\+\|\$\d[0-9a-f_]*\)\>"lc=1
99syn match nasmBinFloat "\<\(0[by][01_]*\.[01_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[by][01_]*p[+-]\=[0-9_]*\)\>"
100syn match nasmOctFloat "\<\(0[qo][0-7_]*\.[0-7_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[qo][0-7_]*p[+-]\=[0-9_]*\)\>"
101syn match nasmDecFloat "\<\(\d[0-9_]*\.[0-9_]*\(e[+-]\=[0-9_]*\)\=\)\|\(\d[0-9_]*e[+-]\=[0-9_]*\)\>"
102syn match nasmHexFloat "\<\(0[xh][0-9a-f_]\+\.[0-9a-f_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[xh][0-9a-f_]\+p[+-]\=[0-9_]*\)\>"
103syn keyword nasmSpecFloat Inf NaN SNaN QNaN __?Infinity?__ __?NaN?__ __?SNaN?__ __?QNaN?__
104syn match nasmBcdConst "\<\(\d[0-9_]*p\|0p[0-9_]\+\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105syn match nasmNumberError "\<\~\s*\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
106
107
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108" Netwide Assembler Storage Directives:
109" Storage types
110syn keyword nasmTypeError DF EXTRN FWORD RESF TBYTE
111syn keyword nasmType FAR NEAR SHORT
112syn keyword nasmType BYTE WORD DWORD QWORD DQWORD HWORD DHWORD TWORD
113syn keyword nasmType CDECL FASTCALL NONE PASCAL STDCALL
Andrii Sokolov830a8022024-10-08 21:10:09 +0200114syn keyword nasmStorage DB DW DD DQ DT DO DY DZ
115syn keyword nasmStorage RESB RESW RESD RESQ REST RESO RESY RESZ
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116syn keyword nasmStorage EXTERN GLOBAL COMMON
117" Structured storage types
118syn match nasmTypeError "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
119syn match nasmStructureLabel contained "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
120" structures cannot be nested (yet) -> use: 'keepend' and 're='
121syn cluster nasmGrpCntnStruc contains=ALLBUT,@nasmGrpInComments,nasmMacroDef,@nasmGrpInMacros,@nasmGrpInPreCondits,nasmStructureDef,@nasmGrpInStrucs
122syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnStruc
123syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnStruc
124syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
125" union types are not part of nasm (yet)
126"syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnStruc
127"syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
128syn match nasmInStructure contained "^\s*AT\>"hs=e-1
129syn cluster nasmGrpInStrucs contains=nasmStructure,nasmInStructure,nasmStructureLabel
130
131
132
133" PreProcessor Instructions:
134" NAsm PreProcs start with %, but % is not a character
135syn match nasmPreProcError "%{\=\(%\=\k\+\|%%\+\k*\|[+-]\=\d\+\)}\="
136if exists("nasm_loose_syntax")
137 syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
138else
139 syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLabelError,nasmPreProcError
140endif
141
142" Multi-line macro
143syn cluster nasmGrpCntnMacro contains=ALLBUT,@nasmGrpInComments,nasmStructureDef,@nasmGrpInStrucs,nasmMacroDef,@nasmGrpPreCondits,nasmMemReference,nasmInMacPreCondit,nasmInMacStrucDef
144syn 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
145if exists("nasm_loose_syntax")
146 syn match nasmInMacLabel contained "%\(%\k\+\>\|{%\k\+}\)"
147 syn match nasmInMacLabel contained "%\($\+\(\w\|[#\.?@~]\)\k*\>\|{$\+\(\w\|[#\.?@~]\)\k*}\)"
148 syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=nasmStructureLabel,nasmLabel,nasmInMacParam,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
149 if !exists("nasm_no_warn")
150 syn match nasmInMacLblWarn contained "%\(%[$\.]\k*\>\|{%[$\.]\k*}\)"
151 syn match nasmInMacLblWarn contained "%\($\+\(\d\|[#\.@~]\)\k*\|{\$\+\(\d\|[#\.@~]\)\k*}\)"
152 hi link nasmInMacCatLabel nasmInMacLblWarn
153 else
154 hi link nasmInMacCatLabel nasmInMacLabel
155 endif
156else
157 syn match nasmInMacLabel contained "%\(%\(\w\|[#?@~]\)\k*\>\|{%\(\w\|[#?@~]\)\k*}\)"
158 syn match nasmInMacLabel contained "%\($\+\(\h\|[?@]\)\k*\>\|{$\+\(\h\|[?@]\)\k*}\)"
159 hi link nasmInMacCatLabel nasmLabelError
160endif
161syn match nasmInMacCatLabel contained "\d\K\k*"lc=1
162syn match nasmInMacLabel contained "\d}\k\+"lc=2
163if !exists("nasm_no_warn")
164 syn match nasmInMacLblWarn contained "%\(\($\+\|%\)[_~][._~]*\>\|{\($\+\|%\)[_~][._~]*}\)"
165endif
166syn match nasmInMacPreProc contained "^\s*%pop\>"hs=e-3
167syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
168" structures cannot be nested (yet) -> use: 'keepend' and 're='
169syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnMacro
170syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnMacro
171syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
172" union types are not part of nasm (yet)
173"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
174"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
175syn 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
Bram Moolenaar4a748032010-09-30 21:47:56 +0200176" Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
178syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
179syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
180syn match nasmInMacParamNum contained "\<\d\+\.list\>"me=e-5
181syn match nasmInMacParamNum contained "\<\d\+\.nolist\>"me=e-7
182syn match nasmInMacDirective contained "\.\(no\)\=list\>"
183syn match nasmInMacMacro contained transparent "macro\s"lc=5 skipwhite nextgroup=nasmStructureLabel
184syn match nasmInMacMacro contained "^\s*%rotate\>"hs=e-6
185syn match nasmInMacParam contained "%\([+-]\=\d\+\|{[+-]\=\d\+}\)"
186" nasm conditional macro operands/arguments
187" Todo: check feasebility; add too nasmGrpInMacros, etc.
188"syn match nasmInMacCond contained "\<\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>"
189syn cluster nasmGrpInMacros contains=nasmMacro,nasmInMacMacro,nasmInMacParam,nasmInMacParamNum,nasmInMacDirective,nasmInMacLabel,nasmInMacLblWarn,nasmInMacMemRef,nasmInMacPreConDef,nasmInMacPreCondit,nasmInMacPreProc,nasmInMacStrucDef
190
191" Context pre-procs that are better used inside a macro
192if exists("nasm_ctx_outside_macro")
193 syn region nasmPreConditDef transparent matchgroup=nasmCtxPreCondit start="^\s*%ifnctx\>"hs=e-6 start="^\s*%ifctx\>"hs=e-5 end="%endif\>" contains=@nasmGrpCntnPreCon
194 syn match nasmCtxPreProc "^\s*%pop\>"hs=e-3
195 if exists("nasm_loose_syntax")
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100196 syn match nasmCtxLocLabel "%$\+\(\w\|[#.?@~]\)\k*\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000197 else
198 syn match nasmCtxLocLabel "%$\+\(\h\|[?@]\)\k*\>"
199 endif
200 syn match nasmCtxPreProc "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
201 syn match nasmCtxPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
202 syn match nasmCtxPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
203 syn match nasmCtxPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
204 if exists("nasm_no_warn")
205 hi link nasmCtxPreCondit nasmPreCondit
206 hi link nasmCtxPreProc nasmPreProc
207 hi link nasmCtxLocLabel nasmLocalLabel
208 else
209 hi link nasmCtxPreCondit nasmPreProcWarn
210 hi link nasmCtxPreProc nasmPreProcWarn
211 hi link nasmCtxLocLabel nasmLabelWarn
212 endif
213endif
214
215" Conditional assembly
216syn cluster nasmGrpCntnPreCon contains=ALLBUT,@nasmGrpInComments,@nasmGrpInMacros,@nasmGrpInStrucs
217syn 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
218syn match nasmInPreCondit contained "^\s*%el\(if\|se\)\>"hs=e-4
219syn match nasmInPreCondit contained "^\s*%elifid\>"hs=e-6
220syn match nasmInPreCondit contained "^\s*%elif\(def\|idn\|nid\|num\|str\)\>"hs=e-7
221syn match nasmInPreCondit contained "^\s*%elif\(n\(def\|idn\|num\|str\)\|idni\)\>"hs=e-8
222syn match nasmInPreCondit contained "^\s*%elifnidni\>"hs=e-9
223syn cluster nasmGrpInPreCondits contains=nasmPreCondit,nasmInPreCondit,nasmCtxPreCondit
224syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
225
226" Other pre-processor statements
Bram Moolenaar4a748032010-09-30 21:47:56 +0200227syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228syn match nasmPreProc "^\s*%line\>"hs=e-4
Bram Moolenaar4a748032010-09-30 21:47:56 +0200229syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5
230syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6
231syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7
Bram Moolenaar071d4272004-06-13 20:20:40 +0000232syn match nasmDefine "^\s*%undef\>"hs=e-5
233syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6
234syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7
Bram Moolenaar4a748032010-09-30 21:47:56 +0200235syn match nasmDefine "^\s*%unmacro\>"hs=e-7
Bram Moolenaar071d4272004-06-13 20:20:40 +0000236syn match nasmInclude "^\s*%include\>"hs=e-7
Bram Moolenaar4a748032010-09-30 21:47:56 +0200237" Todo: Treat the line tail after %fatal, %error, %warning as text
Bram Moolenaar071d4272004-06-13 20:20:40 +0000238
239" Multiple pre-processor instructions on single line detection (obsolete)
240"syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
241syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCondits,nasmPreProc,nasmDefine,nasmInclude,nasmPreProcWarn,nasmPreProcError
242
243
244
245" Register Identifiers:
246" Register operands:
247syn match nasmGen08Register "\<[A-D][HL]\>"
248syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>"
249syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
Bram Moolenaar130cbfc2021-04-07 21:07:20 +0200250syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WDB]\|1[0-5][WDB]\)\>"
251syn match nasmExtRegister "\<\([SB]PL\|[SD]IL\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000252syn match nasmSegRegister "\<[C-GS]S\>"
253syn match nasmSpcRegister "\<E\=IP\>"
254syn match nasmFpuRegister "\<ST\o\>"
255syn match nasmMmxRegister "\<MM\o\>"
Andrii Sokolov733bbcd2023-09-09 12:00:09 +0200256syn match nasmAvxRegister "\<[XYZ]MM\d\{1,2}\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000257syn match nasmCtrlRegister "\<CR\o\>"
258syn match nasmDebugRegister "\<DR\o\>"
259syn match nasmTestRegister "\<TR\o\>"
260syn match nasmRegisterError "\<\(CR[15-9]\|DR[4-58-9]\|TR[0-28-9]\)\>"
Andrii Sokolov733bbcd2023-09-09 12:00:09 +0200261syn match nasmRegisterError "\<[XYZ]MM\(3[2-9]\|[04-9]\d\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000262syn match nasmRegisterError "\<ST\((\d)\|[8-9]\>\)"
263syn match nasmRegisterError "\<E\([A-D][HL]\|[C-GS]S\)\>"
264" Memory reference operand (address):
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100265syn match nasmMemRefError "[[\]]"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000266syn cluster nasmGrpCntnMemRef contains=ALLBUT,@nasmGrpComments,@nasmGrpPreProcs,@nasmGrpInStrucs,nasmMemReference,nasmMemRefError
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100267syn match nasmInMacMemRef contained "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmInMacLabel,nasmInMacLblWarn,nasmInMacParam
268syn match nasmMemReference "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmCtxLocLabel
Bram Moolenaar071d4272004-06-13 20:20:40 +0000269
270
271
272" Netwide Assembler Directives:
273" Compilation constants
274syn keyword nasmConstant __BITS__ __DATE__ __FILE__ __FORMAT__ __LINE__
275syn keyword nasmConstant __NASM_MAJOR__ __NASM_MINOR__ __NASM_VERSION__
276syn keyword nasmConstant __TIME__
277" Instruction modifiers
Bram Moolenaar071d4272004-06-13 20:20:40 +0000278syn match nasmInstrModifier "\(^\|:\)\s*[C-GS]S\>"ms=e-1
279syn keyword nasmInstrModifier A16 A32 O16 O32
280syn match nasmInstrModifier "\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)\s\+TO\>"lc=5,ms=e-1
281" the 'to' keyword is not allowed for fpu-pop instructions (yet)
282"syn match nasmInstrModifier "\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)P\s\+TO\>"lc=6,ms=e-1
283" NAsm directives
284syn keyword nasmRepeat TIMES
285syn keyword nasmDirective ALIGN[B] INCBIN EQU NOSPLIT SPLIT
Bram Moolenaarb7398fe2023-05-14 18:50:25 +0100286syn keyword nasmDirective ABSOLUTE BITS SECTION SEGMENT DEFAULT
Bram Moolenaar071d4272004-06-13 20:20:40 +0000287syn keyword nasmDirective ENDSECTION ENDSEGMENT
288syn keyword nasmDirective __SECT__
289" Macro created standard directives: (requires %include)
290syn case match
291syn keyword nasmStdDirective ENDPROC EPILOGUE LOCALS PROC PROLOGUE USES
292syn keyword nasmStdDirective ENDIF ELSE ELIF ELSIF IF
293"syn keyword nasmStdDirective BREAK CASE DEFAULT ENDSWITCH SWITCH
294"syn keyword nasmStdDirective CASE OF ENDCASE
Andrii Sokolov830a8022024-10-08 21:10:09 +0200295syn keyword nasmStdDirective ENDFOR ENDWHILE FOR REPEAT UNTIL WHILE EXIT
Bram Moolenaar071d4272004-06-13 20:20:40 +0000296syn case ignore
297" Format specific directives: (all formats)
298" (excluded: extension directives to section, global, common and extern)
299syn keyword nasmFmtDirective ORG
300syn keyword nasmFmtDirective EXPORT IMPORT GROUP UPPERCASE SEG WRT
301syn keyword nasmFmtDirective LIBRARY
302syn case match
303syn keyword nasmFmtDirective _GLOBAL_OFFSET_TABLE_ __GLOBAL_OFFSET_TABLE_
304syn keyword nasmFmtDirective ..start ..got ..gotoff ..gotpc ..plt ..sym
305syn case ignore
306
Andrii Sokolov830a8022024-10-08 21:10:09 +0200307" Instruction errors:
308" Instruction modifiers
309syn match nasmInstructnError "\<TO\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000310" Standard Instructions:
Andrii Sokolov830a8022024-10-08 21:10:09 +0200311syn match nasmInstructnError "\<\(F\=CMOV\|SET\|J\)N\=\a\{0,2}\>"
312syn match nasmInstructnError "\<CMP\a\{0,2}XADD\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000313syn keyword nasmInstructnError CMPS MOVS LCS LODS STOS XLAT
Bram Moolenaar071d4272004-06-13 20:20:40 +0000314syn match nasmInstructnError "\<MOV\s[^,;[]*\<CS\>\s*[^:]"he=e-1
Bram Moolenaar071d4272004-06-13 20:20:40 +0000315" Input and Output
316syn keyword nasmInstructnError INS OUTS
Bram Moolenaar071d4272004-06-13 20:20:40 +0000317" Standard MMX instructions: (requires MMX1 unit)
318syn match nasmInstructnError "\<P\(ADD\|SUB\)U\=S\=[DQ]\=\>"
319syn match nasmInstructnError "\<PCMP\a\{0,2}[BDWQ]\=\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000320" Streaming SIMD Extension Packed Instructions: (requires SSE unit)
321syn match nasmInstructnError "\<CMP\a\{1,5}[PS]S\>"
Bram Moolenaarb7398fe2023-05-14 18:50:25 +0100322" AVX Instructions
Bram Moolenaarb7398fe2023-05-14 18:50:25 +0100323syn match nasmInstructnError "\<VP\a\{3}R\a\>"
Bram Moolenaarb7398fe2023-05-14 18:50:25 +0100324
Bram Moolenaar071d4272004-06-13 20:20:40 +0000325
Andrii Sokolov830a8022024-10-08 21:10:09 +0200326" Instructions:
327" Standard
328syn keyword nasmInstructionStandard AAA AAD AAM AAS ADC
329syn keyword nasmInstructionStandard ADD AND ARPL
330syn keyword nasmInstructionStandard BOUND BSF BSR BSWAP BT
331syn keyword nasmInstructionStandard BTC BTR BTS CALL CBW
332syn keyword nasmInstructionStandard CDQ CDQE CLC CLD CLI
333syn keyword nasmInstructionStandard CLTS CMC CMP CMPSB CMPSD
334syn keyword nasmInstructionStandard CMPSQ CMPSW CMPXCHG CMPXCHG486 CMPXCHG8B
335syn keyword nasmInstructionStandard CMPXCHG16B CPUID CQO
336syn keyword nasmInstructionStandard CWD CWDE DAA DAS DEC
337syn keyword nasmInstructionStandard DIV EMMS ENTER EQU
338syn keyword nasmInstructionStandard F2XM1 FABS FADD FADDP FBLD
339syn keyword nasmInstructionStandard FBSTP FCHS FCLEX FCMOVB FCMOVBE
340syn keyword nasmInstructionStandard FCMOVE FCMOVNB FCMOVNBE FCMOVNE FCMOVNU
341syn keyword nasmInstructionStandard FCMOVU FCOM FCOMI FCOMIP FCOMP
342syn keyword nasmInstructionStandard FCOMPP FCOS FDECSTP FDISI FDIV
343syn keyword nasmInstructionStandard FDIVP FDIVR FDIVRP FEMMS FENI
344syn keyword nasmInstructionStandard FFREE FFREEP FIADD FICOM FICOMP
345syn keyword nasmInstructionStandard FIDIV FIDIVR FILD FIMUL FINCSTP
346syn keyword nasmInstructionStandard FINIT FIST FISTP FISTTP FISUB
347syn keyword nasmInstructionStandard FISUBR FLD FLD1 FLDCW FLDENV
348syn keyword nasmInstructionStandard FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI
349syn keyword nasmInstructionStandard FLDZ FMUL FMULP FNCLEX FNDISI
350syn keyword nasmInstructionStandard FNENI FNINIT FNOP FNSAVE FNSTCW
351syn keyword nasmInstructionStandard FNSTENV FNSTSW FPATAN FPREM FPREM1
352syn keyword nasmInstructionStandard FPTAN FRNDINT FRSTOR FSAVE FSCALE
353syn keyword nasmInstructionStandard FSETPM FSIN FSINCOS FSQRT FST
354syn keyword nasmInstructionStandard FSTCW FSTENV FSTP FSTSW FSUB
355syn keyword nasmInstructionStandard FSUBP FSUBR FSUBRP FTST FUCOM
356syn keyword nasmInstructionStandard FUCOMI FUCOMIP FUCOMP FUCOMPP FXAM
357syn keyword nasmInstructionStandard FXCH FXTRACT FYL2X FYL2XP1 HLT
358syn keyword nasmInstructionStandard IBTS ICEBP IDIV IMUL IN
359syn keyword nasmInstructionStandard INC INSB INSD INSW INT
360syn keyword nasmInstructionStandard INTO
361syn keyword nasmInstructionStandard INVD INVPCID INVLPG INVLPGA IRET
362syn keyword nasmInstructionStandard IRETD IRETQ IRETW JCXZ JECXZ
363syn keyword nasmInstructionStandard JRCXZ JMP JMPE LAHF LAR
364syn keyword nasmInstructionStandard LDS LEA LEAVE LES LFENCE
365syn keyword nasmInstructionStandard LFS LGDT LGS LIDT LLDT
366syn keyword nasmInstructionStandard LMSW LOADALL LOADALL286 LODSB LODSD
367syn keyword nasmInstructionStandard LODSQ LODSW LOOP LOOPE LOOPNE
368syn keyword nasmInstructionStandard LOOPNZ LOOPZ LSL LSS LTR
369syn keyword nasmInstructionStandard MFENCE MONITOR MONITORX MOV MOVD
370syn keyword nasmInstructionStandard MOVQ MOVSB MOVSD MOVSQ MOVSW
371syn keyword nasmInstructionStandard MOVSX MOVSXD MOVSX MOVZX MUL
372syn keyword nasmInstructionStandard MWAIT MWAITX NEG NOP NOT
373syn keyword nasmInstructionStandard OR OUT OUTSB OUTSD OUTSW
374syn keyword nasmInstructionStandard PACKSSDW PACKSSWB PACKUSWB PADDB PADDD
375syn keyword nasmInstructionStandard PADDSB PADDSW PADDUSB PADDUSW
376syn keyword nasmInstructionStandard PADDW PAND PANDN PAUSE
377syn keyword nasmInstructionStandard PAVGUSB PCMPEQB PCMPEQD PCMPEQW PCMPGTB
378syn keyword nasmInstructionStandard PCMPGTD PCMPGTW PF2ID PFACC
379syn keyword nasmInstructionStandard PFADD PFCMPEQ PFCMPGE PFCMPGT PFMAX
380syn keyword nasmInstructionStandard PFMIN PFMUL PFRCP PFRCPIT1 PFRCPIT2
381syn keyword nasmInstructionStandard PFRSQIT1 PFRSQRT PFSUB PFSUBR PI2FD
382syn keyword nasmInstructionStandard PMADDWD PMULHRWA
383syn keyword nasmInstructionStandard PMULHW PMULLW
384syn keyword nasmInstructionStandard POP POPA POPAD
385syn keyword nasmInstructionStandard POPAW POPF POPFD POPFQ POPFW
386syn keyword nasmInstructionStandard POR PREFETCH PREFETCHW PSLLD PSLLQ
387syn keyword nasmInstructionStandard PSLLW PSRAD PSRAW PSRLD PSRLQ
388syn keyword nasmInstructionStandard PSRLW PSUBB PSUBD PSUBSB
389syn keyword nasmInstructionStandard PSUBSW PSUBUSB PSUBUSW PSUBW PUNPCKHBW
390syn keyword nasmInstructionStandard PUNPCKHDQ PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWD
391syn keyword nasmInstructionStandard PUSH PUSHA PUSHAD PUSHAW PUSHF
392syn keyword nasmInstructionStandard PUSHFD PUSHFQ PUSHFW PXOR RCL
393syn keyword nasmInstructionStandard RCR
394syn keyword nasmInstructionStandard RDTSCP RET RETF RETN RETW
395syn keyword nasmInstructionStandard RETFW RETNW RETD RETFD RETND
396syn keyword nasmInstructionStandard RETQ RETFQ RETNQ ROL ROR
397syn keyword nasmInstructionStandard RSM RSTS
398syn keyword nasmInstructionStandard SAHF SAL SALC SAR SBB
399syn keyword nasmInstructionStandard SCASB SCASD SCASQ SCASW SFENCE
400syn keyword nasmInstructionStandard SGDT SHL SHLD SHR SHRD
401syn keyword nasmInstructionStandard SIDT SLDT SKINIT SMI
402syn keyword nasmInstructionStandard SMSW STC STD STI
403syn keyword nasmInstructionStandard STOSB STOSD STOSQ STOSW STR
404syn keyword nasmInstructionStandard SUB SWAPGS
405syn keyword nasmInstructionStandard SYSCALL SYSENTER SYSEXIT SYSRET TEST
406syn keyword nasmInstructionStandard UD0 UD1 UD2B UD2 UD2A
407syn keyword nasmInstructionStandard UMOV VERR VERW FWAIT WBINVD
408syn keyword nasmInstructionStandard XADD XBTS XCHG
409syn keyword nasmInstructionStandard XLATB XLAT XOR CMOVA CMOVAE
410syn keyword nasmInstructionStandard CMOVB CMOVBE CMOVC CMOVE CMOVG
411syn keyword nasmInstructionStandard CMOVGE CMOVL CMOVLE CMOVNA CMOVNAE
412syn keyword nasmInstructionStandard CMOVNB CMOVNBE CMOVNC CMOVNE CMOVNG
413syn keyword nasmInstructionStandard CMOVNGE CMOVNL CMOVNLE CMOVNO CMOVNP
414syn keyword nasmInstructionStandard CMOVNS CMOVNZ CMOVO CMOVP CMOVPE
415syn keyword nasmInstructionStandard CMOVPO CMOVS CMOVZ JA JAE
416syn keyword nasmInstructionStandard JB JBE JC JCXZ JE
417syn keyword nasmInstructionStandard JECXZ JG JGE JL JLE
418syn keyword nasmInstructionStandard JNA JNAE JNB JNBE JNC
419syn keyword nasmInstructionStandard JNE JNG JNGE JNL JNLE
420syn keyword nasmInstructionStandard JNO JNP JNS JNZ JO
421syn keyword nasmInstructionStandard JP JPE JPO JRCXZ JS
422syn keyword nasmInstructionStandard JZ SETA SETAE SETB SETBE
423syn keyword nasmInstructionStandard SETC SETE SETG SETGE SETL
424syn keyword nasmInstructionStandard SETLE SETNA SETNAE SETNB SETNBE
425syn keyword nasmInstructionStandard SETNC SETNE SETNG SETNGE SETNL
426syn keyword nasmInstructionStandard SETNLE SETNO SETNP SETNS SETNZ
427syn keyword nasmInstructionStandard SETO SETP SETPE SETPO SETS
428syn keyword nasmInstructionStandard SETZ
429" SIMD
430syn keyword nasmInstructionSIMD ADDPS ADDSS ANDNPS ANDPS CMPEQPS
431syn keyword nasmInstructionSIMD CMPEQSS CMPLEPS CMPLESS CMPLTPS CMPLTSS
432syn keyword nasmInstructionSIMD CMPNEQPS CMPNEQSS CMPNLEPS CMPNLESS CMPNLTPS
433syn keyword nasmInstructionSIMD CMPNLTSS CMPORDPS CMPORDSS CMPUNORDPS CMPUNORDSS
434syn keyword nasmInstructionSIMD CMPPS CMPSS COMISS CVTPI2PS CVTPS2PI
435syn keyword nasmInstructionSIMD CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI DIVPS
436syn keyword nasmInstructionSIMD DIVSS LDMXCSR MAXPS MAXSS MINPS
437syn keyword nasmInstructionSIMD MINSS MOVAPS MOVHPS MOVLHPS MOVLPS
438syn keyword nasmInstructionSIMD MOVHLPS MOVMSKPS MOVNTPS MOVSS MOVUPS
439syn keyword nasmInstructionSIMD MULPS MULSS ORPS RCPPS RCPSS
440syn keyword nasmInstructionSIMD RSQRTPS RSQRTSS SHUFPS SQRTPS SQRTSS
441syn keyword nasmInstructionSIMD STMXCSR SUBPS SUBSS UCOMISS UNPCKHPS
442syn keyword nasmInstructionSIMD UNPCKLPS XORPS
443" SSE
444syn keyword nasmInstructionSSE FXRSTOR FXRSTOR64 FXSAVE FXSAVE64
445" XSAVE
446syn keyword nasmInstructionXSAVE XGETBV XSETBV XSAVE XSAVE64 XSAVEC
447syn keyword nasmInstructionXSAVE XSAVEC64 XSAVEOPT XSAVEOPT64 XSAVES XSAVES64
448syn keyword nasmInstructionXSAVE XRSTOR XRSTOR64 XRSTORS XRSTORS64
449" MEM
450syn keyword nasmInstructionMEM PREFETCHNTA PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHIT0
451syn keyword nasmInstructionMEM PREFETCHIT1 SFENCE
452" MMX
453syn keyword nasmInstructionMMX MASKMOVQ MOVNTQ PAVGB PAVGW PEXTRW
454syn keyword nasmInstructionMMX PINSRW PMAXSW PMAXUB PMINSW PMINUB
455syn keyword nasmInstructionMMX PMOVMSKB PMULHUW PSADBW PSHUFW
456" 3DNOW
457syn keyword nasmInstruction3DNOW PF2IW PFNACC PFPNACC PI2FW PSWAPD
458" SSE2
459syn keyword nasmInstructionSSE2 MASKMOVDQU CLFLUSH MOVNTDQ MOVNTI MOVNTPD
460syn keyword nasmInstructionSSE2 LFENCE MFENCE
461" WMMX
462syn keyword nasmInstructionWMMX MOVD MOVDQA MOVDQU MOVDQ2Q MOVQ
463syn keyword nasmInstructionWMMX MOVQ2DQ PACKSSWB PACKSSDW PACKUSWB PADDB
464syn keyword nasmInstructionWMMX PADDW PADDD PADDQ PADDSB PADDSW
465syn keyword nasmInstructionWMMX PADDUSB PADDUSW PAND PANDN PAVGB
466syn keyword nasmInstructionWMMX PAVGW PCMPEQB PCMPEQW PCMPEQD PCMPGTB
467syn keyword nasmInstructionWMMX PCMPGTW PCMPGTD PEXTRW PINSRW PMADDWD
468syn keyword nasmInstructionWMMX PMAXSW PMAXUB PMINSW PMINUB PMOVMSKB
469syn keyword nasmInstructionWMMX PMULHUW PMULHW PMULLW PMULUDQ POR
470syn keyword nasmInstructionWMMX PSADBW PSHUFD PSHUFHW PSHUFLW PSLLDQ
471syn keyword nasmInstructionWMMX PSLLW PSLLD PSLLQ PSRAW PSRAD
472syn keyword nasmInstructionWMMX PSRLDQ PSRLW PSRLD PSRLQ PSUBB
473syn keyword nasmInstructionWMMX PSUBW PSUBD PSUBQ PSUBSB PSUBSW
474syn keyword nasmInstructionWMMX PSUBUSB PSUBUSW PUNPCKHBW PUNPCKHWD PUNPCKHDQ
475syn keyword nasmInstructionWMMX PUNPCKHQDQ PUNPCKLBW PUNPCKLWD PUNPCKLDQ PUNPCKLQDQ
476syn keyword nasmInstructionWMMX PXOR
477" WSSD
478syn keyword nasmInstructionWSSD ADDPD ADDSD ANDNPD ANDPD CMPEQPD
479syn keyword nasmInstructionWSSD CMPEQSD CMPLEPD CMPLESD CMPLTPD CMPLTSD
480syn keyword nasmInstructionWSSD CMPNEQPD CMPNEQSD CMPNLEPD CMPNLESD CMPNLTPD
481syn keyword nasmInstructionWSSD CMPNLTSD CMPORDPD CMPORDSD CMPUNORDPD CMPUNORDSD
482syn keyword nasmInstructionWSSD CMPPD CMPSD COMISD CVTDQ2PD CVTDQ2PS
483syn keyword nasmInstructionWSSD CVTPD2DQ CVTPD2PI CVTPD2PS CVTPI2PD CVTPS2DQ
484syn keyword nasmInstructionWSSD CVTPS2PD CVTSD2SI CVTSD2SS CVTSI2SD CVTSS2SD
485syn keyword nasmInstructionWSSD CVTTPD2PI CVTTPD2DQ CVTTPS2DQ CVTTSD2SI DIVPD
486syn keyword nasmInstructionWSSD DIVSD MAXPD MAXSD MINPD MINSD
487syn keyword nasmInstructionWSSD MOVAPD MOVHPD MOVLPD MOVMSKPD MOVSD
488syn keyword nasmInstructionWSSD MOVUPD MULPD MULSD ORPD SHUFPD
489syn keyword nasmInstructionWSSD SQRTPD SQRTSD SUBPD SUBSD UCOMISD
490syn keyword nasmInstructionWSSD UNPCKHPD UNPCKLPD XORPD
491" PRESSCOT
492syn keyword nasmInstructionPRESSCOT ADDSUBPD ADDSUBPS HADDPD HADDPS HSUBPD
493syn keyword nasmInstructionPRESSCOT HSUBPS LDDQU MOVDDUP MOVSHDUP MOVSLDUP
494" VMXSVM
495syn keyword nasmInstructionVMXSVM CLGI STGI VMCALL VMCLEAR VMFUNC
496syn keyword nasmInstructionVMXSVM VMLAUNCH VMLOAD VMMCALL VMPTRLD VMPTRST
497syn keyword nasmInstructionVMXSVM VMREAD VMRESUME VMRUN VMSAVE VMWRITE
498syn keyword nasmInstructionVMXSVM VMXOFF VMXON
499" PTVMX
500syn keyword nasmInstructionPTVMX INVEPT INVVPID
501" SEVSNPAMD
502syn keyword nasmInstructionSEVSNPAMD PVALIDATE RMPADJUST VMGEXIT
503" TEJAS
504syn keyword nasmInstructionTEJAS PABSB PABSW PABSD PALIGNR PHADDW
505syn keyword nasmInstructionTEJAS PHADDD PHADDSW PHSUBW PHSUBD PHSUBSW
506syn keyword nasmInstructionTEJAS PMADDUBSW PMULHRSW PSHUFB PSIGNB PSIGNW
507syn keyword nasmInstructionTEJAS PSIGND
508" AMD_SSE4A
509syn keyword nasmInstructionAMD_SSE4A EXTRQ INSERTQ MOVNTSD MOVNTSS
510" BARCELONA
511syn keyword nasmInstructionBARCELONA LZCNT
512" PENRY
513syn keyword nasmInstructionPENRY BLENDPD BLENDPS BLENDVPD BLENDVPS DPPD
514syn keyword nasmInstructionPENRY DPPS EXTRACTPS INSERTPS MOVNTDQA MPSADBW
515syn keyword nasmInstructionPENRY PACKUSDW PBLENDVB PBLENDW PCMPEQQ PEXTRB
516syn keyword nasmInstructionPENRY PEXTRD PEXTRQ PEXTRW PHMINPOSUW PINSRB
517syn keyword nasmInstructionPENRY PINSRD PINSRQ PMAXSB PMAXSD PMAXUD
518syn keyword nasmInstructionPENRY PMAXUW PMINSB PMINSD PMINUD PMINUW
519syn keyword nasmInstructionPENRY PMOVSXBW PMOVSXBD PMOVSXBQ PMOVSXWD PMOVSXWQ
520syn keyword nasmInstructionPENRY PMOVSXDQ PMOVZXBW PMOVZXBD PMOVZXBQ PMOVZXWD
521syn keyword nasmInstructionPENRY PMOVZXWQ PMOVZXDQ PMULDQ PMULLD PTEST
522syn keyword nasmInstructionPENRY ROUNDPD ROUNDPS ROUNDSD ROUNDSS
523" NEHALEM
524syn keyword nasmInstructionNEHALEM CRC32 PCMPESTRI PCMPESTRM PCMPISTRI PCMPISTRM
525syn keyword nasmInstructionNEHALEM PCMPGTQ POPCNT
526" SMX
527syn keyword nasmInstructionSMX GETSEC
528" GEODE_3DNOW
529syn keyword nasmInstructionGEODE_3DNOW PFRCPV PFRSQRTV
530" INTEL_NEW
531syn keyword nasmInstructionINTEL_NEW MOVBE
532" AES
533syn keyword nasmInstructionAES AESENC AESENCLAST AESDEC AESDECLAST AESIMC
534syn keyword nasmInstructionAES AESKEYGENASSIST
535" AVX_AES
536syn keyword nasmInstructionAVX_AES VAESENC VAESENCLAST VAESDEC VAESDECLAST VAESIMC
537syn keyword nasmInstructionAVX_AES VAESKEYGENASSIST
538" INTEL_PUB
539syn keyword nasmInstructionINTEL_PUB VAESENC VAESENCLAST VAESDEC VAESDECLAST VAESENC
540syn keyword nasmInstructionINTEL_PUB VAESENCLAST VAESDEC VAESDECLAST VAESENC VAESENCLAST
541syn keyword nasmInstructionINTEL_PUB VAESDEC VAESDECLAST
542" AVX
543syn keyword nasmInstructionAVX VADDPD VADDPS VADDSD VADDSS VADDSUBPD
544syn keyword nasmInstructionAVX VADDSUBPS VANDPD VANDPS VANDNPD VANDNPS
545syn keyword nasmInstructionAVX VBLENDPD VBLENDPS VBLENDVPD VBLENDVPS VBROADCASTSS
546syn keyword nasmInstructionAVX VBROADCASTSD VBROADCASTF128 VCMPEQ_OSPD VCMPEQPD VCMPLT_OSPD
547syn keyword nasmInstructionAVX VCMPLTPD VCMPLE_OSPD VCMPLEPD VCMPUNORD_QPD VCMPUNORDPD
548syn keyword nasmInstructionAVX VCMPNEQ_UQPD VCMPNEQPD VCMPNLT_USPD VCMPNLTPD VCMPNLE_USPD
549syn keyword nasmInstructionAVX VCMPNLEPD VCMPORD_QPD VCMPORDPD VCMPEQ_UQPD VCMPNGE_USPD
550syn keyword nasmInstructionAVX VCMPNGEPD VCMPNGT_USPD VCMPNGTPD VCMPFALSE_OQPD VCMPFALSEPD
551syn keyword nasmInstructionAVX VCMPNEQ_OQPD VCMPGE_OSPD VCMPGEPD VCMPGT_OSPD VCMPGTPD
552syn keyword nasmInstructionAVX VCMPTRUE_UQPD VCMPTRUEPD VCMPEQ_OSPD VCMPLT_OQPD VCMPLE_OQPD
553syn keyword nasmInstructionAVX VCMPUNORD_SPD VCMPNEQ_USPD VCMPNLT_UQPD VCMPNLE_UQPD VCMPORD_SPD
554syn keyword nasmInstructionAVX VCMPEQ_USPD VCMPNGE_UQPD VCMPNGT_UQPD VCMPFALSE_OSPD VCMPNEQ_OSPD
555syn keyword nasmInstructionAVX VCMPGE_OQPD VCMPGT_OQPD VCMPTRUE_USPD VCMPPD VCMPEQ_OSPS
556syn keyword nasmInstructionAVX VCMPEQPS VCMPLT_OSPS VCMPLTPS VCMPLE_OSPS VCMPLEPS
557syn keyword nasmInstructionAVX VCMPUNORD_QPS VCMPUNORDPS VCMPNEQ_UQPS VCMPNEQPS VCMPNLT_USPS
558syn keyword nasmInstructionAVX VCMPNLTPS VCMPNLE_USPS VCMPNLEPS VCMPORD_QPS VCMPORDPS
559syn keyword nasmInstructionAVX VCMPEQ_UQPS VCMPNGE_USPS VCMPNGEPS VCMPNGT_USPS VCMPNGTPS
560syn keyword nasmInstructionAVX VCMPFALSE_OQPS VCMPFALSEPS VCMPNEQ_OQPS VCMPGE_OSPS VCMPGEPS
561syn keyword nasmInstructionAVX VCMPGT_OSPS VCMPGTPS VCMPTRUE_UQPS VCMPTRUEPS VCMPEQ_OSPS
562syn keyword nasmInstructionAVX VCMPLT_OQPS VCMPLE_OQPS VCMPUNORD_SPS VCMPNEQ_USPS VCMPNLT_UQPS
563syn keyword nasmInstructionAVX VCMPNLE_UQPS VCMPORD_SPS VCMPEQ_USPS VCMPNGE_UQPS VCMPNGT_UQPS
564syn keyword nasmInstructionAVX VCMPFALSE_OSPS VCMPNEQ_OSPS VCMPGE_OQPS VCMPGT_OQPS VCMPTRUE_USPS
565syn keyword nasmInstructionAVX VCMPPS VCMPEQ_OSSD VCMPEQSD VCMPLT_OSSD VCMPLTSD
566syn keyword nasmInstructionAVX VCMPLE_OSSD VCMPLESD VCMPUNORD_QSD VCMPUNORDSD VCMPNEQ_UQSD
567syn keyword nasmInstructionAVX VCMPNEQSD VCMPNLT_USSD VCMPNLTSD VCMPNLE_USSD VCMPNLESD
568syn keyword nasmInstructionAVX VCMPORD_QSD VCMPORDSD VCMPEQ_UQSD VCMPNGE_USSD VCMPNGESD
569syn keyword nasmInstructionAVX VCMPNGT_USSD VCMPNGTSD VCMPFALSE_OQSD VCMPFALSESD VCMPNEQ_OQSD
570syn keyword nasmInstructionAVX VCMPGE_OSSD VCMPGESD VCMPGT_OSSD VCMPGTSD VCMPTRUE_UQSD
571syn keyword nasmInstructionAVX VCMPTRUESD VCMPEQ_OSSD VCMPLT_OQSD VCMPLE_OQSD VCMPUNORD_SSD
572syn keyword nasmInstructionAVX VCMPNEQ_USSD VCMPNLT_UQSD VCMPNLE_UQSD VCMPORD_SSD VCMPEQ_USSD
573syn keyword nasmInstructionAVX VCMPNGE_UQSD VCMPNGT_UQSD VCMPFALSE_OSSD VCMPNEQ_OSSD VCMPGE_OQSD
574syn keyword nasmInstructionAVX VCMPGT_OQSD VCMPTRUE_USSD VCMPSD VCMPEQ_OSSS VCMPEQSS
575syn keyword nasmInstructionAVX VCMPLT_OSSS VCMPLTSS VCMPLE_OSSS VCMPLESS VCMPUNORD_QSS
576syn keyword nasmInstructionAVX VCMPUNORDSS VCMPNEQ_UQSS VCMPNEQSS VCMPNLT_USSS VCMPNLTSS
577syn keyword nasmInstructionAVX VCMPNLE_USSS VCMPNLESS VCMPORD_QSS VCMPORDSS VCMPEQ_UQSS
578syn keyword nasmInstructionAVX VCMPNGE_USSS VCMPNGESS VCMPNGT_USSS VCMPNGTSS VCMPFALSE_OQSS
579syn keyword nasmInstructionAVX VCMPFALSESS VCMPNEQ_OQSS VCMPGE_OSSS VCMPGESS VCMPGT_OSSS
580syn keyword nasmInstructionAVX VCMPGTSS VCMPTRUE_UQSS VCMPTRUESS VCMPEQ_OSSS VCMPLT_OQSS
581syn keyword nasmInstructionAVX VCMPLE_OQSS VCMPUNORD_SSS VCMPNEQ_USSS VCMPNLT_UQSS VCMPNLE_UQSS
582syn keyword nasmInstructionAVX VCMPORD_SSS VCMPEQ_USSS VCMPNGE_UQSS VCMPNGT_UQSS VCMPFALSE_OSSS
583syn keyword nasmInstructionAVX VCMPNEQ_OSSS VCMPGE_OQSS VCMPGT_OQSS VCMPTRUE_USSS VCMPSS
584syn keyword nasmInstructionAVX VCOMISD VCOMISS VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ
585syn keyword nasmInstructionAVX VCVTPD2PS VCVTPS2DQ VCVTPS2PD VCVTSD2SI VCVTSD2SS
586syn keyword nasmInstructionAVX VCVTSI2SD VCVTSI2SS VCVTSS2SD VCVTSS2SI VCVTTPD2DQ
587syn keyword nasmInstructionAVX VCVTTPS2DQ VCVTTSD2SI VCVTTSS2SI VDIVPD VDIVPS
588syn keyword nasmInstructionAVX VDIVSD VDIVSS VDPPD VDPPS VEXTRACTF128
589syn keyword nasmInstructionAVX VEXTRACTPS VHADDPD VHADDPS VHSUBPD VHSUBPS
590syn keyword nasmInstructionAVX VINSERTF128 VINSERTPS VLDDQU VLDQQU VLDDQU
591syn keyword nasmInstructionAVX VLDMXCSR VMASKMOVDQU VMASKMOVPS VMASKMOVPD VMAXPD
592syn keyword nasmInstructionAVX VMAXPS VMAXSD VMAXSS VMINPD VMINPS
593syn keyword nasmInstructionAVX VMINSD VMINSS VMOVAPD VMOVAPS VMOVD
594syn keyword nasmInstructionAVX VMOVQ VMOVDDUP VMOVDQA VMOVQQA VMOVDQA
595syn keyword nasmInstructionAVX VMOVDQU VMOVQQU VMOVDQU VMOVHLPS VMOVHPD
596syn keyword nasmInstructionAVX VMOVHPS VMOVLHPS VMOVLPD VMOVLPS VMOVMSKPD
597syn keyword nasmInstructionAVX VMOVMSKPS VMOVNTDQ VMOVNTQQ VMOVNTDQ VMOVNTDQA
598syn keyword nasmInstructionAVX VMOVNTPD VMOVNTPS VMOVSD VMOVSHDUP VMOVSLDUP
599syn keyword nasmInstructionAVX VMOVSS VMOVUPD VMOVUPS VMPSADBW VMULPD
600syn keyword nasmInstructionAVX VMULPS VMULSD VMULSS VORPD VORPS
601syn keyword nasmInstructionAVX VPABSB VPABSW VPABSD VPACKSSWB VPACKSSDW
602syn keyword nasmInstructionAVX VPACKUSWB VPACKUSDW VPADDB VPADDW VPADDD
603syn keyword nasmInstructionAVX VPADDQ VPADDSB VPADDSW VPADDUSB VPADDUSW
604syn keyword nasmInstructionAVX VPALIGNR VPAND VPANDN VPAVGB VPAVGW
605syn keyword nasmInstructionAVX VPBLENDVB VPBLENDW VPCMPESTRI VPCMPESTRM VPCMPISTRI
606syn keyword nasmInstructionAVX VPCMPISTRM VPCMPEQB VPCMPEQW VPCMPEQD VPCMPEQQ
607syn keyword nasmInstructionAVX VPCMPGTB VPCMPGTW VPCMPGTD VPCMPGTQ VPERMILPD
608syn keyword nasmInstructionAVX VPERMILPS VPERM2F128 VPEXTRB VPEXTRW VPEXTRD
609syn keyword nasmInstructionAVX VPEXTRQ VPHADDW VPHADDD VPHADDSW VPHMINPOSUW
610syn keyword nasmInstructionAVX VPHSUBW VPHSUBD VPHSUBSW VPINSRB VPINSRW
611syn keyword nasmInstructionAVX VPINSRD VPINSRQ VPMADDWD VPMADDUBSW VPMAXSB
612syn keyword nasmInstructionAVX VPMAXSW VPMAXSD VPMAXUB VPMAXUW VPMAXUD
613syn keyword nasmInstructionAVX VPMINSB VPMINSW VPMINSD VPMINUB VPMINUW
614syn keyword nasmInstructionAVX VPMINUD VPMOVMSKB VPMOVSXBW VPMOVSXBD VPMOVSXBQ
615syn keyword nasmInstructionAVX VPMOVSXWD VPMOVSXWQ VPMOVSXDQ VPMOVZXBW VPMOVZXBD
616syn keyword nasmInstructionAVX VPMOVZXBQ VPMOVZXWD VPMOVZXWQ VPMOVZXDQ VPMULHUW
617syn keyword nasmInstructionAVX VPMULHRSW VPMULHW VPMULLW VPMULLD VPMULUDQ
618syn keyword nasmInstructionAVX VPMULDQ VPOR VPSADBW VPSHUFB VPSHUFD
619syn keyword nasmInstructionAVX VPSHUFHW VPSHUFLW VPSIGNB VPSIGNW VPSIGND
620syn keyword nasmInstructionAVX VPSLLDQ VPSRLDQ VPSLLW VPSLLD VPSLLQ
621syn keyword nasmInstructionAVX VPSRAW VPSRAD VPSRLW VPSRLD VPSRLQ
622syn keyword nasmInstructionAVX VPTEST VPSUBB VPSUBW VPSUBD VPSUBQ
623syn keyword nasmInstructionAVX VPSUBSB VPSUBSW VPSUBUSB VPSUBUSW VPUNPCKHBW
624syn keyword nasmInstructionAVX VPUNPCKHWD VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKLBW VPUNPCKLWD
625syn keyword nasmInstructionAVX VPUNPCKLDQ VPUNPCKLQDQ VPXOR VRCPPS VRCPSS
626syn keyword nasmInstructionAVX VRSQRTPS VRSQRTSS VROUNDPD VROUNDPS VROUNDSD
627syn keyword nasmInstructionAVX VROUNDSS VSHUFPD VSHUFPS VSQRTPD VSQRTPS
628syn keyword nasmInstructionAVX VSQRTSD VSQRTSS VSTMXCSR VSUBPD VSUBPS
629syn keyword nasmInstructionAVX VSUBSD VSUBSS VTESTPS VTESTPD VUCOMISD
630syn keyword nasmInstructionAVX VUCOMISS VUNPCKHPD VUNPCKHPS VUNPCKLPD VUNPCKLPS
631syn keyword nasmInstructionAVX VXORPD VXORPS VZEROALL VZEROUPPER
632" INTEL_CMUL
633syn keyword nasmInstructionINTEL_CMUL PCLMULLQLQDQ PCLMULHQLQDQ PCLMULLQHQDQ PCLMULHQHQDQ PCLMULQDQ
634" INTEL_AVX_CMUL
635syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
636syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
637syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
638syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
639syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
640" INTEL_FMA
641syn keyword nasmInstructionINTEL_FMA VFMADD132PS VFMADD132PD VFMADD312PS VFMADD312PD VFMADD213PS
642syn keyword nasmInstructionINTEL_FMA VFMADD213PD VFMADD123PS VFMADD123PD VFMADD231PS VFMADD231PD
643syn keyword nasmInstructionINTEL_FMA VFMADD321PS VFMADD321PD VFMADDSUB132PS VFMADDSUB132PD VFMADDSUB312PS
644syn keyword nasmInstructionINTEL_FMA VFMADDSUB312PD VFMADDSUB213PS VFMADDSUB213PD VFMADDSUB123PS VFMADDSUB123PD
645syn keyword nasmInstructionINTEL_FMA VFMADDSUB231PS VFMADDSUB231PD VFMADDSUB321PS VFMADDSUB321PD VFMSUB132PS
646syn keyword nasmInstructionINTEL_FMA VFMSUB132PD VFMSUB312PS VFMSUB312PD VFMSUB213PS VFMSUB213PD
647syn keyword nasmInstructionINTEL_FMA VFMSUB123PS VFMSUB123PD VFMSUB231PS VFMSUB231PD VFMSUB321PS
648syn keyword nasmInstructionINTEL_FMA VFMSUB321PD VFMSUBADD132PS VFMSUBADD132PD VFMSUBADD312PS VFMSUBADD312PD
649syn keyword nasmInstructionINTEL_FMA VFMSUBADD213PS VFMSUBADD213PD VFMSUBADD123PS VFMSUBADD123PD VFMSUBADD231PS
650syn keyword nasmInstructionINTEL_FMA VFMSUBADD231PD VFMSUBADD321PS VFMSUBADD321PD VFNMADD132PS VFNMADD132PD
651syn keyword nasmInstructionINTEL_FMA VFNMADD312PS VFNMADD312PD VFNMADD213PS VFNMADD213PD VFNMADD123PS
652syn keyword nasmInstructionINTEL_FMA VFNMADD123PD VFNMADD231PS VFNMADD231PD VFNMADD321PS VFNMADD321PD
653syn keyword nasmInstructionINTEL_FMA VFNMSUB132PS VFNMSUB132PD VFNMSUB312PS VFNMSUB312PD VFNMSUB213PS
654syn keyword nasmInstructionINTEL_FMA VFNMSUB213PD VFNMSUB123PS VFNMSUB123PD VFNMSUB231PS VFNMSUB231PD
655syn keyword nasmInstructionINTEL_FMA VFNMSUB321PS VFNMSUB321PD VFMADD132SS VFMADD132SD VFMADD312SS
656syn keyword nasmInstructionINTEL_FMA VFMADD312SD VFMADD213SS VFMADD213SD VFMADD123SS VFMADD123SD
657syn keyword nasmInstructionINTEL_FMA VFMADD231SS VFMADD231SD VFMADD321SS VFMADD321SD VFMSUB132SS
658syn keyword nasmInstructionINTEL_FMA VFMSUB132SD VFMSUB312SS VFMSUB312SD VFMSUB213SS VFMSUB213SD
659syn keyword nasmInstructionINTEL_FMA VFMSUB123SS VFMSUB123SD VFMSUB231SS VFMSUB231SD VFMSUB321SS
660syn keyword nasmInstructionINTEL_FMA VFMSUB321SD VFNMADD132SS VFNMADD132SD VFNMADD312SS VFNMADD312SD
661syn keyword nasmInstructionINTEL_FMA VFNMADD213SS VFNMADD213SD VFNMADD123SS VFNMADD123SD VFNMADD231SS
662syn keyword nasmInstructionINTEL_FMA VFNMADD231SD VFNMADD321SS VFNMADD321SD VFNMSUB132SS VFNMSUB132SD
663syn keyword nasmInstructionINTEL_FMA VFNMSUB312SS VFNMSUB312SD VFNMSUB213SS VFNMSUB213SD VFNMSUB123SS
664syn keyword nasmInstructionINTEL_FMA VFNMSUB123SD VFNMSUB231SS VFNMSUB231SD VFNMSUB321SS VFNMSUB321SD
665" INTEL_POST32
666syn keyword nasmInstructionINTEL_POST32 RDFSBASE RDGSBASE RDRAND WRFSBASE WRGSBASE
667syn keyword nasmInstructionINTEL_POST32 VCVTPH2PS VCVTPS2PH ADCX ADOX RDSEED
668" SUPERVISOR
669syn keyword nasmInstructionSUPERVISOR CLAC STAC
670" VIA_SECURITY
671syn keyword nasmInstructionVIA_SECURITY XSTORE XCRYPTECB XCRYPTCBC XCRYPTCTR XCRYPTCFB
672syn keyword nasmInstructionVIA_SECURITY XCRYPTOFB MONTMUL XSHA1 XSHA256
673" AMD_PROFILING
674syn keyword nasmInstructionAMD_PROFILING LLWPCB SLWPCB LWPVAL LWPINS
675" XOP_FMA4
676syn keyword nasmInstructionXOP_FMA4 VFMADDPD VFMADDPS VFMADDSD VFMADDSS VFMADDSUBPD
677syn keyword nasmInstructionXOP_FMA4 VFMADDSUBPS VFMSUBADDPD VFMSUBADDPS VFMSUBPD VFMSUBPS
678syn keyword nasmInstructionXOP_FMA4 VFMSUBSD VFMSUBSS VFNMADDPD VFNMADDPS VFNMADDSD
679syn keyword nasmInstructionXOP_FMA4 VFNMADDSS VFNMSUBPD VFNMSUBPS VFNMSUBSD VFNMSUBSS
680syn keyword nasmInstructionXOP_FMA4 VFRCZPD VFRCZPS VFRCZSD VFRCZSS VPCMOV
681syn keyword nasmInstructionXOP_FMA4 VPCOMB VPCOMD VPCOMQ VPCOMUB VPCOMUD
682syn keyword nasmInstructionXOP_FMA4 VPCOMUQ VPCOMUW VPCOMW VPHADDBD VPHADDBQ
683syn keyword nasmInstructionXOP_FMA4 VPHADDBW VPHADDDQ VPHADDUBD VPHADDUBQ VPHADDUBW
684syn keyword nasmInstructionXOP_FMA4 VPHADDUDQ VPHADDUWD VPHADDUWQ VPHADDWD VPHADDWQ
685syn keyword nasmInstructionXOP_FMA4 VPHSUBBW VPHSUBDQ VPHSUBWD VPMACSDD VPMACSDQH
686syn keyword nasmInstructionXOP_FMA4 VPMACSDQL VPMACSSDD VPMACSSDQH VPMACSSDQL VPMACSSWD
687syn keyword nasmInstructionXOP_FMA4 VPMACSSWW VPMACSWD VPMACSWW VPMADCSSWD VPMADCSWD
688syn keyword nasmInstructionXOP_FMA4 VPPERM VPROTB VPROTD VPROTQ VPROTW
689syn keyword nasmInstructionXOP_FMA4 VPSHAB VPSHAD VPSHAQ VPSHAW VPSHLB
690syn keyword nasmInstructionXOP_FMA4 VPSHLD VPSHLQ VPSHLW
691" AVX2
692syn keyword nasmInstructionAVX2 VMPSADBW VPABSB VPABSW VPABSD VPACKSSWB
693syn keyword nasmInstructionAVX2 VPACKSSDW VPACKUSDW VPACKUSWB VPADDB VPADDW
694syn keyword nasmInstructionAVX2 VPADDD VPADDQ VPADDSB VPADDSW VPADDUSB
695syn keyword nasmInstructionAVX2 VPADDUSW VPALIGNR VPAND VPANDN VPAVGB
696syn keyword nasmInstructionAVX2 VPAVGW VPBLENDVB VPBLENDW VPCMPEQB VPCMPEQW
697syn keyword nasmInstructionAVX2 VPCMPEQD VPCMPEQQ VPCMPGTB VPCMPGTW VPCMPGTD
698syn keyword nasmInstructionAVX2 VPCMPGTQ VPHADDW VPHADDD VPHADDSW VPHSUBW
699syn keyword nasmInstructionAVX2 VPHSUBD VPHSUBSW VPMADDUBSW VPMADDWD VPMAXSB
700syn keyword nasmInstructionAVX2 VPMAXSW VPMAXSD VPMAXUB VPMAXUW VPMAXUD
701syn keyword nasmInstructionAVX2 VPMINSB VPMINSW VPMINSD VPMINUB VPMINUW
702syn keyword nasmInstructionAVX2 VPMINUD VPMOVMSKB VPMOVSXBW VPMOVSXBD VPMOVSXBQ
703syn keyword nasmInstructionAVX2 VPMOVSXWD VPMOVSXWQ VPMOVSXDQ VPMOVZXBW VPMOVZXBD
704syn keyword nasmInstructionAVX2 VPMOVZXBQ VPMOVZXWD VPMOVZXWQ VPMOVZXDQ VPMULDQ
705syn keyword nasmInstructionAVX2 VPMULHRSW VPMULHUW VPMULHW VPMULLW VPMULLD
706syn keyword nasmInstructionAVX2 VPMULUDQ VPOR VPSADBW VPSHUFB VPSHUFD
707syn keyword nasmInstructionAVX2 VPSHUFHW VPSHUFLW VPSIGNB VPSIGNW VPSIGND
708syn keyword nasmInstructionAVX2 VPSLLDQ VPSLLW VPSLLD VPSLLQ VPSRAW
709syn keyword nasmInstructionAVX2 VPSRAD VPSRLDQ VPSRLW VPSRLD VPSRLQ
710syn keyword nasmInstructionAVX2 VPSUBB VPSUBW VPSUBD VPSUBQ VPSUBSB
711syn keyword nasmInstructionAVX2 VPSUBSW VPSUBUSB VPSUBUSW VPUNPCKHBW VPUNPCKHWD
712syn keyword nasmInstructionAVX2 VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKLBW VPUNPCKLWD VPUNPCKLDQ
713syn keyword nasmInstructionAVX2 VPUNPCKLQDQ VPXOR VMOVNTDQA VBROADCASTSS VBROADCASTSD
714syn keyword nasmInstructionAVX2 VBROADCASTI128 VPBLENDD VPBROADCASTB VPBROADCASTW VPBROADCASTD
715syn keyword nasmInstructionAVX2 VPBROADCASTQ VPERMD VPERMPD VPERMPS VPERMQ
716syn keyword nasmInstructionAVX2 VPERM2I128 VEXTRACTI128 VINSERTI128 VPMASKMOVD VPMASKMOVQ
717syn keyword nasmInstructionAVX2 VPMASKMOVD VPMASKMOVQ VPSLLVD VPSLLVQ VPSLLVD
718syn keyword nasmInstructionAVX2 VPSLLVQ VPSRAVD VPSRLVD VPSRLVQ VPSRLVD
719syn keyword nasmInstructionAVX2 VPSRLVQ VGATHERDPD VGATHERQPD VGATHERDPD VGATHERQPD
720syn keyword nasmInstructionAVX2 VGATHERDPS VGATHERQPS VGATHERDPS VGATHERQPS VPGATHERDD
721syn keyword nasmInstructionAVX2 VPGATHERQD VPGATHERDD VPGATHERQD VPGATHERDQ VPGATHERQQ
722syn keyword nasmInstructionAVX2 VPGATHERDQ VPGATHERQQ
723" TRANSACTIONS
724syn keyword nasmInstructionTRANSACTIONS XABORT XBEGIN XEND XTEST
725" BMI_ABM
726syn keyword nasmInstructionBMI_ABM ANDN BEXTR BLCI BLCIC BLSI
727syn keyword nasmInstructionBMI_ABM BLSIC BLCFILL BLSFILL BLCMSK BLSMSK
728syn keyword nasmInstructionBMI_ABM BLSR BLCS BZHI MULX PDEP
729syn keyword nasmInstructionBMI_ABM PEXT RORX SARX SHLX SHRX
730syn keyword nasmInstructionBMI_ABM TZCNT TZMSK T1MSKC PREFETCHWT1
731" MPE
732syn keyword nasmInstructionMPE BNDMK BNDCL BNDCU BNDCN BNDMOV
733syn keyword nasmInstructionMPE BNDLDX BNDSTX
734" SHA
735syn keyword nasmInstructionSHA SHA1MSG1 SHA1MSG2 SHA1NEXTE SHA1RNDS4 SHA256MSG1
736syn keyword nasmInstructionSHA SHA256MSG2 SHA256RNDS2 VSHA512MSG1 VSHA512MSG2 VSHA512RNDS2
737" SM3
738syn keyword nasmInstructionSM3 VSM3MSG1 VSM3MSG2 VSM3RNDS2
739" SM4
740syn keyword nasmInstructionSM4 VSM4KEY4 VSM4RNDS4
741" AVX_NOEXCEPT
742syn keyword nasmInstructionAVX_NOEXCEPT VBCSTNEBF16PS VBCSTNESH2PS VCVTNEEBF162PS VCVTNEEPH2PS VCVTNEOBF162PS
743syn keyword nasmInstructionAVX_NOEXCEPT VCVTNEOPH2PS VCVTNEPS2BF16
744" AVX_VECTOR_NN
745syn keyword nasmInstructionAVX_VECTOR_NN VPDPBSSD VPDPBSSDS VPDPBSUD VPDPBSUDS VPDPBUUD
746syn keyword nasmInstructionAVX_VECTOR_NN VPDPBUUDS
747" AVX_IFMA
748syn keyword nasmInstructionAVX_IFMA VPMADD52HUQ VPMADD52LUQ
749" AVX512_MASK
750syn keyword nasmInstructionAVX512_MASK KADDB KADDD KADDQ KADDW KANDB
751syn keyword nasmInstructionAVX512_MASK KANDD KANDNB KANDND KANDNQ KANDNW
752syn keyword nasmInstructionAVX512_MASK KANDQ KANDW KMOVB KMOVD KMOVQ
753syn keyword nasmInstructionAVX512_MASK KMOVW KNOTB KNOTD KNOTQ KNOTW
754syn keyword nasmInstructionAVX512_MASK KORB KORD KORQ KORW KORTESTB
755syn keyword nasmInstructionAVX512_MASK KORTESTD KORTESTQ KORTESTW KSHIFTLB KSHIFTLD
756syn keyword nasmInstructionAVX512_MASK KSHIFTLQ KSHIFTLW KSHIFTRB KSHIFTRD KSHIFTRQ
757syn keyword nasmInstructionAVX512_MASK KSHIFTRW KTESTB KTESTD KTESTQ KTESTW
758syn keyword nasmInstructionAVX512_MASK KUNPCKBW KUNPCKDQ KUNPCKWD KXNORB KXNORD
759syn keyword nasmInstructionAVX512_MASK KXNORQ KXNORW KXORB KXORD KXORQ
760syn keyword nasmInstructionAVX512_MASK KXORW
761" AVX512_MASK_REG
762syn keyword nasmInstructionAVX512_MASK_REG KADD KAND KANDN KAND KMOV
763syn keyword nasmInstructionAVX512_MASK_REG KNOT KOR KORTEST KSHIFTL KSHIFTR
764syn keyword nasmInstructionAVX512_MASK_REG KTEST KUNPCK KXNOR KXOR
765" AVX512
766syn keyword nasmInstructionAVX512 VADDPD VADDPS VADDSD VADDSS VALIGND
767syn keyword nasmInstructionAVX512 VALIGNQ VANDNPD VANDNPS VANDPD VANDPS
768syn keyword nasmInstructionAVX512 VBLENDMPD VBLENDMPS VBROADCASTF32X2 VBROADCASTF32X4 VBROADCASTF32X8
769syn keyword nasmInstructionAVX512 VBROADCASTF64X2 VBROADCASTF64X4 VBROADCASTI32X2 VBROADCASTI32X4 VBROADCASTI32X8
770syn keyword nasmInstructionAVX512 VBROADCASTI64X2 VBROADCASTI64X4 VBROADCASTSD VBROADCASTSS VCMPEQPD
771syn keyword nasmInstructionAVX512 VCMPEQPS VCMPEQSD VCMPEQSS VCMPEQ_OQPD VCMPEQ_OQPS
772syn keyword nasmInstructionAVX512 VCMPEQ_OQSD VCMPEQ_OQSS VCMPLTPD VCMPLTPS VCMPLTSD
773syn keyword nasmInstructionAVX512 VCMPLTSS VCMPLT_OSPD VCMPLT_OSPS VCMPLT_OSSD VCMPLT_OSSS
774syn keyword nasmInstructionAVX512 VCMPLEPD VCMPLEPS VCMPLESD VCMPLESS VCMPLE_OSPD
775syn keyword nasmInstructionAVX512 VCMPLE_OSPS VCMPLE_OSSD VCMPLE_OSSS VCMPUNORDPD VCMPUNORDPS
776syn keyword nasmInstructionAVX512 VCMPUNORDSD VCMPUNORDSS VCMPUNORD_QPD VCMPUNORD_QPS VCMPUNORD_QSD
777syn keyword nasmInstructionAVX512 VCMPUNORD_QSS VCMPNEQPD VCMPNEQPS VCMPNEQSD VCMPNEQSS
778syn keyword nasmInstructionAVX512 VCMPNEQ_UQPD VCMPNEQ_UQPS VCMPNEQ_UQSD VCMPNEQ_UQSS VCMPNLTPD
779syn keyword nasmInstructionAVX512 VCMPNLTPS VCMPNLTSD VCMPNLTSS VCMPNLT_USPD VCMPNLT_USPS
780syn keyword nasmInstructionAVX512 VCMPNLT_USSD VCMPNLT_USSS VCMPNLEPD VCMPNLEPS VCMPNLESD
781syn keyword nasmInstructionAVX512 VCMPNLESS VCMPNLE_USPD VCMPNLE_USPS VCMPNLE_USSD VCMPNLE_USSS
782syn keyword nasmInstructionAVX512 VCMPORDPD VCMPORDPS VCMPORDSD VCMPORDSS VCMPORD_QPD
783syn keyword nasmInstructionAVX512 VCMPORD_QPS VCMPORD_QSD VCMPORD_QSS VCMPEQ_UQPD VCMPEQ_UQPS
784syn keyword nasmInstructionAVX512 VCMPEQ_UQSD VCMPEQ_UQSS VCMPNGEPD VCMPNGEPS VCMPNGESD
785syn keyword nasmInstructionAVX512 VCMPNGESS VCMPNGE_USPD VCMPNGE_USPS VCMPNGE_USSD VCMPNGE_USSS
786syn keyword nasmInstructionAVX512 VCMPNGTPD VCMPNGTPS VCMPNGTSD VCMPNGTSS VCMPNGT_USPD
787syn keyword nasmInstructionAVX512 VCMPNGT_USPS VCMPNGT_USSD VCMPNGT_USSS VCMPFALSEPD VCMPFALSEPS
788syn keyword nasmInstructionAVX512 VCMPFALSESD VCMPFALSESS VCMPFALSE_OQPD VCMPFALSE_OQPS VCMPFALSE_OQSD
789syn keyword nasmInstructionAVX512 VCMPFALSE_OQSS VCMPNEQ_OQPD VCMPNEQ_OQPS VCMPNEQ_OQSD VCMPNEQ_OQSS
790syn keyword nasmInstructionAVX512 VCMPGEPD VCMPGEPS VCMPGESD VCMPGESS VCMPGE_OSPD
791syn keyword nasmInstructionAVX512 VCMPGE_OSPS VCMPGE_OSSD VCMPGE_OSSS VCMPGTPD VCMPGTPS
792syn keyword nasmInstructionAVX512 VCMPGTSD VCMPGTSS VCMPGT_OSPD VCMPGT_OSPS VCMPGT_OSSD
793syn keyword nasmInstructionAVX512 VCMPGT_OSSS VCMPTRUEPD VCMPTRUEPS VCMPTRUESD VCMPTRUESS
794syn keyword nasmInstructionAVX512 VCMPTRUE_UQPD VCMPTRUE_UQPS VCMPTRUE_UQSD VCMPTRUE_UQSS VCMPEQ_OSPD
795syn keyword nasmInstructionAVX512 VCMPEQ_OSPS VCMPEQ_OSSD VCMPEQ_OSSS VCMPLT_OQPD VCMPLT_OQPS
796syn keyword nasmInstructionAVX512 VCMPLT_OQSD VCMPLT_OQSS VCMPLE_OQPD VCMPLE_OQPS VCMPLE_OQSD
797syn keyword nasmInstructionAVX512 VCMPLE_OQSS VCMPUNORD_SPD VCMPUNORD_SPS VCMPUNORD_SSD VCMPUNORD_SSS
798syn keyword nasmInstructionAVX512 VCMPNEQ_USPD VCMPNEQ_USPS VCMPNEQ_USSD VCMPNEQ_USSS VCMPNLT_UQPD
799syn keyword nasmInstructionAVX512 VCMPNLT_UQPS VCMPNLT_UQSD VCMPNLT_UQSS VCMPNLE_UQPD VCMPNLE_UQPS
800syn keyword nasmInstructionAVX512 VCMPNLE_UQSD VCMPNLE_UQSS VCMPORD_SPD VCMPORD_SPS VCMPORD_SSD
801syn keyword nasmInstructionAVX512 VCMPORD_SSS VCMPEQ_USPD VCMPEQ_USPS VCMPEQ_USSD VCMPEQ_USSS
802syn keyword nasmInstructionAVX512 VCMPNGE_UQPD VCMPNGE_UQPS VCMPNGE_UQSD VCMPNGE_UQSS VCMPNGT_UQPD
803syn keyword nasmInstructionAVX512 VCMPNGT_UQPS VCMPNGT_UQSD VCMPNGT_UQSS VCMPFALSE_OSPD VCMPFALSE_OSPS
804syn keyword nasmInstructionAVX512 VCMPFALSE_OSSD VCMPFALSE_OSSS VCMPNEQ_OSPD VCMPNEQ_OSPS VCMPNEQ_OSSD
805syn keyword nasmInstructionAVX512 VCMPNEQ_OSSS VCMPGE_OQPD VCMPGE_OQPS VCMPGE_OQSD VCMPGE_OQSS
806syn keyword nasmInstructionAVX512 VCMPGT_OQPD VCMPGT_OQPS VCMPGT_OQSD VCMPGT_OQSS VCMPTRUE_USPD
807syn keyword nasmInstructionAVX512 VCMPTRUE_USPS VCMPTRUE_USSD VCMPTRUE_USSS VCMPPD VCMPPS
808syn keyword nasmInstructionAVX512 VCMPSD VCMPSS VCOMISD VCOMISS VCOMPRESSPD
809syn keyword nasmInstructionAVX512 VCOMPRESSPS VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ VCVTPD2PS
810syn keyword nasmInstructionAVX512 VCVTPD2QQ VCVTPD2UDQ VCVTPD2UQQ VCVTPH2PS VCVTPS2DQ
811syn keyword nasmInstructionAVX512 VCVTPS2PD VCVTPS2PH VCVTPS2QQ VCVTPS2UDQ VCVTPS2UQQ
812syn keyword nasmInstructionAVX512 VCVTQQ2PD VCVTQQ2PS VCVTSD2SI VCVTSD2SS VCVTSD2USI
813syn keyword nasmInstructionAVX512 VCVTSI2SD VCVTSI2SS VCVTSS2SD VCVTSS2SI VCVTSS2USI
814syn keyword nasmInstructionAVX512 VCVTTPD2DQ VCVTTPD2QQ VCVTTPD2UDQ VCVTTPD2UQQ VCVTTPS2DQ
815syn keyword nasmInstructionAVX512 VCVTTPS2QQ VCVTTPS2UDQ VCVTTPS2UQQ VCVTTSD2SI VCVTTSD2USI
816syn keyword nasmInstructionAVX512 VCVTTSS2SI VCVTTSS2USI VCVTUDQ2PD VCVTUDQ2PS VCVTUQQ2PD
817syn keyword nasmInstructionAVX512 VCVTUQQ2PS VCVTUSI2SD VCVTUSI2SS VDBPSADBW VDIVPD
818syn keyword nasmInstructionAVX512 VDIVPS VDIVSD VDIVSS VEXP2PD VEXP2PS
819syn keyword nasmInstructionAVX512 VEXPANDPD VEXPANDPS VEXTRACTF32X4 VEXTRACTF32X8 VEXTRACTF64X2
820syn keyword nasmInstructionAVX512 VEXTRACTF64X4 VEXTRACTI32X4 VEXTRACTI32X8 VEXTRACTI64X2 VEXTRACTI64X4
821syn keyword nasmInstructionAVX512 VEXTRACTPS VFIXUPIMMPD VFIXUPIMMPS VFIXUPIMMSD VFIXUPIMMSS
822syn keyword nasmInstructionAVX512 VFMADD132PD VFMADD132PS VFMADD132SD VFMADD132SS VFMADD213PD
823syn keyword nasmInstructionAVX512 VFMADD213PS VFMADD213SD VFMADD213SS VFMADD231PD VFMADD231PS
824syn keyword nasmInstructionAVX512 VFMADD231SD VFMADD231SS VFMADDSUB132PD VFMADDSUB132PS VFMADDSUB213PD
825syn keyword nasmInstructionAVX512 VFMADDSUB213PS VFMADDSUB231PD VFMADDSUB231PS VFMSUB132PD VFMSUB132PS
826syn keyword nasmInstructionAVX512 VFMSUB132SD VFMSUB132SS VFMSUB213PD VFMSUB213PS VFMSUB213SD
827syn keyword nasmInstructionAVX512 VFMSUB213SS VFMSUB231PD VFMSUB231PS VFMSUB231SD VFMSUB231SS
828syn keyword nasmInstructionAVX512 VFMSUBADD132PD VFMSUBADD132PS VFMSUBADD213PD VFMSUBADD213PS VFMSUBADD231PD
829syn keyword nasmInstructionAVX512 VFMSUBADD231PS VFNMADD132PD VFNMADD132PS VFNMADD132SD VFNMADD132SS
830syn keyword nasmInstructionAVX512 VFNMADD213PD VFNMADD213PS VFNMADD213SD VFNMADD213SS VFNMADD231PD
831syn keyword nasmInstructionAVX512 VFNMADD231PS VFNMADD231SD VFNMADD231SS VFNMSUB132PD VFNMSUB132PS
832syn keyword nasmInstructionAVX512 VFNMSUB132SD VFNMSUB132SS VFNMSUB213PD VFNMSUB213PS VFNMSUB213SD
833syn keyword nasmInstructionAVX512 VFNMSUB213SS VFNMSUB231PD VFNMSUB231PS VFNMSUB231SD VFNMSUB231SS
834syn keyword nasmInstructionAVX512 VFPCLASSPD VFPCLASSPS VFPCLASSSD VFPCLASSSS VGATHERDPD
835syn keyword nasmInstructionAVX512 VGATHERDPS VGATHERPF0DPD VGATHERPF0DPS VGATHERPF0QPD VGATHERPF0QPS
836syn keyword nasmInstructionAVX512 VGATHERPF1DPD VGATHERPF1DPS VGATHERPF1QPD VGATHERPF1QPS VGATHERQPD
837syn keyword nasmInstructionAVX512 VGATHERQPS VGETEXPPD VGETEXPPS VGETEXPSD VGETEXPSS
838syn keyword nasmInstructionAVX512 VGETMANTPD VGETMANTPS VGETMANTSD VGETMANTSS VINSERTF32X4
839syn keyword nasmInstructionAVX512 VINSERTF32X8 VINSERTF64X2 VINSERTF64X4 VINSERTI32X4 VINSERTI32X8
840syn keyword nasmInstructionAVX512 VINSERTI64X2 VINSERTI64X4 VINSERTPS VMAXPD VMAXPS
841syn keyword nasmInstructionAVX512 VMAXSD VMAXSS VMINPD VMINPS VMINSD
842syn keyword nasmInstructionAVX512 VMINSS VMOVAPD VMOVAPS VMOVD VMOVDDUP
843syn keyword nasmInstructionAVX512 VMOVDQA32 VMOVDQA64 VMOVDQU16 VMOVDQU32 VMOVDQU64
844syn keyword nasmInstructionAVX512 VMOVDQU8 VMOVHLPS VMOVHPD VMOVHPS VMOVLHPS
845syn keyword nasmInstructionAVX512 VMOVLPD VMOVLPS VMOVNTDQ VMOVNTDQA VMOVNTPD
846syn keyword nasmInstructionAVX512 VMOVNTPS VMOVQ VMOVSD VMOVSHDUP VMOVSLDUP
847syn keyword nasmInstructionAVX512 VMOVSS VMOVUPD VMOVUPS VMULPD VMULPS
848syn keyword nasmInstructionAVX512 VMULSD VMULSS VORPD VORPS VPABSB
849syn keyword nasmInstructionAVX512 VPABSD VPABSQ VPABSW VPACKSSDW VPACKSSWB
850syn keyword nasmInstructionAVX512 VPACKUSDW VPACKUSWB VPADDB VPADDD VPADDQ
851syn keyword nasmInstructionAVX512 VPADDSB VPADDSW VPADDUSB VPADDUSW VPADDW
852syn keyword nasmInstructionAVX512 VPALIGNR VPANDD VPANDND VPANDNQ VPANDQ
853syn keyword nasmInstructionAVX512 VPAVGB VPAVGW VPBLENDMB VPBLENDMD VPBLENDMQ
854syn keyword nasmInstructionAVX512 VPBLENDMW VPBROADCASTB VPBROADCASTD VPBROADCASTMB2Q VPBROADCASTMW2D
855syn keyword nasmInstructionAVX512 VPBROADCASTQ VPBROADCASTW VPCMPEQB VPCMPEQD VPCMPEQQ
856syn keyword nasmInstructionAVX512 VPCMPEQW VPCMPGTB VPCMPGTD VPCMPGTQ VPCMPGTW
857syn keyword nasmInstructionAVX512 VPCMPEQB VPCMPEQD VPCMPEQQ VPCMPEQUB VPCMPEQUD
858syn keyword nasmInstructionAVX512 VPCMPEQUQ VPCMPEQUW VPCMPEQW VPCMPGEB VPCMPGED
859syn keyword nasmInstructionAVX512 VPCMPGEQ VPCMPGEUB VPCMPGEUD VPCMPGEUQ VPCMPGEUW
860syn keyword nasmInstructionAVX512 VPCMPGEW VPCMPGTB VPCMPGTD VPCMPGTQ VPCMPGTUB
861syn keyword nasmInstructionAVX512 VPCMPGTUD VPCMPGTUQ VPCMPGTUW VPCMPGTW VPCMPLEB
862syn keyword nasmInstructionAVX512 VPCMPLED VPCMPLEQ VPCMPLEUB VPCMPLEUD VPCMPLEUQ
863syn keyword nasmInstructionAVX512 VPCMPLEUW VPCMPLEW VPCMPLTB VPCMPLTD VPCMPLTQ
864syn keyword nasmInstructionAVX512 VPCMPLTUB VPCMPLTUD VPCMPLTUQ VPCMPLTUW VPCMPLTW
865syn keyword nasmInstructionAVX512 VPCMPNEQB VPCMPNEQD VPCMPNEQQ VPCMPNEQUB VPCMPNEQUD
866syn keyword nasmInstructionAVX512 VPCMPNEQUQ VPCMPNEQUW VPCMPNEQW VPCMPNGTB VPCMPNGTD
867syn keyword nasmInstructionAVX512 VPCMPNGTQ VPCMPNGTUB VPCMPNGTUD VPCMPNGTUQ VPCMPNGTUW
868syn keyword nasmInstructionAVX512 VPCMPNGTW VPCMPNLEB VPCMPNLED VPCMPNLEQ VPCMPNLEUB
869syn keyword nasmInstructionAVX512 VPCMPNLEUD VPCMPNLEUQ VPCMPNLEUW VPCMPNLEW VPCMPNLTB
870syn keyword nasmInstructionAVX512 VPCMPNLTD VPCMPNLTQ VPCMPNLTUB VPCMPNLTUD VPCMPNLTUQ
871syn keyword nasmInstructionAVX512 VPCMPNLTUW VPCMPNLTW VPCMPB VPCMPD VPCMPQ
872syn keyword nasmInstructionAVX512 VPCMPUB VPCMPUD VPCMPUQ VPCMPUW VPCMPW
873syn keyword nasmInstructionAVX512 VPCOMPRESSD VPCOMPRESSQ VPCONFLICTD VPCONFLICTQ VPERMB
874syn keyword nasmInstructionAVX512 VPERMD VPERMI2B VPERMI2D VPERMI2PD VPERMI2PS
875syn keyword nasmInstructionAVX512 VPERMI2Q VPERMI2W VPERMILPD VPERMILPS VPERMPD
876syn keyword nasmInstructionAVX512 VPERMPS VPERMQ VPERMT2B VPERMT2D VPERMT2PD
877syn keyword nasmInstructionAVX512 VPERMT2PS VPERMT2Q VPERMT2W VPERMW VPEXPANDD
878syn keyword nasmInstructionAVX512 VPEXPANDQ VPEXTRB VPEXTRD VPEXTRQ VPEXTRW
879syn keyword nasmInstructionAVX512 VPGATHERDD VPGATHERDQ VPGATHERQD VPGATHERQQ VPINSRB
880syn keyword nasmInstructionAVX512 VPINSRD VPINSRQ VPINSRW VPLZCNTD VPLZCNTQ
881syn keyword nasmInstructionAVX512 VPMADD52HUQ VPMADD52LUQ VPMADDUBSW VPMADDWD VPMAXSB
882syn keyword nasmInstructionAVX512 VPMAXSD VPMAXSQ VPMAXSW VPMAXUB VPMAXUD
883syn keyword nasmInstructionAVX512 VPMAXUQ VPMAXUW VPMINSB VPMINSD VPMINSQ
884syn keyword nasmInstructionAVX512 VPMINSW VPMINUB VPMINUD VPMINUQ VPMINUW
885syn keyword nasmInstructionAVX512 VPMOVB2M VPMOVD2M VPMOVDB VPMOVDW VPMOVM2B
886syn keyword nasmInstructionAVX512 VPMOVM2D VPMOVM2Q VPMOVM2W VPMOVQ2M VPMOVQB
887syn keyword nasmInstructionAVX512 VPMOVQD VPMOVQW VPMOVSDB VPMOVSDW VPMOVSQB
888syn keyword nasmInstructionAVX512 VPMOVSQD VPMOVSQW VPMOVSWB VPMOVSXBD VPMOVSXBQ
889syn keyword nasmInstructionAVX512 VPMOVSXBW VPMOVSXDQ VPMOVSXWD VPMOVSXWQ VPMOVUSDB
890syn keyword nasmInstructionAVX512 VPMOVUSDW VPMOVUSQB VPMOVUSQD VPMOVUSQW VPMOVUSWB
891syn keyword nasmInstructionAVX512 VPMOVW2M VPMOVWB VPMOVZXBD VPMOVZXBQ VPMOVZXBW
892syn keyword nasmInstructionAVX512 VPMOVZXDQ VPMOVZXWD VPMOVZXWQ VPMULDQ VPMULHRSW
893syn keyword nasmInstructionAVX512 VPMULHUW VPMULHW VPMULLD VPMULLQ VPMULLW
894syn keyword nasmInstructionAVX512 VPMULTISHIFTQB VPMULUDQ VPORD VPORQ VPROLD
895syn keyword nasmInstructionAVX512 VPROLQ VPROLVD VPROLVQ VPRORD VPRORQ
896syn keyword nasmInstructionAVX512 VPRORVD VPRORVQ VPSADBW VPSCATTERDD VPSCATTERDQ
897syn keyword nasmInstructionAVX512 VPSCATTERQD VPSCATTERQQ VPSHUFB VPSHUFD VPSHUFHW
898syn keyword nasmInstructionAVX512 VPSHUFLW VPSLLD VPSLLDQ VPSLLQ VPSLLVD
899syn keyword nasmInstructionAVX512 VPSLLVQ VPSLLVW VPSLLW VPSRAD VPSRAQ
900syn keyword nasmInstructionAVX512 VPSRAVD VPSRAVQ VPSRAVW VPSRAW VPSRLD
901syn keyword nasmInstructionAVX512 VPSRLDQ VPSRLQ VPSRLVD VPSRLVQ VPSRLVW
902syn keyword nasmInstructionAVX512 VPSRLW VPSUBB VPSUBD VPSUBQ VPSUBSB
903syn keyword nasmInstructionAVX512 VPSUBSW VPSUBUSB VPSUBUSW VPSUBW VPTERNLOGD
904syn keyword nasmInstructionAVX512 VPTERNLOGQ VPTESTMB VPTESTMD VPTESTMQ VPTESTMW
905syn keyword nasmInstructionAVX512 VPTESTNMB VPTESTNMD VPTESTNMQ VPTESTNMW VPUNPCKHBW
906syn keyword nasmInstructionAVX512 VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKHWD VPUNPCKLBW VPUNPCKLDQ
907syn keyword nasmInstructionAVX512 VPUNPCKLQDQ VPUNPCKLWD VPXORD VPXORQ VRANGEPD
908syn keyword nasmInstructionAVX512 VRANGEPS VRANGESD VRANGESS VRCP14PD VRCP14PS
909syn keyword nasmInstructionAVX512 VRCP14SD VRCP14SS VRCP28PD VRCP28PS VRCP28SD
910syn keyword nasmInstructionAVX512 VRCP28SS VREDUCEPD VREDUCEPS VREDUCESD VREDUCESS
911syn keyword nasmInstructionAVX512 VRNDSCALEPD VRNDSCALEPS VRNDSCALESD VRNDSCALESS VRSQRT14PD
912syn keyword nasmInstructionAVX512 VRSQRT14PS VRSQRT14SD VRSQRT14SS VRSQRT28PD VRSQRT28PS
913syn keyword nasmInstructionAVX512 VRSQRT28SD VRSQRT28SS VSCALEFPD VSCALEFPS VSCALEFSD
914syn keyword nasmInstructionAVX512 VSCALEFSS VSCATTERDPD VSCATTERDPS VSCATTERPF0DPD VSCATTERPF0DPS
915syn keyword nasmInstructionAVX512 VSCATTERPF0QPD VSCATTERPF0QPS VSCATTERPF1DPD VSCATTERPF1DPS VSCATTERPF1QPD
916syn keyword nasmInstructionAVX512 VSCATTERPF1QPS VSCATTERQPD VSCATTERQPS VSHUFF32X4 VSHUFF64X2
917syn keyword nasmInstructionAVX512 VSHUFI32X4 VSHUFI64X2 VSHUFPD VSHUFPS VSQRTPD
918syn keyword nasmInstructionAVX512 VSQRTPS VSQRTSD VSQRTSS VSUBPD VSUBPS
919syn keyword nasmInstructionAVX512 VSUBSD VSUBSS VUCOMISD VUCOMISS VUNPCKHPD
920syn keyword nasmInstructionAVX512 VUNPCKHPS VUNPCKLPD VUNPCKLPS VXORPD VXORPS
921" PROTECTION
922syn keyword nasmInstructionPROTECTION RDPKRU WRPKRU
923" RDPID
924syn keyword nasmInstructionRDPID RDPID
925" NMEM
926syn keyword nasmInstructionNMEM CLFLUSHOPT CLWB PCOMMIT
927syn keyword nasmInstructionNMEM CLZERO
928" INTEL_EXTENSIONS
929syn keyword nasmInstructionINTEL_EXTENSIONS CLDEMOTE MOVDIRI MOVDIR64B PCONFIG TPAUSE
930syn keyword nasmInstructionINTEL_EXTENSIONS UMONITOR UMWAIT WBNOINVD
931" GALOISFIELD
932syn keyword nasmInstructionGALOISFIELD GF2P8AFFINEINVQB VGF2P8AFFINEINVQB GF2P8AFFINEQB VGF2P8AFFINEQB GF2P8MULB
933syn keyword nasmInstructionGALOISFIELD VGF2P8MULB
934" AVX512_BMI
935syn keyword nasmInstructionAVX512_BMI VPCOMPRESSB VPCOMPRESSW VPEXPANDB VPEXPANDW VPSHLDW
936syn keyword nasmInstructionAVX512_BMI VPSHLDD VPSHLDQ VPSHLDVW VPSHLDVD VPSHLDVQ
937syn keyword nasmInstructionAVX512_BMI VPSHRDW VPSHRDD VPSHRDQ VPSHRDVW VPSHRDVD
938syn keyword nasmInstructionAVX512_BMI VPSHRDVQ
939" AVX512_VNNI
940syn keyword nasmInstructionAVX512_VNNI VPDPBUSD VPDPBUSDS VPDPWSSD VPDPWSSDS
941" AVX512_BITALG
942syn keyword nasmInstructionAVX512_BITALG VPOPCNTB VPOPCNTW VPOPCNTD VPOPCNTQ VPSHUFBITQMB
943" AVX512_FMA
944syn keyword nasmInstructionAVX512_FMA V4FMADDPS V4FNMADDPS V4FMADDSS V4FNMADDSS
945" AVX512_DP
946syn keyword nasmInstructionAVX512_DP V4DPWSSDS V4DPWSSD
947" SGX
948syn keyword nasmInstructionSGX ENCLS ENCLU ENCLV
949" CET
950syn keyword nasmInstructionCET CLRSSBSY ENDBR32 ENDBR64 INCSSPD INCSSPQ
951syn keyword nasmInstructionCET RDSSPD RDSSPQ RSTORSSP SAVEPREVSSP SETSSBSY
952syn keyword nasmInstructionCET WRUSSD WRUSSQ WRSSD WRSSQ
953" INTEL_EXTENSION
954syn keyword nasmInstructionINTEL_EXTENSION ENQCMD ENQCMDS PCONFIG SERIALIZE WBNOINVD
955syn keyword nasmInstructionINTEL_EXTENSION XRESLDTRK XSUSLDTRK
956" AVX512_BF16
957syn keyword nasmInstructionAVX512_BF16 VCVTNE2PS2BF16 VCVTNEPS2BF16 VDPBF16PS
958" AVX512_MASK_INTERSECT
959syn keyword nasmInstructionAVX512_MASK_INTERSECT VP2INTERSECTD
960" AMX
961syn keyword nasmInstructionAMX LDTILECFG STTILECFG TDPBF16PS TDPBSSD TDPBSUD
962syn keyword nasmInstructionAMX TDPBUSD TDPBUUD TILELOADD TILELOADDT1 TILERELEASE
963syn keyword nasmInstructionAMX TILESTORED TILEZERO
964" AVX512_FP16
965syn keyword nasmInstructionAVX512_FP16 VADDPH VADDSH VCMPPH VCMPSH VCOMISH
966syn keyword nasmInstructionAVX512_FP16 VCVTDQ2PH VCVTPD2PH VCVTPH2DQ VCVTPH2PD VCVTPH2PS
967syn keyword nasmInstructionAVX512_FP16 VCVTPH2PSX VCVTPH2QQ VCVTPH2UDQ VCVTPH2UQQ VCVTPH2UW
968syn keyword nasmInstructionAVX512_FP16 VCVTPH2W VCVTPS2PH VCVTQQ2PH VCVTSD2SH VCVTSH2SD
969syn keyword nasmInstructionAVX512_FP16 VCVTSH2SI VCVTSH2SS VCVTSH2USI VCVTSI2SH VCVTSS2SH
970syn keyword nasmInstructionAVX512_FP16 VCVTTPH2DQ VCVTTPH2QQ VCVTTPH2UDQ VCVTTPH2UQQ VCVTTPH2UW
971syn keyword nasmInstructionAVX512_FP16 VCVTTPH2W VCVTTSH2SI VCVTTSH2USI VCVTUDQ2PH VCVTUQQ2PH
972syn keyword nasmInstructionAVX512_FP16 VCVTUSI2SH VCVTUSI2SS VCVTUW2PH VCVTW2PH VDIVPH
973syn keyword nasmInstructionAVX512_FP16 VDIVSH VFCMADDCPH VFMADDCPH VFCMADDCSH VFMADDCSH
974syn keyword nasmInstructionAVX512_FP16 VFCMULCPCH VFMULCPCH VFCMULCSH VFMULCSH VFMADDSUB132PH
975syn keyword nasmInstructionAVX512_FP16 VFMADDSUB213PH VFMADDSUB231PH VFMSUBADD132PH VFMSUBADD213PH VFMSUBADD231PH
976syn keyword nasmInstructionAVX512_FP16 VPMADD132PH VPMADD213PH VPMADD231PH VFMADD132PH VFMADD213PH
977syn keyword nasmInstructionAVX512_FP16 VFMADD231PH VPMADD132SH VPMADD213SH VPMADD231SH VPNMADD132SH
978syn keyword nasmInstructionAVX512_FP16 VPNMADD213SH VPNMADD231SH VPMSUB132PH VPMSUB213PH VPMSUB231PH
979syn keyword nasmInstructionAVX512_FP16 VFMSUB132PH VFMSUB213PH VFMSUB231PH VPMSUB132SH VPMSUB213SH
980syn keyword nasmInstructionAVX512_FP16 VPMSUB231SH VPNMSUB132SH VPNMSUB213SH VPNMSUB231SH VFPCLASSPH
981syn keyword nasmInstructionAVX512_FP16 VFPCLASSSH VGETEXPPH VGETEXPSH VGETMANTPH VGETMANTSH
982syn keyword nasmInstructionAVX512_FP16 VGETMAXPH VGETMAXSH VGETMINPH VGETMINSH VMOVSH
983syn keyword nasmInstructionAVX512_FP16 VMOVW VMULPH VMULSH VRCPPH VRCPSH
984syn keyword nasmInstructionAVX512_FP16 VREDUCEPH VREDUCESH VENDSCALEPH VENDSCALESH VRSQRTPH
985syn keyword nasmInstructionAVX512_FP16 VRSQRTSH VSCALEFPH VSCALEFSH VSQRTPH VSQRTSH
986syn keyword nasmInstructionAVX512_FP16 VSUBPH VSUBSH VUCOMISH
987" RAO-INT
988syn keyword nasmInstructionRAO_INT AADD AAND AXOR
989" USERINT
990syn keyword nasmInstructionUSERINT CLUI SENDUIPI STUI TESTUI UIRET
991" CMPCCXADD
992syn keyword nasmInstructionCMPCCXADD CMPOXADD CMPNOXADD CMPBXADD CMPNBXADD CMPZXADD
993syn keyword nasmInstructionCMPCCXADD CMPNZXADD CMPBEXADD CMPNBEXADD CMPSXADD CMPNSXADD
994syn keyword nasmInstructionCMPCCXADD CMPPXADD CMPNPXADD CMPLXADD CMPNLXADD CMPLEXADD
995syn keyword nasmInstructionCMPCCXADD CMPNLEXADD
996" FRET
997syn keyword nasmInstructionFRET ERETS ERETU LKGS
998" WRMSRNS_MSRLIST
999syn keyword nasmInstructionWRMSRNS_MSRLIST WRMSRNS RDMSRLIST WRMSRLIST
1000" HRESET
1001syn keyword nasmInstructionHRESET HRESET
1002" PTWRITE
1003syn keyword nasmInstructionPTWRITE PTWRITE
1004" HINTNOP
1005syn keyword nasmInstructionHINTNOP HINT_NOP0 HINT_NOP1 HINT_NOP2 HINT_NOP3 HINT_NOP4
1006syn keyword nasmInstructionHINTNOP HINT_NOP5 HINT_NOP6 HINT_NOP7 HINT_NOP8 HINT_NOP9
1007syn keyword nasmInstructionHINTNOP HINT_NOP10 HINT_NOP11 HINT_NOP12 HINT_NOP13 HINT_NOP14
1008syn keyword nasmInstructionHINTNOP HINT_NOP15 HINT_NOP16 HINT_NOP17 HINT_NOP18 HINT_NOP19
1009syn keyword nasmInstructionHINTNOP HINT_NOP20 HINT_NOP21 HINT_NOP22 HINT_NOP23 HINT_NOP24
1010syn keyword nasmInstructionHINTNOP HINT_NOP25 HINT_NOP26 HINT_NOP27 HINT_NOP28 HINT_NOP29
1011syn keyword nasmInstructionHINTNOP HINT_NOP30 HINT_NOP31 HINT_NOP32 HINT_NOP33 HINT_NOP34
1012syn keyword nasmInstructionHINTNOP HINT_NOP35 HINT_NOP36 HINT_NOP37 HINT_NOP38 HINT_NOP39
1013syn keyword nasmInstructionHINTNOP HINT_NOP40 HINT_NOP41 HINT_NOP42 HINT_NOP43 HINT_NOP44
1014syn keyword nasmInstructionHINTNOP HINT_NOP45 HINT_NOP46 HINT_NOP47 HINT_NOP48 HINT_NOP49
1015syn keyword nasmInstructionHINTNOP HINT_NOP50 HINT_NOP51 HINT_NOP52 HINT_NOP53 HINT_NOP54
1016syn keyword nasmInstructionHINTNOP HINT_NOP55 HINT_NOP56 HINT_NOP57 HINT_NOP58 HINT_NOP59
1017syn keyword nasmInstructionHINTNOP HINT_NOP60 HINT_NOP61 HINT_NOP62 HINT_NOP63
Bram Moolenaar071d4272004-06-13 20:20:40 +00001018" Cyrix instructions (requires Cyrix processor)
Andrii Sokolov830a8022024-10-08 21:10:09 +02001019syn keyword nasmCrxInstruction PADDSIW PAVEB PDISTIB PMAGW PMULHRWC PMULHRIW
Bram Moolenaar071d4272004-06-13 20:20:40 +00001020syn keyword nasmCrxInstruction PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW
1021syn keyword nasmCrxInstruction RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS
Andrii Sokolov830a8022024-10-08 21:10:09 +02001022syn keyword nasmCrxInstruction WRSHR BB0_RESET BB1_RESET
1023syn keyword nasmCrxInstruction CPU_WRITE CPU_READ DMINT RDM PMACHRIW
Bram Moolenaar071d4272004-06-13 20:20:40 +00001024
Andrii Sokolov830a8022024-10-08 21:10:09 +02001025" Debugging Instructions: (privileged)
1026syn keyword nasmDbgInstruction INT1 INT3 RDMSR RDTSC RDPMC WRMSR INT01 INT03
Bram Moolenaar071d4272004-06-13 20:20:40 +00001027
1028
1029" Synchronize Syntax:
1030syn sync clear
1031syn sync minlines=50 "for multiple region nesting
1032syn sync match nasmSync grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1
1033syn sync match nasmSync grouphere NONE "^\s*%endmacro\>"
1034
1035
1036" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001037" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +00001038
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001039" Sub Links:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001040hi def link nasmInMacDirective nasmDirective
1041hi def link nasmInMacLabel nasmLocalLabel
1042hi def link nasmInMacLblWarn nasmLabelWarn
1043hi def link nasmInMacMacro nasmMacro
1044hi def link nasmInMacParam nasmMacro
1045hi def link nasmInMacParamNum nasmDecNumber
1046hi def link nasmInMacPreCondit nasmPreCondit
1047hi def link nasmInMacPreProc nasmPreProc
1048hi def link nasmInPreCondit nasmPreCondit
1049hi def link nasmInStructure nasmStructure
1050hi def link nasmStructureLabel nasmStructure
Bram Moolenaar071d4272004-06-13 20:20:40 +00001051
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001052" Comment Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001053hi def link nasmComment Comment
1054hi def link nasmSpecialComment SpecialComment
1055hi def link nasmInCommentTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +00001056
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001057" Constant Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001058hi def link nasmString String
Bram Moolenaar690afe12017-01-28 18:34:47 +01001059hi def link nasmCString String
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001060hi def link nasmStringError Error
Bram Moolenaar690afe12017-01-28 18:34:47 +01001061hi def link nasmCStringEscape SpecialChar
1062hi def link nasmCStringFormat SpecialChar
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001063hi def link nasmBinNumber Number
1064hi def link nasmOctNumber Number
1065hi def link nasmDecNumber Number
1066hi def link nasmHexNumber Number
Andrii Sokolov830a8022024-10-08 21:10:09 +02001067hi def link nasmBinFloat Float
1068hi def link nasmOctFloat Float
1069hi def link nasmDecFloat Float
1070hi def link nasmHexFloat Float
1071hi def link nasmSpecFloat Float
1072hi def link nasmBcdConst Float
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001073hi def link nasmNumberError Error
Bram Moolenaar071d4272004-06-13 20:20:40 +00001074
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001075" Identifier Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001076hi def link nasmLabel Identifier
1077hi def link nasmLocalLabel Identifier
1078hi def link nasmSpecialLabel Special
1079hi def link nasmLabelError Error
1080hi def link nasmLabelWarn Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +00001081
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001082" PreProc Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001083hi def link nasmPreProc PreProc
1084hi def link nasmDefine Define
1085hi def link nasmInclude Include
1086hi def link nasmMacro Macro
1087hi def link nasmPreCondit PreCondit
1088hi def link nasmPreProcError Error
1089hi def link nasmPreProcWarn Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +00001090
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001091" Type Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001092hi def link nasmType Type
1093hi def link nasmStorage StorageClass
1094hi def link nasmStructure Structure
1095hi def link nasmTypeError Error
Bram Moolenaar071d4272004-06-13 20:20:40 +00001096
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001097" Directive Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001098hi def link nasmConstant Constant
1099hi def link nasmInstrModifier Operator
1100hi def link nasmRepeat Repeat
1101hi def link nasmDirective Keyword
1102hi def link nasmStdDirective Operator
1103hi def link nasmFmtDirective Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +00001104
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001105" Register Group:
Andrii Sokolov830a8022024-10-08 21:10:09 +02001106hi def link nasmRegisterError Error
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001107hi def link nasmCtrlRegister Special
1108hi def link nasmDebugRegister Debug
1109hi def link nasmTestRegister Special
1110hi def link nasmRegisterError Error
1111hi def link nasmMemRefError Error
Bram Moolenaar071d4272004-06-13 20:20:40 +00001112
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02001113" Instruction Group:
Bram Moolenaarf37506f2016-08-31 22:22:10 +02001114hi def link nasmInstructnError Error
Andrii Sokolov830a8022024-10-08 21:10:09 +02001115hi def link nasmCrxInstruction Special
1116hi def link nasmDbgInstruction Debug
1117hi def link nasmInstructionStandard Statement
1118hi def link nasmInstructionSIMD Statement
1119hi def link nasmInstructionSSE Statement
1120hi def link nasmInstructionXSAVE Statement
1121hi def link nasmInstructionMEM Statement
1122hi def link nasmInstructionMMX Statement
1123hi def link nasmInstruction3DNOW Statement
1124hi def link nasmInstructionSSE2 Statement
1125hi def link nasmInstructionWMMX Statement
1126hi def link nasmInstructionWSSD Statement
1127hi def link nasmInstructionPRESSCOT Statement
1128hi def link nasmInstructionVMXSVM Statement
1129hi def link nasmInstructionPTVMX Statement
1130hi def link nasmInstructionSEVSNPAMD Statement
1131hi def link nasmInstructionTEJAS Statement
1132hi def link nasmInstructionAMD_SSE4A Statement
1133hi def link nasmInstructionBARCELONA Statement
1134hi def link nasmInstructionPENRY Statement
1135hi def link nasmInstructionNEHALEM Statement
1136hi def link nasmInstructionSMX Statement
1137hi def link nasmInstructionGEODE_3DNOW Statement
1138hi def link nasmInstructionINTEL_NEW Statement
1139hi def link nasmInstructionAES Statement
1140hi def link nasmInstructionAVX_AES Statement
1141hi def link nasmInstructionINTEL_PUB Statement
1142hi def link nasmInstructionAVX Statement
1143hi def link nasmInstructionINTEL_CMUL Statement
1144hi def link nasmInstructionINTEL_AVX_CMUL Statement
1145hi def link nasmInstructionINTEL_FMA Statement
1146hi def link nasmInstructionINTEL_POST32 Statement
1147hi def link nasmInstructionSUPERVISOR Statement
1148hi def link nasmInstructionVIA_SECURITY Statement
1149hi def link nasmInstructionAMD_PROFILING Statement
1150hi def link nasmInstructionXOP_FMA4 Statement
1151hi def link nasmInstructionAVX2 Statement
1152hi def link nasmInstructionTRANSACTIONS Statement
1153hi def link nasmInstructionBMI_ABM Statement
1154hi def link nasmInstructionMPE Statement
1155hi def link nasmInstructionSHA Statement
1156hi def link nasmInstructionSM3 Statement
1157hi def link nasmInstructionSM4 Statement
1158hi def link nasmInstructionAVX_NOEXCEPT Statement
1159hi def link nasmInstructionAVX_VECTOR_NN Statement
1160hi def link nasmInstructionAVX_IFMA Statement
1161hi def link nasmInstructionAVX512_MASK Statement
1162hi def link nasmInstructionAVX512_MASK_REG Statement
1163hi def link nasmInstructionAVX512 Statement
1164hi def link nasmInstructionPROTECTION Statement
1165hi def link nasmInstructionRDPID Statement
1166hi def link nasmInstructionNMEM Statement
1167hi def link nasmInstructionINTEL_EXTENSIONS Statement
1168hi def link nasmInstructionGALOISFIELD Statement
1169hi def link nasmInstructionAVX512_BMI Statement
1170hi def link nasmInstructionAVX512_VNNI Statement
1171hi def link nasmInstructionAVX512_BITALG Statement
1172hi def link nasmInstructionAVX512_FMA Statement
1173hi def link nasmInstructionAVX512_DP Statement
1174hi def link nasmInstructionSGX Statement
1175hi def link nasmInstructionCET Statement
1176hi def link nasmInstructionINTEL_EXTENSION Statement
1177hi def link nasmInstructionAVX512_BF16 Statement
1178hi def link nasmInstructionAVX512_MASK_INTERSECT Statement
1179hi def link nasmInstructionAMX Statement
1180hi def link nasmInstructionAVX512_FP16 Statement
1181hi def link nasmInstructionRAO_INT Statement
1182hi def link nasmInstructionUSERINT Statement
1183hi def link nasmInstructionCMPCCXADD Statement
1184hi def link nasmInstructionFRET Statement
1185hi def link nasmInstructionWRMSRNS_MSRLIST Statement
1186hi def link nasmInstructionHRESET Statement
1187hi def link nasmInstructionHINTNOP Statement
1188hi def link nasmInstructionPTWRITE Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +00001189
Bram Moolenaar071d4272004-06-13 20:20:40 +00001190let b:current_syntax = "nasm"
1191
1192" vim:ts=8 sw=4