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