/usr/share/vim/vim82/syntax
NameSizeModeActions
2html.vim754200644editdlrm
8th.vim362190644editdlrm
a2ps.vim24260644editdlrm
a65.vim63940644editdlrm
aap.vim56970644editdlrm
abap.vim91550644editdlrm
abaqus.vim10940644editdlrm
abc.vim18420644editdlrm
abel.vim51130644editdlrm
acedb.vim48710644editdlrm
ada.vim130510644editdlrm
aflex.vim43680644editdlrm
ahdl.vim27700644editdlrm
aidl.vim6290644editdlrm
alsaconf.vim15460644editdlrm
amiga.vim29690644editdlrm
aml.vim241370644editdlrm
ampl.vim41080644editdlrm
ant.vim58160644editdlrm
antlr.vim17930644editdlrm
apache.vim153740644editdlrm
apachestyle.vim14170644editdlrm
aptconf.vim224410644editdlrm
arch.vim11490644editdlrm
arduino.vim39740644editdlrm
art.vim12970644editdlrm
asciidoc.vim111460644editdlrm
asm.vim60370644editdlrm
asm68k.vim142800644editdlrm
asmh8300.vim17180644editdlrm
asn.vim25780644editdlrm
aspperl.vim8110644editdlrm
aspvbs.vim90970644editdlrm
asterisk.vim56290644editdlrm
asteriskvm.vim23320644editdlrm
atlas.vim26020644editdlrm
autodoc.vim37300644editdlrm
autohotkey.vim118610644editdlrm
autoit.vim480460644editdlrm
automake.vim39380644editdlrm
ave.vim19000644editdlrm
avra.vim26830644editdlrm
awk.vim81910644editdlrm
ayacc.vim25850644editdlrm
b.vim49020644editdlrm
baan.vim735950644editdlrm
bash.vim3710644editdlrm
basic.vim83060644editdlrm
bc.vim17910644editdlrm
bdf.vim38410644editdlrm
bib.vim60040644editdlrm
bindzone.vim49060644editdlrm
blank.vim7940644editdlrm
bsdl.vim3770644editdlrm
bst.vim28250644editdlrm
btm.vim92850644editdlrm
bzl.vim3740644editdlrm
bzr.vim15600644editdlrm
c.vim277460644editdlrm
cabal.vim73630644editdlrm
cabalconfig.vim11790644editdlrm
cabalproject.vim9440644editdlrm
calendar.vim50420644editdlrm
catalog.vim9210644editdlrm
cdl.vim30920644editdlrm
cdrdaoconf.vim36470644editdlrm
cdrtoc.vim227560644editdlrm
cf.vim186440644editdlrm
cfg.vim13500644editdlrm
ch.vim9220644editdlrm
chaiscript.vim28870644editdlrm
change.vim9010644editdlrm
changelog.vim20970644editdlrm
chaskell.vim3330644editdlrm
cheetah.vim17520644editdlrm
chicken.vim32570644editdlrm
chill.vim80240644editdlrm
chordpro.vim25210644editdlrm
cl.vim39050644editdlrm
clean.vim31510644editdlrm
clipper.vim55760644editdlrm
clojure.vim470930644editdlrm
cmake.vim421480644editdlrm
cmod.vim62710644editdlrm
cmusrc.vim129210644editdlrm
cobol.vim135920644editdlrm
coco.vim13000644editdlrm
colortest.vim32010644editdlrm
conaryrecipe.vim80360644editdlrm
conf.vim8130644editdlrm
config.vim20740644editdlrm
context.vim61990644editdlrm
cpp.vim59730644editdlrm
crm.vim11970644editdlrm
crontab.vim22150644editdlrm
cs.vim109470644editdlrm
csc.vim84510644editdlrm
csdl.vim237550644editdlrm
csh.vim64600644editdlrm
csp.vim71520644editdlrm
css.vim336560644editdlrm
cterm.vim64060644editdlrm
ctrlh.vim6880644editdlrm
cucumber.vim318870644editdlrm
cuda.vim26910644editdlrm
cupl.vim38720644editdlrm
cuplsim.vim19160644editdlrm
cvs.vim8820644editdlrm
cvsrc.vim12540644editdlrm
cweb.vim28920644editdlrm
cynlib.vim25480644editdlrm
cynpp.vim12630644editdlrm
d.vim286310644editdlrm
dart.vim32920644editdlrm
datascript.vim38070644editdlrm
dcd.vim18030644editdlrm
dcl.vim63830644editdlrm
debchangelog.vim35290644editdlrm
debcontrol.vim87760644editdlrm
debcopyright.vim11370644editdlrm
debsources.vim23100644editdlrm
def.vim10970644editdlrm
denyhosts.vim73650644editdlrm
dep3patch.vim30050644editdlrm
desc.vim30770644editdlrm
desktop.vim93480644editdlrm
dictconf.vim31180644editdlrm
dictdconf.vim64650644editdlrm
diff.vim174200644editdlrm
dircolors.vim69460644editdlrm
dirpager.vim17870644editdlrm
diva.vim47360644editdlrm
django.vim40150644editdlrm
dns.vim1320644editdlrm
dnsmasq.vim100670644editdlrm
docbk.vim103210644editdlrm
docbksgml.vim1930644editdlrm
docbkxml.vim1910644editdlrm
dockerfile.vim24740644editdlrm
dosbatch.vim62610644editdlrm
dosini.vim12660644editdlrm
dot.vim44930644editdlrm
doxygen.vim389220644editdlrm
dracula.vim26680644editdlrm
dsl.vim13120644editdlrm
dtd.vim49900644editdlrm
dtml.vim166130644editdlrm
dtrace.vim64420644editdlrm
dts.vim51410644editdlrm
dune.vim19490644editdlrm
dylan.vim34140644editdlrm
dylanintr.vim10780644editdlrm
dylanlid.vim6640644editdlrm
ecd.vim12290644editdlrm
edif.vim12780644editdlrm
eiffel.vim69260644editdlrm
elf.vim23490644editdlrm
elinks.vim104940644editdlrm
elm.vim36510644editdlrm
elmfilt.vim28930644editdlrm
erlang.vim111340644editdlrm
eruby.vim32990644editdlrm
esmtprc.vim9380644editdlrm
esqlc.vim20940644editdlrm
esterel.vim30530644editdlrm
eterm.vim191720644editdlrm
euphoria3.vim61030644editdlrm
euphoria4.vim145370644editdlrm
eviews.vim50040644editdlrm
exim.vim180850644editdlrm
expect.vim37340644editdlrm
exports.vim17480644editdlrm
falcon.vim120130644editdlrm
fan.vim54450644editdlrm
fasm.vim87570644editdlrm
fdcc.vim56480644editdlrm
fetchmail.vim33080644editdlrm
fgl.vim72740644editdlrm
flexwiki.vim54350644editdlrm
focexec.vim35270644editdlrm
form.vim63850644editdlrm
forth.vim106690644editdlrm
fortran.vim333820644editdlrm
foxpro.vim328560644editdlrm
fpcmake.vim20440644editdlrm
framescript.vim116790644editdlrm
freebasic.vim108350644editdlrm
fstab.vim158790644editdlrm
fvwm.vim250260644editdlrm
fvwm2m4.vim7110644editdlrm
gdb.vim44140644editdlrm
gdmo.vim32990644editdlrm
gedcom.vim22750644editdlrm
gemtext.vim6820644editdlrm
gift.vim102390644editdlrm
git.vim42970644editdlrm
gitcommit.vim50830644editdlrm
gitconfig.vim15960644editdlrm
gitolite.vim44540644editdlrm
gitrebase.vim29500644editdlrm
gitsendemail.vim5800644editdlrm
gkrellmrc.vim41160644editdlrm
gnash.vim34620644editdlrm
gnuplot.vim238250644editdlrm
go.vim198250644editdlrm
godoc.vim3520644editdlrm
gp.vim29650644editdlrm
gpg.vim55910644editdlrm
gprof.vim21360644editdlrm
grads.vim17420644editdlrm
gretl.vim37300644editdlrm
groff.vim3210644editdlrm
groovy.vim224840644editdlrm
group.vim17190644editdlrm
grub.vim38880644editdlrm
gsp.vim20310644editdlrm
gtkrc.vim93180644editdlrm
gvpr.vim33780644editdlrm
haml.vim70710644editdlrm
hamster.vim138400644editdlrm
haskell.vim92420644editdlrm
haste.vim49940644editdlrm
hastepreproc.vim14220644editdlrm
hb.vim31580644editdlrm
help.vim84230644editdlrm
help_ru.vim35210644editdlrm
hercules.vim57200644editdlrm
hex.vim40110644editdlrm
hgcommit.vim11140644editdlrm
hitest.vim36430644editdlrm
hog.vim121120644editdlrm
hollywood.vim485310644editdlrm
hostconf.vim38700644editdlrm
hostsaccess.vim5490644editdlrm
html.vim185440644editdlrm
htmlcheetah.vim4880644editdlrm
htmldjango.vim10110644editdlrm
htmlm4.vim6700644editdlrm
htmlos.vim83130644editdlrm
i3config.vim158860644editdlrm
ia64.vim104720644editdlrm
ibasic.vim70360644editdlrm
icemenu.vim8240644editdlrm
icon.vim69760644editdlrm
idl.vim199010644editdlrm
idlang.vim134620644editdlrm
indent.vim71970644editdlrm
inform.vim194830644editdlrm
initex.vim192240644editdlrm
initng.vim33990644editdlrm
inittab.vim25410644editdlrm
ipfilter.vim16220644editdlrm
ishd.vim270570644editdlrm
iss.vim50310644editdlrm
ist.vim20000644editdlrm
j.vim94410644editdlrm
jal.vim89630644editdlrm
jam.vim267110644editdlrm
jargon.vim7400644editdlrm
java.vim185810644editdlrm
javacc.vim22560644editdlrm
javascript.vim56770644editdlrm
javascriptreact.vim1330644editdlrm
jess.vim62300644editdlrm
jgraph.vim12120644editdlrm
jovial.vim41070644editdlrm
jproperties.vim54960644editdlrm
json.vim62550644editdlrm
jsonc.vim17330644editdlrm
jsp.vim26780644editdlrm
julia.vim379070644editdlrm
kconfig.vim363040644editdlrm
kivy.vim9860644editdlrm
kix.vim63290644editdlrm
kscript.vim19850644editdlrm
kwt.vim24540644editdlrm
lace.vim40750644editdlrm
latte.vim35110644editdlrm
ld.vim29140644editdlrm
ldapconf.vim133020644editdlrm
ldif.vim10140644editdlrm
less.vim41950644editdlrm
lex.vim86510644editdlrm
lftp.vim74710644editdlrm
lhaskell.vim49360644editdlrm
libao.vim6360644editdlrm
lifelines.vim66400644editdlrm
lilo.vim104270644editdlrm
limits.vim13170644editdlrm
liquid.vim61840644editdlrm
lisp.vim360270644editdlrm
lite.vim48450644editdlrm
litestep.vim66760644editdlrm
loginaccess.vim41970644editdlrm
logindefs.vim75370644editdlrm
logtalk.vim168490644editdlrm
lotos.vim23610644editdlrm
lout.vim43260644editdlrm
lpc.vim231380644editdlrm
lprolog.vim39790644editdlrm
lscript.vim120990644editdlrm
lsl.vim158000644editdlrm
lss.vim48700644editdlrm
lua.vim140520644editdlrm
lynx.vim65790644editdlrm
m3build.vim57770644editdlrm
m3quake.vim26340644editdlrm
m4.vim26930644editdlrm
mail.vim60690644editdlrm
mailaliases.vim27670644editdlrm
mailcap.vim11350644editdlrm
make.vim61990644editdlrm
mallard.vim17260644editdlrm
man.vim16800644editdlrm
manconf.vim43440644editdlrm
manual.vim9090644editdlrm
maple.vim285700644editdlrm
markdown.vim91260644editdlrm
masm.vim172450644editdlrm
mason.vim38180644editdlrm
master.vim10220644editdlrm
matlab.vim43160644editdlrm
maxima.vim188020644editdlrm
mel.vim34060644editdlrm
meson.vim39760644editdlrm
messages.vim27150644editdlrm
mf.vim154230644editdlrm
mgl.vim37240644editdlrm
mgp.vim20000644editdlrm
mib.vim26960644editdlrm
mix.vim29420644editdlrm
mma.vim118010644editdlrm
mmix.vim49690644editdlrm
mmp.vim14860644editdlrm
modconf.vim14190644editdlrm
model.vim14690644editdlrm
modsim3.vim36230644editdlrm
modula2.vim32250644editdlrm
modula3.vim30830644editdlrm
monk.vim102190644editdlrm
moo.vim92340644editdlrm
mp.vim445300644editdlrm
mplayerconf.vim74870644editdlrm
mrxvtrc.vim96030644editdlrm
msidl.vim34640644editdlrm
msmessages.vim63180644editdlrm
msql.vim23900644editdlrm
mupad.vim154760644editdlrm
murphi.vim45790644editdlrm
mush.vim131870644editdlrm
muttrc.vim658120644editdlrm
mysql.vim176090644editdlrm
n1ql.vim128990644editdlrm
named.vim100050644editdlrm
nanorc.vim106200644editdlrm
nasm.vim264170644editdlrm
nastran.vim85040644editdlrm
natural.vim69770644editdlrm
ncf.vim134160644editdlrm
neomuttrc.vim655370644editdlrm
netrc.vim19340644editdlrm
netrw.vim72020644editdlrm
nginx.vim1167450644editdlrm
ninja.vim28890644editdlrm
nosyntax.vim7550644editdlrm
nqc.vim140680644editdlrm
nroff.vim77890644editdlrm
nsis.vim361230644editdlrm
obj.vim27860644editdlrm
objc.vim417650644editdlrm
objcpp.vim6000644editdlrm
ocaml.vim169530644editdlrm
occam.vim43160644editdlrm
omnimark.vim63770644editdlrm
opam.vim14030644editdlrm
openroad.vim139790644editdlrm
opl.vim41280644editdlrm
ora.vim271410644editdlrm
pamconf.vim59520644editdlrm
pamenv.vim11350644editdlrm
papp.vim37890644editdlrm
pascal.vim159840644editdlrm
passwd.vim24430644editdlrm
pbtxt.vim13730644editdlrm
pcap.vim14960644editdlrm
pccts.vim40930644editdlrm
pdf.vim35390644editdlrm
perl.vim384730644editdlrm
pf.vim103710644editdlrm
pfmain.vim927370644editdlrm
php.vim1145660644editdlrm
phtml.vim1510644editdlrm
pic.vim33330644editdlrm
pike.vim218070644editdlrm
pilrc.vim53110644editdlrm
pine.vim154110644editdlrm
pinfo.vim52960644editdlrm
plaintex.vim103010644editdlrm
pli.vim132220644editdlrm
plm.vim53610644editdlrm
plp.vim12670644editdlrm
plsql.vim129180644editdlrm
po.vim63930644editdlrm
pod.vim72830644editdlrm
poke.vim51890644editdlrm
postscr.vim461360644editdlrm
pov.vim90570644editdlrm
povini.vim34880644editdlrm
ppd.vim8680644editdlrm
ppwiz.vim27800644editdlrm
prescribe.vim23830644editdlrm
privoxy.vim35790644editdlrm
procmail.vim20190644editdlrm
progress.vim317480644editdlrm
prolog.vim44940644editdlrm
promela.vim17280644editdlrm
proto.vim35430644editdlrm
protocols.vim14290644editdlrm
ps1.vim75090644editdlrm
ps1xml.vim12760644editdlrm
psf.vim42900644editdlrm
psl.vim25280644editdlrm
ptcap.vim41280644editdlrm
purifylog.vim33570644editdlrm
pyrex.vim16630644editdlrm
python.vim131440644editdlrm
qf.vim5960644editdlrm
quake.vim85540644editdlrm
r.vim156840644editdlrm
racc.vim56190644editdlrm
radiance.vim71550644editdlrm
raku.vim756610644editdlrm
raml.vim44500644editdlrm
ratpoison.vim180300644editdlrm
rc.vim102170644editdlrm
rcs.vim21330644editdlrm
rcslog.vim5570644editdlrm
readline.vim174870644editdlrm
rebol.vim71670644editdlrm
redif.vim879410644editdlrm
registry.vim33550644editdlrm
rego.vim38320644editdlrm
remind.vim27130644editdlrm
resolv.vim63610644editdlrm
reva.vim75830644editdlrm
rexx.vim153310644editdlrm
rhelp.vim121340644editdlrm
rib.vim21920644editdlrm
rmd.vim62740644editdlrm
rnc.vim22630644editdlrm
rng.vim8170644editdlrm
rnoweb.vim19150644editdlrm
robots.vim15300644editdlrm
routeros.vim33620644editdlrm
rpcgen.vim16670644editdlrm
rpl.vim257000644editdlrm
rrst.vim13060644editdlrm
rst.vim117790644editdlrm
rtf.vim23310644editdlrm
ruby.vim410850644editdlrm
rust.vim166120644editdlrm
samba.vim61310644editdlrm
sas.vim340870644editdlrm
sass.vim62630644editdlrm
sather.vim34900644editdlrm
sbt.vim8800644editdlrm
scala.vim114500644editdlrm
scdoc.vim18810644editdlrm
scheme.vim194390644editdlrm
scilab.vim32100644editdlrm
screen.vim91040644editdlrm
scss.vim5260644editdlrm
sd.vim22230644editdlrm
sdc.vim13910644editdlrm
sdl.vim65630644editdlrm
sed.vim50330644editdlrm
sendpr.vim9050644editdlrm
sensors.vim15130644editdlrm
services.vim18230644editdlrm
setserial.vim52290644editdlrm
sexplib.vim36850644editdlrm
sgml.vim88710644editdlrm
sgmldecl.vim20410644editdlrm
sgmllnx.vim18510644editdlrm
sh.vim443830644editdlrm
sicad.vim184750644editdlrm
sieve.vim16710644editdlrm
sil.vim85410644editdlrm
simula.vim33710644editdlrm
sinda.vim36660644editdlrm
sindacmp.vim12740644editdlrm
sindaout.vim19610644editdlrm
sisu.vim221800644editdlrm
skill.vim257690644editdlrm
sl.vim40840644editdlrm
slang.vim33020644editdlrm
slice.vim29280644editdlrm
slpconf.vim117910644editdlrm
slpreg.vim53460644editdlrm
slpspi.vim11810644editdlrm
slrnrc.vim128110644editdlrm
slrnsc.vim30980644editdlrm
sm.vim28510644editdlrm
smarty.vim28830644editdlrm
smcl.vim120430644editdlrm
smil.vim56160644editdlrm
smith.vim7930644editdlrm
sml.vim94630644editdlrm
snnsnet.vim24820644editdlrm
snnspat.vim22280644editdlrm
snnsres.vim19330644editdlrm
snobol4.vim53340644editdlrm
spec.vim127080644editdlrm
specman.vim73450644editdlrm
spice.vim22430644editdlrm
splint.vim157860644editdlrm
spup.vim139270644editdlrm
spyce.vim44550644editdlrm
sql.vim11200644editdlrm
sqlanywhere.vim419290644editdlrm
sqlforms.vim67340644editdlrm
sqlhana.vim110270644editdlrm
sqlinformix.vim59010644editdlrm
sqlj.vim29700644editdlrm
sqloracle.vim76490644editdlrm
sqr.vim130120644editdlrm
squid.vim69310644editdlrm
squirrel.vim14690644editdlrm
srec.vim38150644editdlrm
sshconfig.vim117460644editdlrm
sshdconfig.vim131840644editdlrm
st.vim27540644editdlrm
stata.vim270560644editdlrm
stp.vim54270644editdlrm
strace.vim19700644editdlrm
structurizr.vim20990644editdlrm
sudoers.vim245320644editdlrm
svg.vim4360644editdlrm
svn.vim18520644editdlrm
swift.vim88280644editdlrm
swiftgyb.vim8220644editdlrm
syncolor.vim41390644editdlrm
synload.vim20340644editdlrm
syntax.vim12280644editdlrm
sysctl.vim11530644editdlrm
systemd.vim1840644editdlrm
systemverilog.vim35390644editdlrm
tads.vim68620644editdlrm
tags.vim11560644editdlrm
tak.vim29200644editdlrm
takcmp.vim15930644editdlrm
takout.vim20000644editdlrm
tap.vim43620644editdlrm
tar.vim3730644editdlrm
taskdata.vim12070644editdlrm
taskedit.vim11300644editdlrm
tasm.vim56910644editdlrm
tcl.vim172740644editdlrm
tcsh.vim136760644editdlrm
template.vim4490644editdlrm
teraterm.vim49800644editdlrm
terminfo.vim48030644editdlrm
tex.vim650430644editdlrm
texinfo.vim15840644editdlrm
texmf.vim22810644editdlrm
tf.vim69040644editdlrm
tidy.vim135590644editdlrm
tilde.vim15390644editdlrm
tli.vim16580644editdlrm
tmux.vim63590644editdlrm
toml.vim30930644editdlrm
tpp.vim34130644editdlrm
trasys.vim50330644editdlrm
treetop.vim36680644editdlrm
trustees.vim15460644editdlrm
tsalt.vim83250644editdlrm
tsscl.vim51200644editdlrm
tssgm.vim27870644editdlrm
tssop.vim17850644editdlrm
tt2.vim79230644editdlrm
tt2html.vim5160644editdlrm
tt2js.vim5220644editdlrm
typescript.vim14230644editdlrm
typescriptcommon.vim1344620644editdlrm
typescriptreact.vim39240644editdlrm
uc.vim66340644editdlrm
udevconf.vim12270644editdlrm
udevperm.vim24090644editdlrm
udevrules.vim69600644editdlrm
uil.vim28210644editdlrm
updatedb.vim12200644editdlrm
upstart.vim31650644editdlrm
upstreamdat.vim140480644editdlrm
upstreaminstalllog.vim9710644editdlrm
upstreamlog.vim26200644editdlrm
upstreamrpt.vim141970644editdlrm
usserverlog.vim31180644editdlrm
usw2kagtlog.vim27020644editdlrm
valgrind.vim32160644editdlrm
vb.vim211220644editdlrm
vera.vim195520644editdlrm
verilog.vim50550644editdlrm
verilogams.vim60830644editdlrm
vgrindefs.vim12140644editdlrm
vhdl.vim96580644editdlrm
vim.vim759600644editdlrm
viminfo.vim12410644editdlrm
virata.vim116130644editdlrm
vmasm.vim85120644editdlrm
voscm.vim69750644editdlrm
vrml.vim127880644editdlrm
vroom.vim34920644editdlrm
vsejcl.vim10040644editdlrm
vue.vim4330644editdlrm
wast.vim39260644editdlrm
wdiff.vim7160644editdlrm
web.vim11140644editdlrm
webmacro.vim31300644editdlrm
wget.vim39610644editdlrm
whitespace.vim3570644editdlrm
winbatch.vim121520644editdlrm
wml.vim57310644editdlrm
wsh.vim12420644editdlrm
wsml.vim54000644editdlrm
wvdial.vim10930644editdlrm
xbl.vim5680644editdlrm
xdefaults.vim58870644editdlrm
xf86conf.vim147250644editdlrm
xhtml.vim1860644editdlrm
xinetd.vim142080644editdlrm
xkb.vim33130644editdlrm
xmath.vim108310644editdlrm
xml.vim93390644editdlrm
xmodmap.vim465110644editdlrm
xpm.vim44880644editdlrm
xpm2.vim46970644editdlrm
xquery.vim71910644editdlrm
xs.vim2467450644editdlrm
xsd.vim21250644editdlrm
xslt.vim26540644editdlrm
xxd.vim7670644editdlrm
yacc.vim56560644editdlrm
yaml.vim128740644editdlrm
z8a.vim28940644editdlrm
zimbu.vim64460644editdlrm
zsh.vim133920644editdlrm
Edit: /usr/share/vim/vim82/syntax/nasm.vim (26417B)
" Vim syntax file " Language: NASM - The Netwide Assembler (v0.98) " Maintainer: Andrii Sokolov " Original Author: Manuel M.H. Stol " Former Maintainer: Manuel M.H. Stol " Contributors: Leonard König (C string highlighting), Peter Stanhope (Add missing 64-bit mode registers) " Last Change: 2017 Jan 23 " NASM Home: http://www.nasm.us/ " Setup Syntax: " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " Assembler syntax is case insensetive syn case ignore " Vim search and movement commands on identifers " Comments at start of a line inside which to skip search for indentifiers setlocal comments=:; " Identifier Keyword characters (defines \k) setlocal iskeyword=@,48-57,#,$,.,?,@-@,_,~ " Comments: syn region nasmComment start=";" keepend end="$" contains=@nasmGrpInComments syn region nasmSpecialComment start=";\*\*\*" keepend end="$" syn keyword nasmInCommentTodo contained TODO FIXME XXX[XXXXX] syn cluster nasmGrpInComments contains=nasmInCommentTodo syn cluster nasmGrpComments contains=@nasmGrpInComments,nasmComment,nasmSpecialComment " Label Identifiers: " in NASM: 'Everything is a Label' " Definition Label = label defined by %[i]define or %[i]assign " Identifier Label = label defined as first non-keyword on a line or %[i]macro syn match nasmLabelError "$\=\(\d\+\K\|[#.@]\|\$\$\k\)\k*\>" syn match nasmLabel "\<\(\h\|[?@]\)\k*\>" syn match nasmLabel "[\$\~]\(\h\|[?@]\)\k*\>"lc=1 " Labels starting with one or two '.' are special syn match nasmLocalLabel "\<\.\(\w\|[#$?@~]\)\k*\>" syn match nasmLocalLabel "\<\$\.\(\w\|[#$?@~]\)\k*\>"ms=s+1 if !exists("nasm_no_warn") syn match nasmLabelWarn "\<\~\=\$\=[_.][_.\~]*\>" endif if exists("nasm_loose_syntax") syn match nasmSpecialLabel "\<\.\.@\k\+\>" syn match nasmSpecialLabel "\<\$\.\.@\k\+\>"ms=s+1 if !exists("nasm_no_warn") syn match nasmLabelWarn "\<\$\=\.\.@\(\d\|[#$\.~]\)\k*\>" endif " disallow use of nasm internal label format syn match nasmLabelError "\<\$\=\.\.@\d\+\.\k*\>" else syn match nasmSpecialLabel "\<\.\.@\(\h\|[?@]\)\k*\>" syn match nasmSpecialLabel "\<\$\.\.@\(\h\|[?@]\)\k*\>"ms=s+1 endif " Labels can be dereferenced with '$' to destinguish them from reserved words syn match nasmLabelError "\<\$\K\k*\s*:" syn match nasmLabelError "^\s*\$\K\k*\>" syn match nasmLabelError "\<\~\s*\(\k*\s*:\|\$\=\.\k*\)" " Constants: syn match nasmStringError +["'`]+ " NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for " 8-digit Unicode characters syn case match " one-char escape-sequences syn match nasmCStringEscape display contained "\\[’"‘\\\?abtnvfre]" " hex and octal numbers syn match nasmCStringEscape display contained "\\\(x\x\{2}\|\o\{1,3}\)" " Unicode characters syn match nasmCStringEscape display contained "\\\(u\x\{4}\|U\x\{8}\)" " ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim) syn match nasmCStringFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained syn match nasmCStringFormat display "%%" contained syn match nasmString +\("[^"]\{-}"\|'[^']\{-}'\)+ " Highlight C escape- and format-sequences within ``-strings syn match nasmCString +\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend syn case ignore syn match nasmBinNumber "\<[0-1]\+b\>" syn match nasmBinNumber "\<\~[0-1]\+b\>"lc=1 syn match nasmOctNumber "\<\o\+q\>" syn match nasmOctNumber "\<\~\o\+q\>"lc=1 syn match nasmDecNumber "\<\d\+\>" syn match nasmDecNumber "\<\~\d\+\>"lc=1 syn match nasmHexNumber "\<\(\d\x*h\|0x\x\+\|\$\d\x*\)\>" syn match nasmHexNumber "\<\~\(\d\x*h\|0x\x\+\|\$\d\x*\)\>"lc=1 syn match nasmFltNumber "\<\d\+\.\d*\(e[+-]\=\d\+\)\=\>" syn keyword nasmFltNumber Inf Infinity Indefinite NaN SNaN QNaN syn match nasmNumberError "\<\~\s*\d\+\.\d*\(e[+-]\=\d\+\)\=\>" " Netwide Assembler Storage Directives: " Storage types syn keyword nasmTypeError DF EXTRN FWORD RESF TBYTE syn keyword nasmType FAR NEAR SHORT syn keyword nasmType BYTE WORD DWORD QWORD DQWORD HWORD DHWORD TWORD syn keyword nasmType CDECL FASTCALL NONE PASCAL STDCALL syn keyword nasmStorage DB DW DD DQ DDQ DT syn keyword nasmStorage RESB RESW RESD RESQ RESDQ REST syn keyword nasmStorage EXTERN GLOBAL COMMON " Structured storage types syn match nasmTypeError "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>" syn match nasmStructureLabel contained "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>" " structures cannot be nested (yet) -> use: 'keepend' and 're=' syn cluster nasmGrpCntnStruc contains=ALLBUT,@nasmGrpInComments,nasmMacroDef,@nasmGrpInMacros,@nasmGrpInPreCondits,nasmStructureDef,@nasmGrpInStrucs syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnStruc syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnStruc syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\" end="\" contains=@nasmGrpCntnStruc,nasmInStructure " union types are not part of nasm (yet) "syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnStruc "syn region nasmStructureDef transparent matchgroup=nasmStructure keepend start="\" end="\" contains=@nasmGrpCntnStruc,nasmInStructure syn match nasmInStructure contained "^\s*AT\>"hs=e-1 syn cluster nasmGrpInStrucs contains=nasmStructure,nasmInStructure,nasmStructureLabel " PreProcessor Instructions: " NAsm PreProcs start with %, but % is not a character syn match nasmPreProcError "%{\=\(%\=\k\+\|%%\+\k*\|[+-]\=\d\+\)}\=" if exists("nasm_loose_syntax") syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError else syn cluster nasmGrpNxtCtx contains=nasmStructureLabel,nasmLabel,nasmLabelError,nasmPreProcError endif " Multi-line macro syn cluster nasmGrpCntnMacro contains=ALLBUT,@nasmGrpInComments,nasmStructureDef,@nasmGrpInStrucs,nasmMacroDef,@nasmGrpPreCondits,nasmMemReference,nasmInMacPreCondit,nasmInMacStrucDef syn region nasmMacroDef matchgroup=nasmMacro keepend start="^\s*%macro\>"hs=e-5 start="^\s*%imacro\>"hs=e-6 end="^\s*%endmacro\>"re=e-9 contains=@nasmGrpCntnMacro,nasmInMacStrucDef if exists("nasm_loose_syntax") syn match nasmInMacLabel contained "%\(%\k\+\>\|{%\k\+}\)" syn match nasmInMacLabel contained "%\($\+\(\w\|[#\.?@~]\)\k*\>\|{$\+\(\w\|[#\.?@~]\)\k*}\)" syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=nasmStructureLabel,nasmLabel,nasmInMacParam,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError if !exists("nasm_no_warn") syn match nasmInMacLblWarn contained "%\(%[$\.]\k*\>\|{%[$\.]\k*}\)" syn match nasmInMacLblWarn contained "%\($\+\(\d\|[#\.@~]\)\k*\|{\$\+\(\d\|[#\.@~]\)\k*}\)" hi link nasmInMacCatLabel nasmInMacLblWarn else hi link nasmInMacCatLabel nasmInMacLabel endif else syn match nasmInMacLabel contained "%\(%\(\w\|[#?@~]\)\k*\>\|{%\(\w\|[#?@~]\)\k*}\)" syn match nasmInMacLabel contained "%\($\+\(\h\|[?@]\)\k*\>\|{$\+\(\h\|[?@]\)\k*}\)" hi link nasmInMacCatLabel nasmLabelError endif syn match nasmInMacCatLabel contained "\d\K\k*"lc=1 syn match nasmInMacLabel contained "\d}\k\+"lc=2 if !exists("nasm_no_warn") syn match nasmInMacLblWarn contained "%\(\($\+\|%\)[_~][._~]*\>\|{\($\+\|%\)[_~][._~]*}\)" endif syn match nasmInMacPreProc contained "^\s*%pop\>"hs=e-3 syn match nasmInMacPreProc contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx " structures cannot be nested (yet) -> use: 'keepend' and 're=' syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnMacro syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4 end="^\s*ENDSTRUC\>"re=e-8 contains=@nasmGrpCntnMacro syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\" end="\" contains=@nasmGrpCntnMacro,nasmInStructure " union types are not part of nasm (yet) "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\" end="\" contains=@nasmGrpCntnMacro,nasmInStructure syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit " Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacParamNum contained "\<\d\+\.list\>"me=e-5 syn match nasmInMacParamNum contained "\<\d\+\.nolist\>"me=e-7 syn match nasmInMacDirective contained "\.\(no\)\=list\>" syn match nasmInMacMacro contained transparent "macro\s"lc=5 skipwhite nextgroup=nasmStructureLabel syn match nasmInMacMacro contained "^\s*%rotate\>"hs=e-6 syn match nasmInMacParam contained "%\([+-]\=\d\+\|{[+-]\=\d\+}\)" " nasm conditional macro operands/arguments " Todo: check feasebility; add too nasmGrpInMacros, etc. "syn match nasmInMacCond contained "\<\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>" syn cluster nasmGrpInMacros contains=nasmMacro,nasmInMacMacro,nasmInMacParam,nasmInMacParamNum,nasmInMacDirective,nasmInMacLabel,nasmInMacLblWarn,nasmInMacMemRef,nasmInMacPreConDef,nasmInMacPreCondit,nasmInMacPreProc,nasmInMacStrucDef " Context pre-procs that are better used inside a macro if exists("nasm_ctx_outside_macro") syn region nasmPreConditDef transparent matchgroup=nasmCtxPreCondit start="^\s*%ifnctx\>"hs=e-6 start="^\s*%ifctx\>"hs=e-5 end="%endif\>" contains=@nasmGrpCntnPreCon syn match nasmCtxPreProc "^\s*%pop\>"hs=e-3 if exists("nasm_loose_syntax") syn match nasmCtxLocLabel "%$\+\(\w\|[#.?@~]\)\k*\>" else syn match nasmCtxLocLabel "%$\+\(\h\|[?@]\)\k*\>" endif syn match nasmCtxPreProc "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmCtxPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmCtxPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmCtxPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx if exists("nasm_no_warn") hi link nasmCtxPreCondit nasmPreCondit hi link nasmCtxPreProc nasmPreProc hi link nasmCtxLocLabel nasmLocalLabel else hi link nasmCtxPreCondit nasmPreProcWarn hi link nasmCtxPreProc nasmPreProcWarn hi link nasmCtxLocLabel nasmLabelWarn endif endif " Conditional assembly syn cluster nasmGrpCntnPreCon contains=ALLBUT,@nasmGrpInComments,@nasmGrpInMacros,@nasmGrpInStrucs syn region nasmPreConditDef transparent matchgroup=nasmPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnPreCon syn match nasmInPreCondit contained "^\s*%el\(if\|se\)\>"hs=e-4 syn match nasmInPreCondit contained "^\s*%elifid\>"hs=e-6 syn match nasmInPreCondit contained "^\s*%elif\(def\|idn\|nid\|num\|str\)\>"hs=e-7 syn match nasmInPreCondit contained "^\s*%elif\(n\(def\|idn\|num\|str\)\|idni\)\>"hs=e-8 syn match nasmInPreCondit contained "^\s*%elifnidni\>"hs=e-9 syn cluster nasmGrpInPreCondits contains=nasmPreCondit,nasmInPreCondit,nasmCtxPreCondit syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel " Other pre-processor statements syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3 syn match nasmPreProc "^\s*%line\>"hs=e-4 syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5 syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6 syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7 syn match nasmDefine "^\s*%undef\>"hs=e-5 syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6 syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7 syn match nasmDefine "^\s*%unmacro\>"hs=e-7 syn match nasmInclude "^\s*%include\>"hs=e-7 " Todo: Treat the line tail after %fatal, %error, %warning as text " Multiple pre-processor instructions on single line detection (obsolete) "syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+ syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCondits,nasmPreProc,nasmDefine,nasmInclude,nasmPreProcWarn,nasmPreProcError " Register Identifiers: " Register operands: syn match nasmGen08Register "\<[A-D][HL]\>" syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>" syn match nasmGen32Register "\" syn match nasmGen64Register "\" syn match nasmExtRegister "\<\([SB]PL\|[SD]IL\)\>" syn match nasmSegRegister "\<[C-GS]S\>" syn match nasmSpcRegister "\" syn match nasmFpuRegister "\" syn match nasmMmxRegister "\" syn match nasmSseRegister "\" syn match nasmCtrlRegister "\" syn match nasmDebugRegister "\" syn match nasmTestRegister "\" syn match nasmRegisterError "\<\(CR[15-9]\|DR[4-58-9]\|TR[0-28-9]\)\>" syn match nasmRegisterError "\" syn match nasmRegisterError "\\)" syn match nasmRegisterError "\" " Memory reference operand (address): syn match nasmMemRefError "[[\]]" syn cluster nasmGrpCntnMemRef contains=ALLBUT,@nasmGrpComments,@nasmGrpPreProcs,@nasmGrpInStrucs,nasmMemReference,nasmMemRefError syn match nasmInMacMemRef contained "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmInMacLabel,nasmInMacLblWarn,nasmInMacParam syn match nasmMemReference "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmCtxLocLabel " Netwide Assembler Directives: " Compilation constants syn keyword nasmConstant __BITS__ __DATE__ __FILE__ __FORMAT__ __LINE__ syn keyword nasmConstant __NASM_MAJOR__ __NASM_MINOR__ __NASM_VERSION__ syn keyword nasmConstant __TIME__ " Instruction modifiers syn match nasmInstructnError "\" syn match nasmInstrModifier "\(^\|:\)\s*[C-GS]S\>"ms=e-1 syn keyword nasmInstrModifier A16 A32 O16 O32 syn match nasmInstrModifier "\"lc=5,ms=e-1 " the 'to' keyword is not allowed for fpu-pop instructions (yet) "syn match nasmInstrModifier "\"lc=6,ms=e-1 " NAsm directives syn keyword nasmRepeat TIMES syn keyword nasmDirective ALIGN[B] INCBIN EQU NOSPLIT SPLIT syn keyword nasmDirective ABSOLUTE BITS SECTION SEGMENT syn keyword nasmDirective ENDSECTION ENDSEGMENT syn keyword nasmDirective __SECT__ " Macro created standard directives: (requires %include) syn case match syn keyword nasmStdDirective ENDPROC EPILOGUE LOCALS PROC PROLOGUE USES syn keyword nasmStdDirective ENDIF ELSE ELIF ELSIF IF "syn keyword nasmStdDirective BREAK CASE DEFAULT ENDSWITCH SWITCH "syn keyword nasmStdDirective CASE OF ENDCASE syn keyword nasmStdDirective DO ENDFOR ENDWHILE FOR REPEAT UNTIL WHILE EXIT syn case ignore " Format specific directives: (all formats) " (excluded: extension directives to section, global, common and extern) syn keyword nasmFmtDirective ORG syn keyword nasmFmtDirective EXPORT IMPORT GROUP UPPERCASE SEG WRT syn keyword nasmFmtDirective LIBRARY syn case match syn keyword nasmFmtDirective _GLOBAL_OFFSET_TABLE_ __GLOBAL_OFFSET_TABLE_ syn keyword nasmFmtDirective ..start ..got ..gotoff ..gotpc ..plt ..sym syn case ignore " Standard Instructions: syn match nasmInstructnError "\<\(F\=CMOV\|SET\)N\=\a\{0,2}\>" syn keyword nasmInstructnError CMPS MOVS LCS LODS STOS XLAT syn match nasmStdInstruction "\" syn match nasmInstructnError "\\s*[^:]"he=e-1 syn match nasmStdInstruction "\<\(CMOV\|J\|SET\)\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>" syn match nasmStdInstruction "\" syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW CMPSQ syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] CQO syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW IRETQ syn keyword nasmStdInstruction JCXZ JECXZ JMP syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD LODSQ syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVSQ MOVZX MUL NEG NOP NOT syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW POPFQ syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW PUSHFQ syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW STOSQ SUB syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR syn keyword nasmStdInstruction LFENCE MFENCE SFENCE " System Instructions: (usually privileged) " Verification of pointer parameters syn keyword nasmSysInstruction ARPL LAR LSL VERR VERW " Addressing descriptor tables syn keyword nasmSysInstruction LLDT SLDT LGDT SGDT " Multitasking syn keyword nasmSysInstruction LTR STR " Coprocessing and Multiprocessing (requires fpu and multiple cpu's resp.) syn keyword nasmSysInstruction CLTS LOCK WAIT " Input and Output syn keyword nasmInstructnError INS OUTS syn keyword nasmSysInstruction IN INSB INSW INSD OUT OUTSB OUTSB OUTSW OUTSD " Interrupt control syn keyword nasmSysInstruction CLI STI LIDT SIDT " System control syn match nasmSysInstruction "\"me=s+3 syn keyword nasmSysInstruction HLT INVD LMSW syn keyword nasmSseInstruction PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHNTA syn keyword nasmSseInstruction RSM SFENCE SMSW SYSENTER SYSEXIT UD2 WBINVD " TLB (Translation Lookahead Buffer) testing syn match nasmSysInstruction "\"me=s+3 syn keyword nasmSysInstruction INVLPG " Debugging Instructions: (privileged) syn match nasmDbgInstruction "\"me=s+3 syn keyword nasmDbgInstruction INT1 INT3 RDMSR RDTSC RDPMC WRMSR " Floating Point Instructions: (requires FPU) syn match nasmFpuInstruction "\" syn keyword nasmFpuInstruction F2XM1 FABS FADD[P] FBLD FBSTP syn keyword nasmFpuInstruction FCHS FCLEX FCOM[IP] FCOMP[P] FCOS syn keyword nasmFpuInstruction FDECSTP FDISI FDIV[P] FDIVR[P] FENI FFREE syn keyword nasmFpuInstruction FIADD FICOM[P] FIDIV[R] FILD syn keyword nasmFpuInstruction FIMUL FINCSTP FINIT FIST[P] FISUB[R] syn keyword nasmFpuInstruction FLD[1] FLDCW FLDENV FLDL2E FLDL2T FLDLG2 syn keyword nasmFpuInstruction FLDLN2 FLDPI FLDZ FMUL[P] syn keyword nasmFpuInstruction FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE syn keyword nasmFpuInstruction FNSTCW FNSTENV FNSTSW FNSTSW syn keyword nasmFpuInstruction FPATAN FPREM[1] FPTAN FRNDINT FRSTOR syn keyword nasmFpuInstruction FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT syn keyword nasmFpuInstruction FSTCW FSTENV FST[P] FSTSW FSUB[P] FSUBR[P] syn keyword nasmFpuInstruction FTST FUCOM[IP] FUCOMP[P] syn keyword nasmFpuInstruction FXAM FXCH FXTRACT FYL2X FYL2XP1 " Multi Media Xtension Packed Instructions: (requires MMX unit) " Standard MMX instructions: (requires MMX1 unit) syn match nasmInstructnError "\" syn match nasmInstructnError "\" syn keyword nasmMmxInstruction EMMS MOVD MOVQ syn keyword nasmMmxInstruction PACKSSDW PACKSSWB PACKUSWB PADDB PADDD PADDW syn keyword nasmMmxInstruction PADDSB PADDSW PADDUSB PADDUSW PAND[N] syn keyword nasmMmxInstruction PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW syn keyword nasmMmxInstruction PMACHRIW PMADDWD PMULHW PMULLW POR syn keyword nasmMmxInstruction PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW syn keyword nasmMmxInstruction PSUBB PSUBD PSUBW PSUBSB PSUBSW PSUBUSB PSUBUSW syn keyword nasmMmxInstruction PUNPCKHBW PUNPCKHDQ PUNPCKHWD syn keyword nasmMmxInstruction PUNPCKLBW PUNPCKLDQ PUNPCKLWD PXOR " Extended MMX instructions: (requires MMX2/SSE unit) syn keyword nasmMmxInstruction MASKMOVQ MOVNTQ syn keyword nasmMmxInstruction PAVGB PAVGW PEXTRW PINSRW PMAXSW PMAXUB syn keyword nasmMmxInstruction PMINSW PMINUB PMOVMSKB PMULHUW PSADBW PSHUFW " Streaming SIMD Extension Packed Instructions: (requires SSE unit) syn match nasmInstructnError "\" syn match nasmSseInstruction "\" syn keyword nasmSseInstruction ADDPS ADDSS ANDNPS ANDPS syn keyword nasmSseInstruction COMISS CVTPI2PS CVTPS2PI syn keyword nasmSseInstruction CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI syn keyword nasmSseInstruction DIVPS DIVSS FXRSTOR FXSAVE LDMXCSR syn keyword nasmSseInstruction MAXPS MAXSS MINPS MINSS MOVAPS MOVHLPS MOVHPS syn keyword nasmSseInstruction MOVLHPS MOVLPS MOVMSKPS MOVNTPS MOVSS MOVUPS syn keyword nasmSseInstruction MULPS MULSS syn keyword nasmSseInstruction ORPS RCPPS RCPSS RSQRTPS RSQRTSS syn keyword nasmSseInstruction SHUFPS SQRTPS SQRTSS STMXCSR SUBPS SUBSS syn keyword nasmSseInstruction UCOMISS UNPCKHPS UNPCKLPS XORPS " Three Dimensional Now Packed Instructions: (requires 3DNow! unit) syn keyword nasmNowInstruction FEMMS PAVGUSB PF2ID PFACC PFADD PFCMPEQ PFCMPGE syn keyword nasmNowInstruction PFCMPGT PFMAX PFMIN PFMUL PFRCP PFRCPIT1 syn keyword nasmNowInstruction PFRCPIT2 PFRSQIT1 PFRSQRT PFSUB[R] PI2FD syn keyword nasmNowInstruction PMULHRWA PREFETCH[W] " Vendor Specific Instructions: " Cyrix instructions (requires Cyrix processor) syn keyword nasmCrxInstruction PADDSIW PAVEB PDISTIB PMAGW PMULHRW[C] PMULHRIW syn keyword nasmCrxInstruction PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW syn keyword nasmCrxInstruction RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS syn keyword nasmCrxInstruction WRSHR " AMD instructions (requires AMD processor) syn keyword nasmAmdInstruction SYSCALL SYSRET " Undocumented Instructions: syn match nasmUndInstruction "\"me=s+3 syn keyword nasmUndInstruction CMPXCHG486 IBTS ICEBP INT01 INT03 LOADALL syn keyword nasmUndInstruction LOADALL286 LOADALL386 SALC SMI UD1 UMOV XBTS " Synchronize Syntax: syn sync clear syn sync minlines=50 "for multiple region nesting syn sync match nasmSync grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1 syn sync match nasmSync grouphere NONE "^\s*%endmacro\>" " Define the default highlighting. " Only when an item doesn't have highlighting yet " Sub Links: hi def link nasmInMacDirective nasmDirective hi def link nasmInMacLabel nasmLocalLabel hi def link nasmInMacLblWarn nasmLabelWarn hi def link nasmInMacMacro nasmMacro hi def link nasmInMacParam nasmMacro hi def link nasmInMacParamNum nasmDecNumber hi def link nasmInMacPreCondit nasmPreCondit hi def link nasmInMacPreProc nasmPreProc hi def link nasmInPreCondit nasmPreCondit hi def link nasmInStructure nasmStructure hi def link nasmStructureLabel nasmStructure " Comment Group: hi def link nasmComment Comment hi def link nasmSpecialComment SpecialComment hi def link nasmInCommentTodo Todo " Constant Group: hi def link nasmString String hi def link nasmCString String hi def link nasmStringError Error hi def link nasmCStringEscape SpecialChar hi def link nasmCStringFormat SpecialChar hi def link nasmBinNumber Number hi def link nasmOctNumber Number hi def link nasmDecNumber Number hi def link nasmHexNumber Number hi def link nasmFltNumber Float hi def link nasmNumberError Error " Identifier Group: hi def link nasmLabel Identifier hi def link nasmLocalLabel Identifier hi def link nasmSpecialLabel Special hi def link nasmLabelError Error hi def link nasmLabelWarn Todo " PreProc Group: hi def link nasmPreProc PreProc hi def link nasmDefine Define hi def link nasmInclude Include hi def link nasmMacro Macro hi def link nasmPreCondit PreCondit hi def link nasmPreProcError Error hi def link nasmPreProcWarn Todo " Type Group: hi def link nasmType Type hi def link nasmStorage StorageClass hi def link nasmStructure Structure hi def link nasmTypeError Error " Directive Group: hi def link nasmConstant Constant hi def link nasmInstrModifier Operator hi def link nasmRepeat Repeat hi def link nasmDirective Keyword hi def link nasmStdDirective Operator hi def link nasmFmtDirective Keyword " Register Group: hi def link nasmCtrlRegister Special hi def link nasmDebugRegister Debug hi def link nasmTestRegister Special hi def link nasmRegisterError Error hi def link nasmMemRefError Error " Instruction Group: hi def link nasmStdInstruction Statement hi def link nasmSysInstruction Statement hi def link nasmDbgInstruction Debug hi def link nasmFpuInstruction Statement hi def link nasmMmxInstruction Statement hi def link nasmSseInstruction Statement hi def link nasmNowInstruction Statement hi def link nasmAmdInstruction Special hi def link nasmCrxInstruction Special hi def link nasmUndInstruction Todo hi def link nasmInstructnError Error let b:current_syntax = "nasm" " vim:ts=8 sw=4