Advertisement
Guest User

asm.hrc

a guest
Mar 22nd, 2015
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 44.78 KB | None | 0 0
  1. <?xml version="1.0" encoding='Windows-1251'?>
  2. <!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  3.  "http://colorer.sf.net/2003/hrc.dtd">
  4. <hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
  5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6.     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
  7.  
  8.   <type name="asm">
  9.     <annotation><documentation>
  10.       Assembler Syntax v2.0
  11.     </documentation><contributors><![CDATA[
  12.      KiLL Zlotnikoff <e1a29df@quake.ru>
  13.      Ilgar Veliev <sigma@ntgres.pssr.ru>
  14.      Dmitriy Volkov <werewolf@atnet.ru>
  15.      Timur Safin <timur@lanit.ru>
  16.      cail: rearranged with schemes, added
  17.      cyrix, amd, NASM (Netwide Assembler) features.
  18.      Nosov Konstantin <k_nosov@chat.ru>
  19.      NASM has a WWW page at http://www.cryogen.com/Nasm
  20.      Alexander Voronenko <Alexander.Voronenko@p47.f100.n452.z2.fidonet.org>
  21.    ]]></contributors></annotation>
  22.  
  23.     <import type="def"/>
  24.  
  25.     <region name="asmString"  parent="String"/>
  26.     <region name="asmComment" parent="Comment"/>
  27.     <region name="asmToDo"    parent="TODO"/>
  28.     <region name="asmDefinition" parent="Directive"/>
  29.     <region name="asmDirective"  parent="Directive"/>
  30.     <region name="asmMnemonics"  parent="Keyword"/>
  31.     <region name="asmLabel"  parent="Label"/>
  32.     <region name="LabelOutline"  parent="Outlined"/>
  33.     <region name="asmSymbol" parent="def:Symbol"/>
  34.     <region name="asmNumBin" parent="NumberBin"/>
  35.     <region name="asmNumHex" parent="NumberHex"/>
  36.     <region name="asmNumDec" parent="NumberDec"/>
  37.     <region name="asmNumOct" parent="NumberOct"/>
  38.     <region name="asmRegister" parent="Register"/>
  39.     <region name="asmiBase" parent="asmMnemonics"/>
  40.     <region name="asmiProt" parent="asmMnemonics"/>
  41.     <region name="asmiFPU" parent="asmMnemonics"/>
  42.     <region name="asmiMMX" parent="asmMnemonics"/>
  43.     <region name="asmiSSE" parent="asmMnemonics"/>
  44.     <region name="asmiCyrix" parent="KeywordStrong"/>
  45.     <region name="asmi3dnow" parent="KeywordStrong"/>
  46.     <region name="asmiAMD" parent="KeywordStrong"/>
  47.     <region name="asmiUndoc" parent="KeywordStrong"/>
  48.  
  49.     <scheme name="asm_registers">
  50.       <regexp match="/\b(st(\(\s*([0-7])\s*\))?)\b/i" region0="asmRegister" region3="asmNumDec"/>
  51.       <regexp match="/\b[dtc]r[0-7]\b/i" region0="asmRegister"/>
  52.       <regexp match="/\bx?mm[0-7]\b/i" region0="asmRegister"/>
  53.       <keywords ignorecase="yes" region="asmRegister">
  54.  
  55.         <word name="XMM0"/>
  56.         <word name="XMM1"/>
  57.         <word name="XMM2"/>
  58.         <word name="XMM3"/>
  59.         <word name="XMM4"/>
  60.         <word name="XMM5"/>
  61.         <word name="XMM6"/>
  62.         <word name="XMM7"/>
  63.         <word name="XMM8"/>
  64.         <word name="XMM9"/>
  65.         <word name="XMM10"/>
  66.         <word name="XMM11"/>
  67.         <word name="XMM12"/>
  68.         <word name="XMM13"/>
  69.         <word name="XMM14"/>
  70.         <word name="XMM15"/>
  71.  
  72.         <word name="rax"/>
  73.         <word name="rbx"/>
  74.         <word name="rcx"/>
  75.         <word name="rdx"/>
  76.         <word name="rsi"/>
  77.         <word name="rdi"/>
  78.         <word name="rbp"/>
  79.         <word name="rsp"/>
  80.  
  81.         <word name="r8"/>
  82.         <word name="r9"/>
  83.         <word name="r10"/>
  84.         <word name="r11"/>
  85.         <word name="r12"/>
  86.         <word name="r13"/>
  87.         <word name="r14"/>
  88.         <word name="r15"/>
  89.  
  90.         <word name="eax"/>
  91.         <word name="ebx"/>
  92.         <word name="ecx"/>
  93.         <word name="edx"/>
  94.         <word name="esi"/>
  95.         <word name="edi"/>
  96.         <word name="ebp"/>
  97.         <word name="esp"/>
  98.  
  99.         <word name="r8d"/>
  100.         <word name="r9d"/>
  101.         <word name="r10d"/>
  102.         <word name="r11d"/>
  103.         <word name="r12d"/>
  104.         <word name="r13d"/>
  105.         <word name="r14d"/>
  106.         <word name="r15d"/>
  107.  
  108.         <word name="ax"/>
  109.         <word name="bx"/>
  110.         <word name="cx"/>
  111.         <word name="dx"/>
  112.         <word name="si"/>
  113.         <word name="di"/>
  114.         <word name="bp"/>
  115.         <word name="sp"/>
  116.  
  117.         <word name="r8w"/>
  118.         <word name="r9w"/>
  119.         <word name="r10w"/>
  120.         <word name="r11w"/>
  121.         <word name="r12w"/>
  122.         <word name="r13w"/>
  123.         <word name="r14w"/>
  124.         <word name="r15w"/>
  125.  
  126.         <word name="sil"/>
  127.         <word name="dil"/>
  128.         <word name="bpl;"/>
  129.         <word name="spl"/>
  130.  
  131.         <word name="r8b"/>
  132.         <word name="r9b"/>
  133.         <word name="r10b"/>
  134.         <word name="r11b"/>
  135.         <word name="r12b"/>
  136.         <word name="r13b"/>
  137.         <word name="r14b"/>
  138.         <word name="r15b"/>
  139.  
  140.         <word name="al"/>
  141.         <word name="bl"/>
  142.         <word name="cl"/>
  143.         <word name="dl"/>
  144.  
  145.         <word name="ah"/>
  146.         <word name="bh"/>
  147.         <word name="ch"/>
  148.         <word name="dh"/>
  149.  
  150.         <word name="cs"/>
  151.         <word name="ds"/>
  152.         <word name="es"/>
  153.         <word name="gs"/>
  154.         <word name="ss"/>
  155.         <word name="fs"/>
  156.       </keywords>
  157.     </scheme>
  158.     <scheme name="asm_shared">
  159.       <keywords ignorecase="yes" region="asmDefinition">
  160.         <word name="align"/>
  161.         <word name="db"/>
  162.         <word name="dd"/>
  163.         <word name="dq"/>
  164.         <word name="dw"/>
  165.         <word name="df"/>
  166.         <word name="dt"/>
  167.         <word name="equ"/>
  168.         <word name="dup"/>
  169.         <word name="label"/>
  170.         <word name="public"/>
  171.       </keywords>
  172.       <keywords ignorecase="yes" region="asmMnemonics">
  173.         <word name="byte"/>
  174.         <word name="dword"/>
  175.         <word name="fword"/>
  176.         <word name="near"/>
  177.         <word name="far"/>
  178.         <word name="near16"/>
  179.         <word name="far16"/>
  180.         <word name="near32"/>
  181.         <word name="far32"/>
  182.         <word name="offset"/>
  183.         <word name="short"/>
  184.         <word name="ptr"/>
  185.         <word name="qword"/>
  186.         <word name="tword"/>
  187.         <word name="returns"/>
  188.         <word name="word"/>
  189.       </keywords>
  190.     </scheme>
  191.     <scheme name="asm_tasm">
  192.       <regexp match="/\?debug.*$/" region0="asmComment"/>
  193.       <regexp match="/[\.p]\d{1,2}86[pPcC]?/" region0="asmDefinition"/>
  194.       <keywords ignorecase="yes" region="asmDefinition">
  195.         <word name="%pnct"/>
  196.         <word name=".alpha"/>
  197.         <word name=".break"/>
  198.         <word name=".code"/>
  199.         <word name=".const"/>
  200.         <word name=".continue"/>
  201.         <word name=".cref"/>
  202.         <word name=".data"/>
  203.         <word name=".data?"/>
  204.         <word name=".dosseg"/>
  205.         <word name=".else"/>
  206.         <word name=".elseif"/>
  207.         <word name=".endif"/>
  208.         <word name=".endw"/>
  209.         <word name=".err"/>
  210.         <word name=".err1"/>
  211.         <word name=".err2"/>
  212.         <word name=".errb"/>
  213.         <word name=".errdef"/>
  214.         <word name=".errdif"/>
  215.         <word name=".errdifi"/>
  216.         <word name=".erre"/>
  217.         <word name=".erridn"/>
  218.         <word name=".erridni"/>
  219.         <word name=".errnb"/>
  220.         <word name=".errndef"/>
  221.         <word name=".errnz"/>
  222.         <word name=".exit"/>
  223.         <word name=".fardata"/>
  224.         <word name=".fardata?"/>
  225.         <word name=".if"/>
  226.         <word name=".lall"/>
  227.         <word name=".lfcond"/>
  228.         <word name=".list"/>
  229.         <word name=".listall"/>
  230.         <word name=".listif"/>
  231.         <word name=".listmacro"/>
  232.         <word name=".listmacroall"/>
  233.         <word name=".mmx"/>
  234.         <word name=".model"/>
  235.         <word name=".nocref"/>
  236.         <word name=".nolist"/>
  237.         <word name=".nolistif"/>
  238.         <word name=".nolistmacro"/>
  239.         <word name=".nommx"/>
  240.         <word name=".radix"/>
  241.         <word name=".repeat"/>
  242.         <word name=".sall"/>
  243.         <word name=".seq"/>
  244.         <word name=".sfcond"/>
  245.         <word name=".stack"/>
  246.         <word name=".startup"/>
  247.         <word name=".tfcond"/>
  248.         <word name=".type"/>
  249.         <word name=".until"/>
  250.         <word name=".untilcxz"/>
  251.         <word name=".while"/>
  252.         <word name=".xall"/>
  253.         <word name=".xcref"/>
  254.         <word name=".xlist"/>
  255.         <word name="??date"/>
  256.         <word name="??filename"/>
  257.         <word name="??time"/>
  258.         <word name="??version"/>
  259.         <word name="@code"/>
  260.         <word name="@codesize"/>
  261.         <word name="@cpu"/>
  262.         <word name="@curseg"/>
  263.         <word name="@data"/>
  264.         <word name="@datasize"/>
  265.         <word name="@fardata"/>
  266.         <word name="@fardata?"/>
  267.         <word name="@filename"/>
  268.         <word name="@model"/>
  269.         <word name="@startua"/>
  270.         <word name="@wordsize"/>
  271.         <word name="abs"/>
  272.         <word name="addr"/>
  273.         <word name="alias"/>
  274.         <word name="arg"/>
  275.         <word name="assume"/>
  276.         <word name="basic"/>
  277.         <word name="byte"/>
  278.         <word name="c"/>
  279.         <word name="carry?"/>
  280.         <word name="casemap"/>
  281.         <word name="catstr"/>
  282.         <word name="code"/>
  283.         <word name="codeptr"/>
  284.         <word name="codeseg"/>
  285.         <word name="comm"/>
  286.         <word name="comment"/>
  287.         <word name="common"/>
  288.         <word name="compact"/>
  289.         <word name="const"/>
  290.         <word name="cpp"/>
  291.         <word name="curseg"/>
  292.         <word name="data"/>
  293.         <word name="dataptr"/>
  294.         <word name="dataseg"/>
  295.         <word name="display"/>
  296.         <word name="dosseg"/>
  297.         <word name="dword"/>
  298.         <word name="echo"/>
  299.         <word name="elif"/>
  300.         <word name="else"/>
  301.         <word name="elseif"/>
  302.         <word name="elseif1"/>
  303.         <word name="elseif2"/>
  304.         <word name="elseifb"/>
  305.         <word name="elseifdef"/>
  306.         <word name="elseifdif"/>
  307.         <word name="elseifdifi"/>
  308.         <word name="elseife"/>
  309.         <word name="elseifidn"/>
  310.         <word name="elseifidni"/>
  311.         <word name="elseifnb"/>
  312.         <word name="elseifndef"/>
  313.         <word name="emul"/>
  314.         <word name="end"/>
  315.         <word name="endif"/>
  316.         <word name="endm"/>
  317.         <word name="endp"/>
  318.         <word name="ends"/>
  319.         <word name="endstruc"/>
  320.         <word name="enterd"/>
  321.         <word name="enterw"/>
  322.         <word name="enum"/>
  323.         <word name="eq"/>
  324.         <word name="equ"/>
  325.         <word name="err"/>
  326.         <word name="errdif"/>
  327.         <word name="errdifi"/>
  328.         <word name="erre"/>
  329.         <word name="erridn"/>
  330.         <word name="erridni"/>
  331.         <word name="errif"/>
  332.         <word name="errif1"/>
  333.         <word name="errif2"/>
  334.         <word name="errifb"/>
  335.         <word name="errifdef"/>
  336.         <word name="errifdif"/>
  337.         <word name="errifdifi"/>
  338.         <word name="errife"/>
  339.         <word name="errifidn"/>
  340.         <word name="errifidni"/>
  341.         <word name="errifnb"/>
  342.         <word name="errifndef"/>
  343.         <word name="errnb"/>
  344.         <word name="errndef"/>
  345.         <word name="errnz"/>
  346.         <word name="even"/>
  347.         <word name="evendata"/>
  348.         <word name="exitcode"/>
  349.         <word name="exitm"/>
  350.         <word name="export"/>
  351.         <word name="extern"/>
  352.         <word name="externdef"/>
  353.         <word name="extrn"/>
  354.         <word name="false"/>
  355.         <word name="far"/>
  356.         <word name="far16"/>
  357.         <word name="far32"/>
  358.         <word name="fardata"/>
  359.         <word name="fastimul"/>
  360.         <word name="flat"/>
  361.         <word name="fldenvd"/>
  362.         <word name="fldenvw"/>
  363.         <word name="flipflag"/>
  364.         <word name="fnldenv"/>
  365.         <word name="fnrstor"/>
  366.         <word name="fnsaved"/>
  367.         <word name="fnsavew"/>
  368.         <word name="fnstenvd"/>
  369.         <word name="fnstenvw"/>
  370.         <word name="for"/>
  371.         <word name="forc"/>
  372.         <word name="fortran"/>
  373.         <word name="frstord"/>
  374.         <word name="frstorw"/>
  375.         <word name="fsaved"/>
  376.         <word name="fsavew"/>
  377.         <word name="fstenvd"/>
  378.         <word name="fstenvw"/>
  379.         <word name="fword"/>
  380.         <word name="ge"/>
  381.         <word name="getfield"/>
  382.         <word name="global"/>
  383.         <word name="goto"/>
  384.         <word name="group"/>
  385.         <word name="gt"/>
  386.         <word name="high"/>
  387.         <word name="huge"/>
  388.         <word name="ideal"/>
  389.         <word name="if"/>
  390.         <word name="if0"/>
  391.         <word name="if1"/>
  392.         <word name="if2"/>
  393.         <word name="ifb"/>
  394.         <word name="ifdef"/>
  395.         <word name="ifdif"/>
  396.         <word name="ifdifi"/>
  397.         <word name="ifdifs"/>
  398.         <word name="ife"/>
  399.         <word name="ifeq"/>
  400.         <word name="ifidn"/>
  401.         <word name="ifidni"/>
  402.         <word name="iflow"/>
  403.         <word name="ifnb"/>
  404.         <word name="ifndef"/>
  405.         <word name="ifneq"/>
  406.         <word name="ifnidn"/>
  407.         <word name="include"/>
  408.         <word name="includelib"/>
  409.         <word name="instr"/>
  410.         <word name="invoke"/>
  411.         <word name="iretdf"/>
  412.         <word name="iretf"/>
  413.         <word name="iretw"/>
  414.         <word name="irp"/>
  415.         <word name="irpc"/>
  416.         <word name="label"/>
  417.         <word name="large"/>
  418.         <word name="largestack"/>
  419.         <word name="le"/>
  420.         <word name="leaved"/>
  421.         <word name="leavew"/>
  422.         <word name="length"/>
  423.         <word name="local"/>
  424.         <word name="locals"/>
  425.         <word name="looped"/>
  426.         <word name="loopew"/>
  427.         <word name="loopned"/>
  428.         <word name="loopnew"/>
  429.         <word name="loopnzd"/>
  430.         <word name="loopnzw"/>
  431.         <word name="loopzd"/>
  432.         <word name="loopzw"/>
  433.         <word name="low"/>
  434.         <word name="lt"/>
  435.         <word name="macro"/>
  436.         <word name="macro"/>
  437.         <word name="mask"/>
  438.         <word name="maskflag"/>
  439.         <word name="masm"/>
  440.         <word name="masm51"/>
  441.         <word name="medium"/>
  442.         <word name="memory"/>
  443.         <word name="method"/>
  444.         <word name="model"/>
  445.         <word name="multerrs"/>
  446.         <word name="name"/>
  447.         <word name="ne"/>
  448.         <word name="near"/>
  449.         <word name="near16"/>
  450.         <word name="near32"/>
  451.         <word name="noemul"/>
  452.         <word name="nojumps"/>
  453.         <word name="nolanguage"/>
  454.         <word name="nolocals"/>
  455.         <word name="nomasm51"/>
  456.         <word name="nomulterrs"/>
  457.         <word name="none"/>
  458.         <word name="normal"/>
  459.         <word name="nosmart"/>
  460.         <word name="nothing"/>
  461.         <word name="nowarn"/>
  462.         <word name="oddfar"/>
  463.         <word name="oddnear"/>
  464.         <word name="option"/>
  465.         <word name="org"/>
  466.         <word name="overflow?"/>
  467.         <word name="page"/>
  468.         <word name="para"/>
  469.         <word name="parity?"/>
  470.         <word name="pascal"/>
  471.         <word name="pmmx"/>
  472.         <word name="pnommx"/>
  473.         <word name="popaw"/>
  474.         <word name="popfw"/>
  475.         <word name="popstate"/>
  476.         <word name="private"/>
  477.         <word name="proc"/>
  478.         <word name="procdesc"/>
  479.         <word name="proctype"/>
  480.         <word name="prolog"/>
  481.         <word name="proto"/>
  482.         <word name="publicdll"/>
  483.         <word name="purge"/>
  484.         <word name="pushaw"/>
  485.         <word name="pushd"/>
  486.         <word name="pushfw"/>
  487.         <word name="pushstate"/>
  488.         <word name="pushw"/>
  489.         <word name="pword"/>
  490.         <word name="quirks"/>
  491.         <word name="qword"/>
  492.         <word name="radix"/>
  493.         <word name="real10"/>
  494.         <word name="real4"/>
  495.         <word name="real8"/>
  496.         <word name="record"/>
  497.         <word name="repeat"/>
  498.         <word name="rept"/>
  499.         <word name="retcode"/>
  500.         <word name="returns"/>
  501.         <word name="sbyte"/>
  502.         <word name="sbyte"/>
  503.         <word name="sdword"/>
  504.         <word name="seg"/>
  505.         <word name="segment"/>
  506.         <word name="setfield"/>
  507.         <word name="setflag"/>
  508.         <word name="sign?"/>
  509.         <word name="sign?"/>
  510.         <word name="size"/>
  511.         <word name="sizestr"/>
  512.         <word name="small"/>
  513.         <word name="smallstack"/>
  514.         <word name="smart"/>
  515.         <word name="stack"/>
  516.         <word name="stackalign"/>
  517.         <word name="stackunalign"/>
  518.         <word name="startupcode"/>
  519.         <word name="stdcall"/>
  520.         <word name="struc"/>
  521.         <word name="struct"/>
  522.         <word name="substr"/>
  523.         <word name="subtitle"/>
  524.         <word name="subttl"/>
  525.         <word name="sword"/>
  526.         <word name="symtype"/>
  527.         <word name="syscall"/>
  528.         <word name="table"/>
  529.         <word name="tblinit"/>
  530.         <word name="tblptr"/>
  531.         <word name="tbyte"/>
  532.         <word name="tchuge"/>
  533.         <word name="testflag"/>
  534.         <word name="textequ"/>
  535.         <word name="this"/>
  536.         <word name="tiny"/>
  537.         <word name="title"/>
  538.         <word name="tpascal"/>
  539.         <word name="true"/>
  540.         <word name="type"/>
  541.         <word name="typedef"/>
  542.         <word name="udataseg"/>
  543.         <word name="ufardata"/>
  544.         <word name="unicode"/>
  545.         <word name="union"/>
  546.         <word name="unknown"/>
  547.         <word name="use16"/>
  548.         <word name="use32"/>
  549.         <word name="uses"/>
  550.         <word name="version"/>
  551.         <word name="warn"/>
  552.         <word name="while"/>
  553.         <word name="width"/>
  554.         <word name="windows"/>
  555.         <word name="with"/>
  556.         <word name="word"/>
  557.         <word name="zero?"/>
  558.       </keywords>
  559.     </scheme>
  560.     <scheme name="asm_nasm">
  561.       <keywords ignorecase="yes" region="asmDefinition">
  562.         <word name="resb"/>
  563.         <word name="resw"/>
  564.         <word name="resd"/>
  565.         <word name="resq"/>
  566.         <word name="rest"/>
  567.         <word name="incbin"/>
  568.         <word name="times"/>
  569.         <word name="struc"/>
  570.         <word name="endstruc"/>
  571.         <word name="istruc"/>
  572.         <word name="iend"/>
  573.         <word name="at"/>
  574.         <word name="align"/>
  575.         <word name="alignb"/>
  576.         <word name="bits"/>
  577.         <word name="section"/>
  578.         <word name="segment"/>
  579.         <word name="__SECT__"/>
  580.         <word name="absolute"/>
  581.         <word name="extern"/>
  582.         <word name="global"/>
  583.         <word name="common"/>
  584.         <word name="uppercase"/>
  585.         <word name="import"/>
  586.         <word name="export"/>
  587.       </keywords>
  588.     </scheme>
  589.     <scheme name="asm_jumps">
  590.       <regexp match="/(\s+(near|short|far))/i" region0="asmMnemonics"/>
  591.       <keywords ignorecase="yes" region="asmiBase">
  592.         <word name="JA"/>
  593.         <word name="JAE"/>
  594.         <word name="JB"/>
  595.         <word name="JBE"/>
  596.         <word name="JC"/>
  597.         <word name="JCXZ"/>
  598.         <word name="JE"/>
  599.         <word name="JECXZ"/>
  600.         <word name="JG"/>
  601.         <word name="JGE"/>
  602.         <word name="JL"/>
  603.         <word name="JLE"/>
  604.         <word name="JMP"/>
  605.         <word name="JNA"/>
  606.         <word name="JNAE"/>
  607.         <word name="JNB"/>
  608.         <word name="JNBE"/>
  609.         <word name="JNC"/>
  610.         <word name="JNE"/>
  611.         <word name="JNG"/>
  612.         <word name="JNGE"/>
  613.         <word name="JNL"/>
  614.         <word name="JNLE"/>
  615.         <word name="JNO"/>
  616.         <word name="JNP"/>
  617.         <word name="JNS"/>
  618.         <word name="JNZ"/>
  619.         <word name="JO"/>
  620.         <word name="JP"/>
  621.         <word name="JPE"/>
  622.         <word name="JPO"/>
  623.         <word name="JS"/>
  624.         <word name="JZ"/>
  625.         <word name="JCXZ"/>
  626.         <word name="JECXZ"/>
  627.         <word name="JMP"/>
  628.         <word name="CALL"/>
  629.         <word name='LOOP'/>
  630.         <word name='LOOPE'/>
  631.         <word name='LOOPNE'/>
  632.         <word name='LOOPNZ'/>
  633.         <word name='LOOPZ'/>
  634.       </keywords>
  635.     </scheme>
  636.  
  637.     <scheme name="asm_base">
  638.       <!-- cail: this enables labels highlighting with all
  639.       jump-like instructions. really hard -->
  640.       <block start="/\M \b(j[ABCEGLMNOPSUXZabceglmnopsuxz]+?|call|loop[EeNnZz]{,2}) \s*
  641.                     (near|far|short|) \s+
  642.                     (near|far|short)?![\w\$\~\@\#\%\?\.\-\+]+/xi"
  643.             end="/\s+ ([\w\$\~\@\#\%\?\.\-\+]+)/x" scheme="asm_jumps"
  644.             region11="asmLabel"/>
  645.       <keywords ignorecase="yes" region="asmiBase">
  646.         <word name="AAA"/>
  647.         <word name="AAD"/>
  648.         <word name="AAM"/>
  649.         <word name="AAS"/>
  650.         <word name="ADC"/>
  651.         <word name="ADD"/>
  652.         <word name="AND"/>
  653.         <word name="BOUND"/>
  654.         <word name="BSF"/>
  655.         <word name="BSR"/>
  656.         <word name="BSWAP"/>
  657.         <word name="BT"/>
  658.         <word name="BTC"/>
  659.         <word name="BTR"/>
  660.         <word name="BTS"/>
  661.         <word name="CBW"/>
  662.         <word name="CDQ"/>
  663.         <word name="CLC"/>
  664.         <word name="CLD"/>
  665.         <word name="CLI"/>
  666.         <word name="CMC"/>
  667.         <word name="CMOVA"/>
  668.         <word name="CMOVAE"/>
  669.         <word name="CMOVB"/>
  670.         <word name="CMOVBE"/>
  671.         <word name="CMOVC"/>
  672.         <word name="CMOVE"/>
  673.         <word name="CMOVG"/>
  674.         <word name="CMOVGE"/>
  675.         <word name="CMOVL"/>
  676.         <word name="CMOVLE"/>
  677.         <word name="CMOVNA"/>
  678.         <word name="CMOVNAE"/>
  679.         <word name="CMOVNB"/>
  680.         <word name="CMOVNBE"/>
  681.         <word name="CMOVNC"/>
  682.         <word name="CMOVNE"/>
  683.         <word name="CMOVNG"/>
  684.         <word name="CMOVNGE"/>
  685.         <word name="CMOVNL"/>
  686.         <word name="CMOVNLE"/>
  687.         <word name="CMOVNO"/>
  688.         <word name="CMOVNP"/>
  689.         <word name="CMOVNS"/>
  690.         <word name="CMOVNZ"/>
  691.         <word name="CMOVO"/>
  692.         <word name="CMOVP"/>
  693.         <word name="CMOVPE"/>
  694.         <word name="CMOVPO"/>
  695.         <word name="CMOVS"/>
  696.         <word name="CMOVZ"/>
  697.         <word name="CMP"/>
  698.         <word name="CMPSB"/>
  699.         <word name="CMPSD"/>
  700.         <word name="CMPSW"/>
  701.         <word name="CMPXCHG"/>
  702.         <word name="CMPXCHG8B"/>
  703.         <word name="CPUID"/>
  704.         <word name="CWD"/>
  705.         <word name="CWDE"/>
  706.         <word name="DAA"/>
  707.         <word name="DAS"/>
  708.         <word name="DB"/>
  709.         <word name="DD"/>
  710.         <word name="DEC"/>
  711.         <word name="DIV"/>
  712.         <word name="DQ"/>
  713.         <word name="DT"/>
  714.         <word name="DW"/>
  715.         <word name="ENTER"/>
  716.         <word name="EQU"/>
  717.         <word name="IDIV"/>
  718.         <word name="IMUL"/>
  719.         <word name="IN"/>
  720.         <word name="INC"/>
  721.         <word name="INCBIN"/>
  722.         <word name="INSB"/>
  723.         <word name="INSD"/>
  724.         <word name="INSW"/>
  725.         <word name="INT"/>
  726.         <word name="INT1"/>
  727.         <word name="INT3"/>
  728.         <word name="INTO"/>
  729.         <word name="IRET"/>
  730.         <word name="IRETD"/>
  731.         <word name="IRETW"/>
  732.         <!-- really you can enable this
  733.    <word name="JA"/>
  734.    <word name="JAE"/>
  735.    <word name="JB"/>
  736.    <word name="JBE"/>
  737.    <word name="JC"/>
  738.    <word name="JCXZ"/>
  739.    <word name="JE"/>
  740.    <word name="JECXZ"/>
  741.    <word name="JG"/>
  742.    <word name="JGE"/>
  743.    <word name="JL"/>
  744.    <word name="JLE"/>
  745.    <word name="JMP"/>
  746.    <word name="JNA"/>
  747.    <word name="JNAE"/>
  748.    <word name="JNB"/>
  749.    <word name="JNBE"/>
  750.    <word name="JNC"/>
  751.    <word name="JNE"/>
  752.    <word name="JNG"/>
  753.    <word name="JNGE"/>
  754.    <word name="JNL"/>
  755.    <word name="JNLE"/>
  756.    <word name="JNO"/>
  757.    <word name="JNP"/>
  758.    <word name="JNS"/>
  759.    <word name="JNZ"/>
  760.    <word name="JO"/>
  761.    <word name="JP"/>
  762.    <word name="JPE"/>
  763.    <word name="JPO"/>
  764.    <word name="JS"/>
  765.    <word name="JZ"/>
  766.    <word name='JCXZ'/>
  767.    <word name='JECXZ'/>
  768.    <word name='JMP'/>
  769. -->
  770.         <word name="LAHF"/>
  771.         <word name="LDS"/>
  772.         <word name="LEA"/>
  773.         <word name="LEAVE"/>
  774.         <word name="LES"/>
  775.         <word name="LFS"/>
  776.         <word name="LGS"/>
  777.         <word name="LODSB"/>
  778.         <word name="LODSD"/>
  779.         <word name="LODSW"/>
  780.         <word name="LOOP"/>
  781.         <word name="LOOPE"/>
  782.         <word name="LOOPNE"/>
  783.         <word name="LOOPNZ"/>
  784.         <word name="LOOPZ"/>
  785.         <word name="LSS"/>
  786.         <word name="MOV"/>
  787.         <word name="MOVS"/>
  788.         <word name="MOVUPS"/>
  789.         <word name="MOVSB"/>
  790.         <word name="MOVSD"/>
  791.         <word name="MOVSW"/>
  792.         <word name="MOVSX"/>
  793.         <word name="MOVZX"/>
  794.         <word name="MUL"/>
  795.         <word name="NEG"/>
  796.         <word name="NOP"/>
  797.         <word name="NOT"/>
  798.         <word name="OR"/>
  799.         <word name="OUT"/>
  800.         <word name="OUTSB"/>
  801.         <word name="OUTSD"/>
  802.         <word name="OUTSW"/>
  803.         <word name="POP"/>
  804.         <word name="POPA"/>
  805.         <word name="POPAD"/>
  806.         <word name="POPAW"/>
  807.         <word name="POPF"/>
  808.         <word name="POPFD"/>
  809.         <word name="POPFW"/>
  810.         <word name="PREFETCHNTA"/>
  811.         <word name="PREFETCHT0"/>
  812.         <word name="PREFETCHT1"/>
  813.         <word name="PREFETCHT2"/>
  814.         <word name="PUSH"/>
  815.         <word name="PUSHA"/>
  816.         <word name="PUSHAD"/>
  817.         <word name="PUSHAW"/>
  818.         <word name="PUSHF"/>
  819.         <word name="PUSHFD"/>
  820.         <word name="PUSHFW"/>
  821.         <word name="RCL"/>
  822.         <word name="RCR"/>
  823.         <word name="RDPMC"/>
  824.         <word name="RDTSC"/>
  825.         <word name="REP"/>
  826.         <word name="REPE"/>
  827.         <word name="REPNE"/>
  828.         <word name="REPNZ"/>
  829.         <word name="REPZ"/>
  830.         <word name="RESB"/>
  831.         <word name="RESD"/>
  832.         <word name="RESQ"/>
  833.         <word name="REST"/>
  834.         <word name="RESW"/>
  835.         <word name="RET"/>
  836.         <word name="RETF"/>
  837.         <word name="RETN"/>
  838.         <word name="ROL"/>
  839.         <word name="ROR"/>
  840.         <word name="SAHF"/>
  841.         <word name="SAR"/>
  842.         <word name="SBB"/>
  843.         <word name="SCASB"/>
  844.         <word name="SCASD"/>
  845.         <word name="SCASW"/>
  846.         <word name="SETA"/>
  847.         <word name="SETAE"/>
  848.         <word name="SETB"/>
  849.         <word name="SETBE"/>
  850.         <word name="SETC"/>
  851.         <word name="SETE"/>
  852.         <word name="SETG"/>
  853.         <word name="SETGE"/>
  854.         <word name="SETL"/>
  855.         <word name="SETLE"/>
  856.         <word name="SETNA"/>
  857.         <word name="SETNAE"/>
  858.         <word name="SETNB"/>
  859.         <word name="SETNBE"/>
  860.         <word name="SETNC"/>
  861.         <word name="SETNE"/>
  862.         <word name="SETNG"/>
  863.         <word name="SETNGE"/>
  864.         <word name="SETNL"/>
  865.         <word name="SETNLE"/>
  866.         <word name="SETNO"/>
  867.         <word name="SETNP"/>
  868.         <word name="SETNS"/>
  869.         <word name="SETNZ"/>
  870.         <word name="SETO"/>
  871.         <word name="SETP"/>
  872.         <word name="SETPE"/>
  873.         <word name="SETPO"/>
  874.         <word name="SETS"/>
  875.         <word name="SETZ"/>
  876.         <word name="SFENCE"/>
  877.         <word name="SGDT"/>
  878.         <word name="SHL"/>
  879.         <word name="SHLD"/>
  880.         <word name="SHR"/>
  881.         <word name="SHRD"/>
  882.         <word name="SIDT"/>
  883.         <word name="SLDT"/>
  884.         <word name="SMSW"/>
  885.         <word name="STC"/>
  886.         <word name="STD"/>
  887.         <word name="STI"/>
  888.         <word name="STOS"/>
  889.         <word name="STOSB"/>
  890.         <word name="STOSD"/>
  891.         <word name="STOSW"/>
  892.         <word name="SUB"/>
  893.         <word name="SYSENTER"/>
  894.         <word name="TEST"/>
  895.         <word name="UD2"/>
  896.         <word name="WAIT"/>
  897.         <word name="XADD"/>
  898.         <word name="XCHG"/>
  899.         <word name="XLATB"/>
  900.         <word name="XOR"/>
  901.       </keywords>
  902.       <keywords ignorecase="yes" region="asmiProt">
  903.         <word name="ARPL"/>
  904.         <word name="CLTS"/>
  905.         <word name="HLT"/>
  906.         <word name="INVD"/>
  907.         <word name="INVLPG"/>
  908.         <word name="LAR"/>
  909.         <word name="LGDT"/>
  910.         <word name="LIDT"/>
  911.         <word name="LLDT"/>
  912.         <word name="LMSW"/>
  913.         <word name="LSL"/>
  914.         <word name="LTR"/>
  915.         <word name="RDMSR"/>
  916.         <word name="RSM"/>
  917.         <word name="STR"/>
  918.         <word name="SYSEXIT"/>
  919.         <word name="SYSRET"/>
  920.         <word name="VERR"/>
  921.         <word name="VERW"/>
  922.         <word name="WBINVD"/>
  923.         <word name="WRMSR"/>
  924.       </keywords>
  925.     </scheme>
  926.     <scheme name="asm_fpu">
  927.       <keywords ignorecase="yes" region="asmiFPU">
  928.         <word name="F2XM1"/>
  929.         <word name="FABS"/>
  930.         <word name="FADD"/>
  931.         <word name="FADDP"/>
  932.         <word name="FBLD"/>
  933.         <word name="FBSTP"/>
  934.         <word name="FCHS"/>
  935.         <word name="FCLEX"/>
  936.         <word name="FCMOVB"/>
  937.         <word name="FCMOVBE"/>
  938.         <word name="FCMOVE"/>
  939.         <word name="FCMOVNB"/>
  940.         <word name="FCMOVNBE"/>
  941.         <word name="FCMOVNE"/>
  942.         <word name="FCMOVNU"/>
  943.         <word name="FCMOVU"/>
  944.         <word name="FCOM"/>
  945.         <word name="FCOMI"/>
  946.         <word name="FCOMIP"/>
  947.         <word name="FCOMP"/>
  948.         <word name="FCOMPP"/>
  949.         <word name="FCOS"/>
  950.         <word name="FDECSTP"/>
  951.         <word name="FDISI"/>
  952.         <word name="FDIV"/>
  953.         <word name="FDIVP"/>
  954.         <word name="FDIVR"/>
  955.         <word name="FDIVRP"/>
  956.         <word name="FENI"/>
  957.         <word name="FFREE"/>
  958.         <word name="FIADD"/>
  959.         <word name="FICOM"/>
  960.         <word name="FICOMP"/>
  961.         <word name="FIDIV"/>
  962.         <word name="FIDIVR"/>
  963.         <word name="FILD"/>
  964.         <word name="FIMUL"/>
  965.         <word name="FINCSTP"/>
  966.         <word name="FINIT"/>
  967.         <word name="FIST"/>
  968.         <word name="FISTP"/>
  969.         <word name="FISUB"/>
  970.         <word name="FISUBR"/>
  971.         <word name="FLD"/>
  972.         <word name="FLD1"/>
  973.         <word name="FLDCW"/>
  974.         <word name="FLDENV"/>
  975.         <word name="FLDL2E"/>
  976.         <word name="FLDL2T"/>
  977.         <word name="FLDLG2"/>
  978.         <word name="FLDLN2"/>
  979.         <word name="FLDPI"/>
  980.         <word name="FLDZ"/>
  981.         <word name="FMUL"/>
  982.         <word name="FMULP"/>
  983.         <word name="FNCLEX"/>
  984.         <word name="FNDISI"/>
  985.         <word name="FNENI"/>
  986.         <word name="FNINIT"/>
  987.         <word name="FNOP"/>
  988.         <word name="FNSAVE"/>
  989.         <word name="FNSTCW"/>
  990.         <word name="FNSTENV"/>
  991.         <word name="FNSTSW"/>
  992.         <word name="FPATAN"/>
  993.         <word name="FPREM"/>
  994.         <word name="FPREM1"/>
  995.         <word name="FPTAN"/>
  996.         <word name="FRNDINT"/>
  997.         <word name="FRSTOR"/>
  998.         <word name="FSAVE"/>
  999.         <word name="FSCALE"/>
  1000.         <word name="FSETPM"/>
  1001.         <word name="FSIN"/>
  1002.         <word name="FSINCOS"/>
  1003.         <word name="FSQRT"/>
  1004.         <word name="FST"/>
  1005.         <word name="FSTCW"/>
  1006.         <word name="FSTENV"/>
  1007.         <word name="FSTP"/>
  1008.         <word name="FSTSW"/>
  1009.         <word name="FSUB"/>
  1010.         <word name="FSUBP"/>
  1011.         <word name="FSUBR"/>
  1012.         <word name="FSUBRP"/>
  1013.         <word name="FTST"/>
  1014.         <word name="FUCOM"/>
  1015.         <word name="FUCOMI"/>
  1016.         <word name="FUCOMIP"/>
  1017.         <word name="FUCOMP"/>
  1018.         <word name="FUCOMPP"/>
  1019.         <word name="FXAM"/>
  1020.         <word name="FXCH"/>
  1021.         <word name="FXTRACT"/>
  1022.         <word name="FYL2X"/>
  1023.         <word name="FYL2XP1"/>
  1024.       </keywords>
  1025.       <keywords ignorecase="yes" region="asmiMMX">
  1026.         <word name="EMMS"/>
  1027.         <word name="MASKMOVQ"/>
  1028.         <word name="MOVD"/>
  1029.         <word name="MOVNTQ"/>
  1030.         <word name="MOVQ"/>
  1031.         <word name="PACKSSDW"/>
  1032.         <word name="PACKSSWB"/>
  1033.         <word name="PACKUSWB"/>
  1034.         <word name="PADDB"/>
  1035.         <word name="PADDD"/>
  1036.         <word name="PADDSB"/>
  1037.         <word name="PADDSW"/>
  1038.         <word name="PADDUSB"/>
  1039.         <word name="PADDUSW"/>
  1040.         <word name="PADDW"/>
  1041.         <word name="PAND"/>
  1042.         <word name="PANDN"/>
  1043.         <word name="PAVGB"/>
  1044.         <word name="PAVGW"/>
  1045.         <word name="PCMPEQB"/>
  1046.         <word name="PCMPEQD"/>
  1047.         <word name="PCMPEQW"/>
  1048.         <word name="PCMPGTB"/>
  1049.         <word name="PCMPGTD"/>
  1050.         <word name="PCMPGTW"/>
  1051.         <word name="PEXTRW"/>
  1052.         <word name="PINSRW"/>
  1053.         <word name="PMADDWD"/>
  1054.         <word name="PMAXSW"/>
  1055.         <word name="PMAXUB"/>
  1056.         <word name="PMINSW"/>
  1057.         <word name="PMINUB"/>
  1058.         <word name="PMOVMSKB"/>
  1059.         <word name="PMULHUW"/>
  1060.         <word name="PMULHW"/>
  1061.         <word name="PMULLW"/>
  1062.         <word name="POR"/>
  1063.         <word name="PSADBW"/>
  1064.         <word name="PSHUFW"/>
  1065.         <word name="PSLLD"/>
  1066.         <word name="PSLLQ"/>
  1067.         <word name="PSLLW"/>
  1068.         <word name="PSRAD"/>
  1069.         <word name="PSRAW"/>
  1070.         <word name="PSRLD"/>
  1071.         <word name="PSRLQ"/>
  1072.         <word name="PSRLW"/>
  1073.         <word name="PSUBB"/>
  1074.         <word name="PSUBD"/>
  1075.         <word name="PSUBSB"/>
  1076.         <word name="PSUBSW"/>
  1077.         <word name="PSUBUSB"/>
  1078.         <word name="PSUBUSW"/>
  1079.         <word name="PSUBW"/>
  1080.         <word name="PUNPCKHBW"/>
  1081.         <word name="PUNPCKHDQ"/>
  1082.         <word name="PUNPCKHWD"/>
  1083.         <word name="PUNPCKLBW"/>
  1084.         <word name="PUNPCKLDQ"/>
  1085.         <word name="PUNPCKLWD"/>
  1086.         <word name="PXOR"/>
  1087.       </keywords>
  1088.       <keywords ignorecase="yes" region="asmiSSE">
  1089.         <word name="ADDPS"/>
  1090.         <word name="ADDSS"/>
  1091.         <word name="ANDNPS"/>
  1092.         <word name="ANDPS"/>
  1093.         <word name="CMPEQPS"/>
  1094.         <word name="CMPEQSS"/>
  1095.         <word name="CMPLEPS"/>
  1096.         <word name="CMPLESS"/>
  1097.         <word name="CMPLTPS"/>
  1098.         <word name="CMPLTSS"/>
  1099.         <word name="CMPNEQPS"/>
  1100.         <word name="CMPNEQSS"/>
  1101.         <word name="CMPNLEPS"/>
  1102.         <word name="CMPNLESS"/>
  1103.         <word name="CMPNLTPS"/>
  1104.         <word name="CMPNLTSS"/>
  1105.         <word name="CMPORDPS"/>
  1106.         <word name="CMPORDSS"/>
  1107.         <word name="CMPPS"/>
  1108.         <word name="CMPSS"/>
  1109.         <word name="CMPUNORDPS"/>
  1110.         <word name="CMPUNORDSS"/>
  1111.         <word name="COMISS"/>
  1112.         <word name="CVTPI2PS"/>
  1113.         <word name="CVTPS2PI"/>
  1114.         <word name="CVTSI2SS"/>
  1115.         <word name="CVTSS2SI"/>
  1116.         <word name="CVTTPS2PI"/>
  1117.         <word name="CVTTSS2SI"/>
  1118.         <word name="DIVPS"/>
  1119.         <word name="DIVSS"/>
  1120.         <word name="FXRSTOR"/>
  1121.         <word name="FXSAVE"/>
  1122.         <word name="LDMXCSR"/>
  1123.         <word name="MAXPS"/>
  1124.         <word name="MAXSS"/>
  1125.         <word name="MINPS"/>
  1126.         <word name="MINSS"/>
  1127.         <word name="MOVAPS"/>
  1128.         <word name="MOVHLPS"/>
  1129.         <word name="MOVHPS"/>
  1130.         <word name="MOVLHPS"/>
  1131.         <word name="MOVLPS"/>
  1132.         <word name="MOVMSKPS"/>
  1133.         <word name="MOVNTPS"/>
  1134.         <word name="MOVSS"/>
  1135.         <word name="MOVUPS"/>
  1136.         <word name="MULPS"/>
  1137.         <word name="MULSS"/>
  1138.         <word name="ORPS"/>
  1139.         <word name="RCPPS"/>
  1140.         <word name="RCPSS"/>
  1141.         <word name="RSQRTPS"/>
  1142.         <word name="RSQRTSS"/>
  1143.         <word name="SHUFPS"/>
  1144.         <word name="SQRTPS"/>
  1145.         <word name="SQRTSS"/>
  1146.         <word name="STMXCSR"/>
  1147.         <word name="SUBPS"/>
  1148.         <word name="SUBSS"/>
  1149.         <word name="UCOMISS"/>
  1150.         <word name="UNPCKHPS"/>
  1151.         <word name="UNPCKLPS"/>
  1152.         <word name="XORPS"/>
  1153.       </keywords>
  1154.     </scheme>
  1155.     <scheme name="asm_extens">
  1156.       <keywords ignorecase="yes" region="asmiCyrix">
  1157.         <word name="PADDSIW"/>
  1158.         <word name="PAVEB"/>
  1159.         <word name="PDISTIB"/>
  1160.         <word name="PMACHRIW"/>
  1161.         <word name="PMAGW"/>
  1162.         <word name="PMULHRIW"/>
  1163.         <word name="PMULHRWC"/>
  1164.         <word name="PMVGEZB"/>
  1165.         <word name="PMVLZB"/>
  1166.         <word name="PMVNZB"/>
  1167.         <word name="PMVZB"/>
  1168.         <word name="PSUBSIW"/>
  1169.         <word name="RDSHR"/>
  1170.         <word name="RSDC"/>
  1171.         <word name="RSLDT"/>
  1172.         <word name="SMINT"/>
  1173.         <word name="SMINTOLD"/>
  1174.         <word name="SVDC"/>
  1175.         <word name="SVLDT"/>
  1176.         <word name="SVTS"/>
  1177.         <word name="WRSHR"/>
  1178.       </keywords>
  1179.       <keywords ignorecase="yes" region="asmi3dnow">
  1180.         <word name="FEMMS"/>
  1181.         <word name="PAVGUSB"/>
  1182.         <word name="PF2ID"/>
  1183.         <word name="PFACC"/>
  1184.         <word name="PFADD"/>
  1185.         <word name="PFCMPEQ"/>
  1186.         <word name="PFCMPGE"/>
  1187.         <word name="PFCMPGT"/>
  1188.         <word name="PFMAX"/>
  1189.         <word name="PFMIN"/>
  1190.         <word name="PFMUL"/>
  1191.         <word name="PFRCP"/>
  1192.         <word name="PFRCPIT1"/>
  1193.         <word name="PFRCPIT2"/>
  1194.         <word name="PFRSQIT1"/>
  1195.         <word name="PFRSQRT"/>
  1196.         <word name="PFSUB"/>
  1197.         <word name="PFSUBR"/>
  1198.         <word name="PI2FD"/>
  1199.         <word name="PMULHRWA"/>
  1200.         <word name="PREFETCH"/>
  1201.         <word name="PREFETCHW"/>
  1202.       </keywords>
  1203.       <keywords ignorecase="yes" region="asmiAMD">
  1204.         <word name="SYSCALL"/>
  1205.       </keywords>
  1206.       <keywords ignorecase="yes" region="asmiUndoc">
  1207.         <word name="CMPXCHG486"/>
  1208.         <word name="IBTS"/>
  1209.         <word name="ICEBP"/>
  1210.         <word name="INT01"/>
  1211.         <word name="INT03"/>
  1212.         <word name="LOADALL"/>
  1213.         <word name="LOADALL286"/>
  1214.         <word name="SAL"/>
  1215.         <word name="SALC"/>
  1216.         <word name="SMI"/>
  1217.         <word name="UD1"/>
  1218.         <word name="UMOV"/>
  1219.         <word name="XBTS"/>
  1220.       </keywords>
  1221.     </scheme>
  1222.     <scheme name="asm_core">
  1223.       <!-- numbers - hex -->
  1224.       <regexp match="/\b(\d[0-9a-fA-F]*h)\b/i" region0="asmNumHex"/>
  1225.       <!-- numbers - Rct +nasm -->
  1226.       <regexp match="/\b([0-7]+[oO])\b/" region0="asmNumHex"/>
  1227.       <!-- numbers - IEEE -->
  1228.       <regexp match="/\b(\d[0-9a-fA-F]*[rR])\b/" region0="asmNumHex"/>
  1229.       <!-- numbers - dec -->
  1230.       <regexp match="/\b([0-9]+[dD]?)\b/" region0="asmNumDec"/>
  1231.       <!-- numbers - bin -->
  1232.       <regexp match="/\b([01]+[bB])\b/" region0="asmNumBin"/>
  1233.       <!-- numbers - exp -->
  1234.       <regexp match="/\c[\-+]?\d*\.?\d+([eE][\-+]?\d+)?\b/" region0="asmNumDec" region1="NumberSuffix"/>
  1235.       <!-- strings -->
  1236.       <regexp match="/(&#34;.*?&#34;)/" region0="asmString"/>
  1237.       <regexp match="/('.*?')/" region0="asmString"/>
  1238.       <!-- labels -->
  1239.       <regexp match="/(^\s*?\@?\@?[\w\$\#\%\@\~\.\?]+?\s*:)/"
  1240.              region0="LabelOutline" region1="asmLabel"/>
  1241.       <regexp match="/\B(\@\@[\w\$\#\%\@\~\.\?]*)/" region0="asmLabel"/>
  1242.       <regexp match="/^ \s* \M proc\s+([\w_\@]+)/ix" region1="Function"/>
  1243.       <regexp match="/^ \s* \M ([\w_\@]+) \s+ proc/ix" region1="Function"/>
  1244.       <keywords region="asmSymbol">
  1245.         <symb name=";"/>
  1246.         <symb name="="/>
  1247.         <symb name="+"/>
  1248.         <symb name="-"/>
  1249.         <symb name="/"/>
  1250.         <symb name="*"/>
  1251.         <symb name="|"/>
  1252.         <symb name="^"/>
  1253.         <symb name="("/>
  1254.         <symb name=")"/>
  1255.         <symb name="["/>
  1256.         <symb name="]"/>
  1257.         <symb name=","/>
  1258.         <symb name=":"/>
  1259.         <symb name="!"/>
  1260.         <symb name="~"/>
  1261.         <symb name="&lt;"/>
  1262.         <symb name="&gt;"/>
  1263.         <symb name="%"/>
  1264.         <symb name="{"/>
  1265.         <symb name="}"/>
  1266.         <symb name="?"/>
  1267.       </keywords>
  1268.     </scheme>
  1269.     <scheme name="baseasm">
  1270.       <inherit scheme="asm_core"/>
  1271.       <!-- NASM numbers -->
  1272.       <regexp match="/\b([0-7]+q)\b/" region0="asmNumOct"/>
  1273.       <regexp match="/\B(\$\d[0-9a-fA-F]*\b)/" region0="asmNumHex"/>
  1274.       <regexp match="/\b(0x[0-9a-fA-F]+)\b/i" region0="asmNumHex"/>
  1275.       <inherit scheme="asm_shared"/>
  1276.       <inherit scheme="asm_registers"/>
  1277.       <inherit scheme="asm_base"/>
  1278.       <inherit scheme="asm_fpu"/>
  1279.       <inherit scheme="asm_extens"/>
  1280.     </scheme>
  1281.     <scheme name="asm">
  1282.       <!-- Comments -->
  1283.       <regexp match="/;\!\!.*$/" region0="asmToDo"/>
  1284.       <regexp match="/;\?\?.*$/" region0="asmToDo"/>
  1285.       <regexp match="/;.*$/" region0="asmComment"/>
  1286.       <!-- NASM macros -->
  1287.       <block start="/^\s*(\%i?macro)\s+(\w+)([^;]*)/" end="/^\s*(\%endm(acro)?)/" scheme="nasm_mac" region="Insertion" region01="Directive" region02="asmMnemonics" region03="asmLabel" region11="Directive" region00="PairStart" region10="PairEnd"/>
  1288.       <block start="/^\s*\M(\%endm)?!\%\w+/" end="/$/" scheme="nasm_prepr" region="Directive"/>
  1289.       <!-- Primitive directives -->
  1290.       <regexp match="/^\[.*?\]/" region0="asmDirective"/>
  1291.       <block start="/(COMMENT) (.)/i" end="/\y2/" scheme="Comment" region="asmComment" region01="asmDefinition" region02="asmDefinition" region00="PairStart" region10="PairEnd"/>
  1292.       <inherit scheme="baseasm"/>
  1293.       <inherit scheme="asm_tasm"/>
  1294.       <inherit scheme="asm_nasm"/>
  1295.     </scheme>
  1296.     <scheme name="nasm_kw">
  1297.       <regexp match="/(\%\d+)/" region0="Directive"/>
  1298.       <regexp match="/(\%\{\d+?\})/" region0="Directive"/>
  1299.       <regexp match="/(\%[\%\$][\w\$\#\@\~\.\?]+)/" region0="Directive"/>
  1300.       <keywords ignorecase="yes" region="Directive">
  1301.         <word name="%assign"/>
  1302.         <word name="%bin"/>
  1303.         <word name="%conds"/>
  1304.         <word name="%cref"/>
  1305.         <word name="%crefall"/>
  1306.         <word name="%crefref"/>
  1307.         <word name="%crefuref"/>
  1308.         <word name="%ctls"/>
  1309.         <word name="%define"/>
  1310.         <word name="%depth"/>
  1311.         <word name="%elif"/>
  1312.         <word name="%elifctx"/>
  1313.         <word name="%elifdef"/>
  1314.         <word name="%elifid"/>
  1315.         <word name="%elifidn"/>
  1316.         <word name="%elifidni"/>
  1317.         <word name="%elifnctx"/>
  1318.         <word name="%elifndef"/>
  1319.         <word name="%elifnid"/>
  1320.         <word name="%elifnidn"/>
  1321.         <word name="%elifnidni"/>
  1322.         <word name="%elifnnum"/>
  1323.         <word name="%elifnstr"/>
  1324.         <word name="%elifnum"/>
  1325.         <word name="%elifstr"/>
  1326.         <word name="%else"/>
  1327.         <word name="%endif"/>
  1328.         <word name="%endrep"/>
  1329.         <word name="%error"/>
  1330.         <word name="%exitrep"/>
  1331.         <word name="%if"/>
  1332.         <word name="%ifctx"/>
  1333.         <word name="%ifdef"/>
  1334.         <word name="%ifid"/>
  1335.         <word name="%ifidn"/>
  1336.         <word name="%ifidni"/>
  1337.         <word name="%ifnctx"/>
  1338.         <word name="%ifndef"/>
  1339.         <word name="%ifnid"/>
  1340.         <word name="%ifnidn"/>
  1341.         <word name="%ifnidni"/>
  1342.         <word name="%ifnnum"/>
  1343.         <word name="%ifnstr"/>
  1344.         <word name="%ifnum"/>
  1345.         <word name="%ifstr"/>
  1346.         <word name="%incl"/>
  1347.         <word name="%include"/>
  1348.         <word name="%linum"/>
  1349.         <word name="%list"/>
  1350.         <word name="%macs"/>
  1351.         <word name="%newpage"/>
  1352.         <word name="%noconds"/>
  1353.         <word name="%nocref"/>
  1354.         <word name="%noctls"/>
  1355.         <word name="%noincl"/>
  1356.         <word name="%nolist"/>
  1357.         <word name="%nomacs"/>
  1358.         <word name="%nosyms"/>
  1359.         <word name="%notoc"/>
  1360.         <word name="%notrunc"/>
  1361.         <word name="%out"/>
  1362.         <word name="%pagesize"/>
  1363.         <word name="%pcnt"/>
  1364.         <word name="%pop"/>
  1365.         <word name="%poplctl"/>
  1366.         <word name="%push"/>
  1367.         <word name="%pushlctl"/>
  1368.         <word name="%rep"/>
  1369.         <word name="%repl"/>
  1370.         <word name="%rotate"/>
  1371.         <word name="%subttl"/>
  1372.         <word name="%syms"/>
  1373.         <word name="%tabsize"/>
  1374.         <word name="%text"/>
  1375.         <word name="%title"/>
  1376.         <word name="%toc"/>
  1377.         <word name="%trunc"/>
  1378.         <word name="%undef"/>
  1379.       </keywords>
  1380.     </scheme>
  1381.     <scheme name="nasm_mac">
  1382.       <regexp match="/(;.*$)/" region0="asmComment"/>
  1383.       <!-- Macro locals & parameters -->
  1384.       <inherit scheme="nasm_kw"/>
  1385.       <inherit scheme="asm"/>
  1386.     </scheme>
  1387.     <scheme name="nasm_prepr">
  1388.       <regexp match="/(;.*$)/" region0="asmComment"/>
  1389.       <inherit scheme="nasm_kw"/>
  1390.     </scheme>
  1391.   </type>
  1392. </hrc>
  1393. <!-- ***** BEGIN LICENSE BLOCK *****
  1394.   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
  1395.   -
  1396.   - The contents of this file are subject to the Mozilla Public License Version
  1397.   - 1.1 (the "License"); you may not use this file except in compliance with
  1398.   - the License. You may obtain a copy of the License at
  1399.   - http://www.mozilla.org/MPL/
  1400.   -
  1401.   - Software distributed under the License is distributed on an "AS IS" basis,
  1402.   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  1403.   - for the specific language governing rights and limitations under the
  1404.   - License.
  1405.   -
  1406.   - The Original Code is the Colorer Library.
  1407.   -
  1408.   - The Initial Developer of the Original Code is
  1409.   - Cail Lomecb <cail@nm.ru>.
  1410.   - Portions created by the Initial Developer are Copyright (C) 1999-2005
  1411.   - the Initial Developer. All Rights Reserved.
  1412.   -
  1413.   - Contributor(s):
  1414.   -
  1415.   - Alternatively, the contents of this file may be used under the terms of
  1416.   - either the GNU General Public License Version 2 or later (the "GPL"), or
  1417.   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  1418.   - in which case the provisions of the GPL or the LGPL are applicable instead
  1419.   - of those above. If you wish to allow use of your version of this file only
  1420.   - under the terms of either the GPL or the LGPL, and not to allow others to
  1421.   - use your version of this file under the terms of the MPL, indicate your
  1422.   - decision by deleting the provisions above and replace them with the notice
  1423.   - and other provisions required by the LGPL or the GPL. If you do not delete
  1424.   - the provisions above, a recipient may use your version of this file under
  1425.   - the terms of any one of the MPL, the GPL or the LGPL.
  1426.   -
  1427.   - ***** END LICENSE BLOCK ***** -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement