Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE language SYSTEM "language.dtd">
- <language _name="Assembly (GAS x86-64)" version="1.0" _section="Sources" mimetypes="text/x-asm;text/x-assembler" globs="*.sx;*.s;*.S;*.asm;*.inc">
- <escape-char>\</escape-char>
- <keyword-list _name = "Assembler Cmds" style = "Preprocessor"
- case-sensitive="FALSE"
- match-empty-string-at-beginning = "TRUE"
- match-empty-string-at-end = "TRUE">
- <keyword>(format|section|org)</keyword>
- <keyword>(as|at)</keyword>
- <keyword>use16</keyword>
- <keyword>use32</keyword>
- <keyword>use64</keyword>
- <keyword>equ</keyword>
- <keyword>times</keyword>
- <keyword>(if|else|ifdef|ifndef|undef|then|struc|struct)</keyword>
- <keyword>repeat</keyword>
- <keyword>while</keyword>
- <keyword>end</keyword>
- <keyword>break</keyword>
- <keyword>display</keyword>
- <keyword>err</keyword>
- <keyword>include</keyword>
- <keyword>(macro|define|union|struct|class|local|at)</keyword>
- <keyword>(align|locals|eq|bits)</keyword>
- <keyword>(i|u)?(proc|global)(g)?</keyword>
- <keyword>end(g|p|l|if|struc|struct)?</keyword>
- <keyword>res(u|d|w|b|q|p|t)</keyword>
- <keyword>(du|dd|dw|db|dq|dp|dt)</keyword>
- <keyword>(ru|rb|rw|rd|rq|rt)</keyword>
- <!--<keyword>\.(text|data|bss)</keyword>-->
- </keyword-list>
- <keyword-list _name = "Assembler Cmds #2" style = "Preprocessor"
- case-sensitive="FALSE"
- match-empty-string-at-beginning = "TRUE"
- match-empty-string-at-end = "TRUE">
- <keyword>short</keyword>
- <keyword>near</keyword>
- <keyword>far</keyword>
- <keyword>byte</keyword>
- <keyword>word</keyword>
- <keyword>dword</keyword>
- <keyword>qword</keyword>
- </keyword-list>
- <keyword-list _name = "Instructions" style = "Keyword" case-sensitive="FALSE"
- match-empty-string-at-beginning = "TRUE"
- match-empty-string-at-end = "TRUE">
- <keyword>extern</keyword>
- <keyword>pcmpeq[bwlq]</keyword>
- </keyword-list>
- <block-comment _name = "Block Comment" style="Comment">
- <start-regex>/\*</start-regex>
- <end-regex>\*/</end-regex>
- </block-comment>
- <string _name = "NASM Identifiers" style = "Keyword" end-at-line-end = "TRUE">
- <start-regex>\[</start-regex>
- <end-regex>\]</end-regex>
- </string>
- <pattern-item _name = "Operators" style = "Operator">
- <regex>[-,:\+\*\(\)\{\}\[]|]</regex>
- </pattern-item>
- <pattern-item _name = "Label" style = "Preprocessor">
- <regex>^[A-Za-z_][A-Za-z_0-9]*\:</regex>
- </pattern-item>
- <pattern-item _name = "Local Label" style = "Preprocessor">
- <regex>.[\.A-Za-z_0-9]+\:</regex>
- </pattern-item>
- <!--<pattern-item _name="dotAnything" style="def:preprocessor" case-sensitive="false">
- <prefix>(?!\w)</prefix>
- <regex>\.[a-zA-Z_0-9]+$</regex>
- </pattern-item>-->
- <string _name = "String" style = "String" end-at-line-end = "TRUE">
- <start-regex>"</start-regex>
- <end-regex>"</end-regex>
- </string>
- <pattern-item _name= "InstData Normal" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:aa[adms]|adc[bwlq]?|x?add[bwlq]?|and[bwlq]?|arpl|bound[wl]?|bs[fr][wlq]?|bswap[lq]?|bt[crs]?[wlq]?|call[wlq]?|clc|cld|cli|cltd[dqw]?|clts|cmc|cmov(n?[abgl]e?|n?[ceosz]|np|p[eo]?)?[lqw]?|cmp[bwlq]?|cmps[bwdlq]?|cmpxchg[bwlq]?|cmpxchg(8|16)b|cpuid|c[lw]td[bwlq]?|daa|das|dec[bwlq]?|div[bwlq]?|enter[wl]?|esc|hlt|idiv[bwlq]?|imul[bwlq]?|in[bwlq]?|inc[bwlq]?|insd?[bwlq]?|int(\s*3|o)?|inv(d|pcid)?|invlpg|iret[dfwq]?|j(n?[abgl]e?|n?[ceosz]|np|p[eo]?)|jmp[lq]?|j[er]?cxz|[ls]ahf|lar|lcall[wlq]?|l[d-gs]s[wl]|lea[bwlq]?|leave[lwq]?|l[defgs]s|[ls][gil]dt[wl]?|ljmp[wl]?|lmsw|loadall|lods[bwdlq]?|loop(n?[ez][dw]?)?|loopw|lret|lsl|ltr|mov((s?(b[lwq]?|w[lq]?|lq?|q)?)|(z?(b[lwq]|w[lq]|l|q)))?|movd|movabs[bwlq]?A?|movs(x?d|w)|mov[sz]x[bwl]?|movzb|mul[bwlq]?|neg[bwlq]?|nop|not[bwlq]?|x?or[bwlq]?|out[bwlq]?|outs[bdwl]?|pop[bwlq]?|popal?|pop[af]d|popf[wlq]?|push[bwlq]?|pushal?|push[af]d|pushf[wlq]?|rc[lr][bwlq]?|(rd|wr)msr|rdtscp?|ret[fw]?[ql]?|ro[lr][bwlq]?|rsm|sa[lr][bwlq]?|sbb[bwlq]?|scas[bwdlq]?|set(n?[abgl]e?|n?[ceosz]|np|p[eo]?)b?|sh[lr]d?[bwlq]?|smsw|stc|std|sti|stos[bdqlw]?|str|sub[bwlq]?|swapgs|syscall|sysret|sysenter|sysexit|test[bwlq]?|ud1|ud2[ab]?|ver[rw]|fwait|wbinvd|xchg[bwlq]?A?|x[gs]etbv|xlatb?|xsave[cs]?(64)?|xrstors?(64)?)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData Conversions" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:cbw|cdqe?|cwde?|cdo|cqo|cbtw|cwt[ld]|clt[dq]|cqto)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData prefixes" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:rep(n?[ez])?|(addr|data)(16|32)|lock|wait|rex(64(xyz)?)?)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData mmx" style= "def:keyword" case-sensitive="false">
- <regex>b(?i:emms|movdq|mov[dq]b|pack(ssdw|[us]swb)|padd([bdw]|u?s[bw])|pandn?|pcmp(eq|gt)[bdw]|pmaddwd|pmul[hl]w|psll[dqw]|psr(a[dw]|l[dqw])|psub([bdw]|u?s[bw])|punpck[hl](bw|dq|wd)|px?or|rdpmc)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:maskmovq|movntps|movntq|prefetcht[012]|prefetchnta|sfence)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse simd" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:add[sp]s|cmp[ps]s|u?comiss|cvt(p(i2ps|s2pi)|s(i2ss|s2sd)q?|t(ps2pi|s[sd]2siq?))|div[ps]s|ldmxcsr|(max|min)[ps]s|mov(a|hl?|lh?|msk|nt)ps|v?mov(s|up)s|mul[ps]s|rcp[ps]s|r?sqrt[ps]s|shufps|stmxcsr|sub[ps]s|unpck[hl]ps|andn?ps|x?orps|pavg[bw]|pextrw|pminsrw|p(max|min)(sw|ub)|pmovmskb|pmulhuw|psadbw|pshufw)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse2" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:clflush|[lm]fence|maskmovdqu|v?movnt(dq|i[lw]?|pd)|pause)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse2 simd" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:v?add[ps][ds]|andn?pd|bzhi[wl]?|cmp[ps]d|u?comisd|cvtdq2p[ds]|cvtt?pd2(dq|pi)|cvtpd2ps|cvtp[is]2pd|cvtt?ps2dq|cvtt?sd2s[is]|cvts[is]2sd|div[ps][ds]|v?(max|min)[ps][ds]|v?mov[ahlu]pd|v?movmskpd|v?mul[ps]d|x?orpd|shufpd|sqrt[ps]d|sub[ps]d|unpck[hl]pd|unpcklpd|movdq(2q|[au])|movq2dq|paddq|psubq|pmuludq|pshuf([hl]w|d)|ps[lr]ldq|punpck[hl]qdq)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse3" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:lddqu|monitor|mwait)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse3 simd" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:addsubp[ds]|haddp[ds]|hsubp[ds]|v?mov(d|s[hl])dup|psign[bdw]|pshufb|pmulhrsw|pmaddubsw|phsub(s?w|d)|phadd(s?w|d)|palignr|pabs[bdw])(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sse4" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:v?mpsadbw|phminposuw|pmul(ld|dq)|dpp[ds]|blendv?p[ds]|pblendvb|pblendw|pswapd|p(max|min)(s[bd]|u[wd])|roundp[ds]|rounds[ds]|insertps|pinsr[bwdq]|extractps|pextr[bdq]|pmov[sz]xb[dwq]|pmov[sz]xw[dq]|pmov[sz]xdq|pmov[sz]x|ptest|pcmpeqq|packusdw|v?movntdqa|lzcnt|popcnt|extrq|insertq|movnts[ds]|crc32|pcmp[ei]str[im]|pcmpgtq)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData x87" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:f(2xm1|abs|add[psl]?|bld|b?stp|chs|n?clex|fcomp?l|u?comp{0,2}|decstp|n?disi|divr?[psl]?|n?eni|nsetpm|rstpm|free(p|\s*ST)?|iadd[sl]?|icomp?|idivr?[sl]?|ildl?|imul[sl]?|incstp|n?init|ist((pl?|l)|tp)?|isubr?[sl]?|ld[1slt]?|ldcw|ldenv[dw]?|ldl2[et]|ldl[gn]2|ldpi|ldz|mul[psl]?|nop|n?stenv[wd]?|n?stsw|pa?tan|prem1?|rndint|rstor[dw]?|n?savew?|scale|sqrt|st(p?[slt])|n?stcw|subr?[psl]?|tst|wait|xam|xch|xtract|yl2x(p1)?|setpm|cos|saved|sin(cos)?|cmovn?b?e?|cmovn?u|u?comip?|xrstor(64)?|xsave(64)?))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData aes" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:v?aes(en|de)c(last)?|v?aeskeygenassist|aesimc)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name= "InstData sha" style= "def:keyword" case-sensitive="false">
- <regex>\b(?i:sha((1|256)msg[12]|1nexte|1rnds4|256rnds2))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData bmi1" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:andn[lq]?|bextr[lq]?|blsi[lq]?|blsmsk[lq]?|blsr[dlq]?|tzcnt[wlq]?)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData bmi2" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:mulx[lq]?|pdep[lq]?|pext[lq]?|rorx[lq]?|s(h[lr]|ar)x)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData adx" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:ad[co]x)l?(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData clmul" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:pclmulqdq)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData prefetchwt" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:prefetchw(t1)?)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData amd3DNow" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:prefetch|femms|pavgusb|pf2id|pfacc|pfadd|pfcmpeq|pfcmpge|pfcmpgt|pfmax|pfmin|pfmul|pfrcp|pfrcpit[12]|pfrsqit1|pfrsqrt|pfsubr?|pi2fd|pmulhrw)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData amdnops" style="def:keyword" case-sensitive="false">
- <regex>\b(nop[lwq])</regex>
- </pattern-item>
- <pattern-item _name="InstData clflushopt" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:clflushopt)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData rdseed" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:rdseed)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData mpx" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:bnd(c[uln]|mk|stx))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData fsgsbase" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:(rd|wr)[fg]sbase)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData rdrand" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:rdrand)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData AVX" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vadd(sub)?p[ds]|vandn?p[ds]|vblendv?p[ds]|vbroadcastf128|vbroadcasts[ds]|vroundp[ds]|vcmp[ps][ds]|vcvtdq2p[ds]|vcvtpd2(dq|ps)[xy]?|vcvtps2(dq|pd)|vcvttpd2dq[xy]?|vcvttps2dq|vdivp[ds]|vdpps|vextractf128|vh(add|sub)p[ds]|vinsertf128|vlddqu|vmovap[ds]|vmovd(q[au])?|vmovup[ds]|vmaskmovp[ds]|v(max|min)p[ds]|vmov(d|s[hl])?dup|vmovmskp[ds]|vmulp[ds]|vx?orp[ds]|vpermilp[ds]|vperm2f128|vrcpps|vrsqrtps|vpxor|vshufp[ds]|vsqrtp[ds]|vmovntp[ds]|vmovntdq|vsubp[ds]|vtestp[ds]|vptest|vunpck[lh]p[ds]|vzero(all|upper)|vpcmp[ei]str[im])(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData AVX2" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vpabs[bdw]|vpadd[bdqw]|vpaddu?s[bw]|vpalignr|vpandn?|vpavg[bw]|vpblend[dw]|vpblendvb|vpbroadcast[bdqw]|movddup|vbroadcasts[ds]|vbroadcasti128|vps[lr]ldq|vpcmp(eq|gt)[bdqw]|vpmovsx(wd|wq|dq|bw)|v(extract|insert)i128|vperm2i128|vph(add|sub)(d|s?w)|vpmaskmov[dq]|vpmovmskb|vpor|vpsign[bdw]|vp(ext|ins)rq|vphminposuw|vaesimc)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData AVX512" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vpabs[bdqw]|vpandn?[dq]|vpadd[bdwq]|valignq|vpblendm[bdqw]|vbroadcast[if]32x[248]|vbroadcast[if]64x[24]|vpbroadcastm(b2q|w2d)|vpcmpu?[bdqw]|vcomis[ds]|vpcompress[dq]|vcompressp[ds]|vpconflict[dq]|vcvtqq2ps[xy]?|vcvtqq2pd|vcvtudq2p[ds]|vcvtuqq2pd|vcvtuqq2ps[xy]|vcvtsi2sd|vcvtsi2ssl?|vcvtt?p[ds]2u?[dq]q|vcvtt?sd2(u?si|s[is])|vcvtss2u?si|vcvtss2s[di]|vcvtusi2s[sd]l?|vpmov[sz]x(w[dq]|dq|b[wdq])|vpmovu?s?(wb|d[wb]|q[wdb])|vcvtts[ds]2u?si|vdbpsadbw|vdiv[ps][ds]|vexp2p[ds]|vpexpand[dq]|vexpandp[ds]|v(extract|insert)[fi]32x[48]|v(extract|insert)[if]64x[24]|vfixupimm[ps][ds]|vfpclassp[ds][xyz]?|vfpclasss[ds]|vgetexp[ps][ds]|vgetmant[ps][ds]|vp?(gather|scatter)[dq](ps|[qd]|pd)|kandn?w|kmovw|knotw|k(xn?)?orw|kortestw|kunpck(bw|dq|wd)|vmovq|vmovdqa(32|64)|vmovs[ds]|vmovdqu(8|16|32|64)|vplzcnt[dq]|vpmadd(wd|52[hl]uq|ubsw)|vp(max|min)[su][bdqw]|vpmov[bdqw]2m|vpmovm2[bdqw]|vpmulu?dq|vmulss|vpmulhu?w|vpmulhrsw|vpmull[dqw]|vpmultishiftqb|vpor[dq]|vpack[us]s(wb|dw)|vperm[bdqw]|vpermp[ds]|vperm[it]2[bdqw]|vperm[it]2p[ds]|v(gather|scatter)pf[01][dq]p[ds]|v(range|reduce)[ps][ds]|vrcp(14|28)[ps][ds]|vpro[lr]v?[dq]|vrndscale[ps][ds]|vrsqrt(14|28)[ps][ds]|vpsadbw|vscalef[ps][ds]|vpxor[dq]|vpshuf[bd]|vshuf[if]32x4|vshuf[if]64x2|vpshuf[hl]w|vpsllv?[wdq]|vsqrts[ds]|vpsr[al]v?[dqw]|vpsub[bdqw]|vsubs[ds]|vpsubu?s[bw]|vpternlog[dq]|vptestn?m[bdqw]|vpunpck[hl](wd|q?dq|bw)|vpxord|vucomis[ds]|vcvtpd2udq[xy]|vpclmul[lh]q[lh]qdq)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData AVX512BW" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:k(andn?|or|xn?or|not|ortest|test|shift[rl]w?|mov[qd]|add)[dq]|cmp(eq|le|lt|neq|nle[p]s|nlt|ord|unord)[ps]s)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData AVX512DQ" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:k(andn?b|orb|xn?orb|notb|ortestb|test[bw]|shift[rl]b|movb|add[bw])[bw])(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData F16c" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vcvt(ph2ps|ps2ph))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData FMA" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vfn?m((add(sub)?|sub(add)?)((132|213|231)?[ps][ds])))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData KNC" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:vpandn?[dq]|vpad[cd]d|vaddn?p[ds]|vpaddset[cs]d|vaddsetsps|valignd|vpblendm[dq]|vblendmp[ds]|clevict[01]|vpcmpu?d)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData RTM" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:x(abort|begin|end|test))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData HLE" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:x(acquire|release|test))(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData xsave" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:xsaveopt(64)?)(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData crc32" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:crc32[bwlq])(?!:)\b</regex>
- </pattern-item>
- <pattern-item _name="InstData miscellaneous" style="def:keyword" case-sensitive="false">
- <regex>\b(?i:xstorerng|vmxoff|getsec|vpclmulqdq|movbe|invept|invvpid|vmload|blcfill|v(ld|st)mxcsr)(?!:)\b</regex>
- </pattern-item>
- <!-- End of instructions -->
- <pattern-item _name= "Line Comment workaround" style= "def:comment">
- <regex>^\s*##.*$</regex>
- </pattern-item>
- <pattern-item _name="Preprocessor C-style" style= "def:preprocessor">
- <regex>^\s*(?<!#)(#(#(?!#)|(un)?assert|define|elif|else|endif|error|ident|(ifn?|un)?def|if|import|include(_next)?|line|pragma|sccs|warning))|__(FILE|LINE|DATE|TIME(STAMP)?|STDC_(VERSION|HOSTED)?|GNUC|GNUC_MINOR|GNUC_PATCHLEVEL|VERSION|STRICT_ANSI|BASE_FILE|INCLUDE_LEVEL|OPTIMIZE|OPTIMIZE_SIZE|NO_INLINE|CHAR_UNSIGNED|CHAR_BIT|INT_SHORT|SCHAR_MAX|SHRT_MAX|INT_MAX|LONG_MAX|LONG_LONG_MAX|REGISTER_PREFIX|USER_LABEL_PREFIX)__\b</regex>
- </pattern-item>
- <pattern-item _name= "Line Comment" style= "def:comment" end-at-line-end="true">
- <regex>(;).*</regex>
- </pattern-item>
- <pattern-item _name= "CPP Line Comment" style= "def:comment" end-at-line-end="true">
- <regex>(//).*</regex>
- </pattern-item>
- <block-comment _name= "Block Comment" style= "def:comment">
- <start-regex>/\*</start-regex>
- <end-regex>\*/</end-regex>
- </block-comment>
- <!--<pattern-item _name= "Line Comment single slash" style= "def:comment">
- <regex>^[ \t]*/.*$</regex>
- </pattern-item>-->
- <!-- <pattern-item _name= "ImOperand" style= "def:keyword">
- <regex>\$[A-Za-z0-9_\-\+]*</regex>
- </pattern-item> -->
- <pattern-item _name= "Label" style= "Data Type">
- <regex>((\s+|;|^)(([A-Za-z$_.0-9]|C-[BA])+[:]))</regex>
- </pattern-item>
- <pattern-item _name= "Preprocessor Definitions" style= "def:preprocessor" case-sensitive="false">
- <regex>(?<!\w)(?i:\.(allow_index_reg|app-file|asci[iz]|b?align|bundle_(align_mode|(un)?lock)|bss|[42]?byte|cfi_(sections|startproc|endproc|personality|lsda|def_cfa|def_cfa_register|def_cfa_offset|adjust_cfa_offset|offset|rel_offset|register|restore|undefined|same_value|remember_state|return_column|signal_frame|window_save|escape|val_encoded_addr)|code(16(gcc)?|32|64)|data|def|desc|dim|double|eject|else(if)?|end([ei]f|func|[mr])?|exitm|equ(iv)?|eqv|err(or)?|extern|fail|file|fill|t?float|globa?l|hidden|hword|ident|if(def|eqs?|[gl][et]|n?[bc]|n(ot)?def|nes?)?|incbin|include|int(ernal)?|irpc?|l?comm|lflags|linkonce|loc(_mark_labels|al)?|mri|(no)?list|long|macro|(no)?altmacro|octa|operand_check|org|p2align[wl]?|(pop|push)?section|previous|print|protected|p?size|purgem|quad|rept|sbttl|scl|set|secrel32|short|single|skip|sleb128|space|sse_check|stab[dns]|string(8|16|32|64)?|struct|subsection|symver|tag|text|title|type|uleb128|val(ue)?|version|vtable_(entry|inherit)|warning|weak(ref)?|word|zero|att_syntax(\s*prefix)?)\b)|(LOCAL\b)</regex>
- </pattern-item>
- <pattern-item _name= "Floating Point Number" style= "Floating Point">
- <regex>(?<!\w)(?i)0[DFT][+-]?(\d+(\.\d*)|\.\d+)(e[+-]?[0-9]+)?</regex>
- </pattern-item>
- <pattern-item _name= "Floating Point Number Literal" style="Base-N Integer">
- <regex>(?<!\w)[$](?i)0[DFT][+-]?(\d+(\.\d*)|\.\d+)(e[+-]?[0-9]+)?</regex>
- </pattern-item>
- <pattern-item _name= "Hex Number" style= "Base-N Integer">
- <regex>(?<!\w)[-+~]?(?i)(0x)[A-F0-9]+\b</regex>
- </pattern-item>
- <pattern-item _name= "Hex Number Literal" style="Base-N Integer">
- <regex>(?<!\w)[$][-+~]?(?i)(0x)[A-F0-9]+\b</regex>
- </pattern-item>
- <pattern-item _name= "Bin Number" style= "Base-N Integer">
- <regex>(?<!\w)[-+~]?(0[Bb])[01]+\b</regex>
- </pattern-item>
- <pattern-item _name= "Bin Number Literal" style="Base-N Integer">
- <regex>(?<!\w)[$][-+~]?(0[Bb])[01]+\b</regex>
- </pattern-item>
- <pattern-item _name= "Oct Number" style= "Base-N Integer">
- <regex>(?<!\w)[-+~]?0[0-7]*\b</regex>
- </pattern-item>
- <pattern-item _name= "Oct Number Literal" style="Base-N Integer">
- <regex>(?<!\w)[$][-+~]?0[0-7]*\b</regex>
- </pattern-item>
- <pattern-item _name= "Decimal" style= "Decimal">
- <regex>(?<!\w)[-+~]?(\d+(\.\d*)?|\.\d+)(e[+-]?[0-9]+)?(?=[-\s,;<>/+~$%()]|$)</regex>
- </pattern-item>
- <pattern-item _name= "Decimal Literal" style="Base-N Integer">
- <regex>(?<!\w)[$][-+~]?(\d+(\.\d*)?|\.\d+)(e[+-]?[0-9]+)?(?=[-\s,;<>/+~$%()]|$)</regex>
- </pattern-item>
- <pattern-item _name= "Character Constant" style= "String">
- <regex>(?<!\w)[$]?(?i)'([!-\[\]-~]|\\([\\bfnrt]|x[0-9a-f]{1,2}|[0-9]{3}))(?!')</regex>
- </pattern-item>
- <pattern-item _name = "Decimal XXX" style = "Decimal">
- <regex>\b[0-9][0-9a-fA-F]*([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?(b|d|h|o|O|B|D|H)?\b</regex>
- </pattern-item>
- <pattern-item _name = "Floating Point Number XXX" style = "Floating Point">
- <regex>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</regex>
- </pattern-item>
- <pattern-item _name = "Hex Number XXX" style = "Base-N Integer">
- <regex>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
- </pattern-item>
- <pattern-item _name= "String" style= "String">
- <regex>(".*?(?<![^\\][\\])"|<.*?(?<![^\\][\\])>)</regex>
- </pattern-item>
- <!--<pattern-item _name= "Registers" style= "Data Type" case-sensitive="FALSE">
- <regex>[%$]?\s*(?i:[er]?[a-d]x|[a-d][lh]|[re]?s[ip]|s[ip]l|[re]?di|dil|[re]?bp|bpl|[c-gs]s|[re]?ip|e?flags|db([0236-9]|1[0-5]?)|tr[0267]?|st(?!\(([89]|\d{2,})\))|esp[0-2]|[xy]?mm([02-9]|1[0-5]?)|zmm([4-9]|[12][0-9]?|3[10]?)|xmcrt|[gli]dtr|[cd]r([02-9]|1[0-5]?)|msr|r([89]|1[0-5])[dwb]?|[cst]w|fp_([id]p|[cd]s|opc)|mxcsr|msw)\b</regex>
- </pattern-item>-->
- <keyword-list _name="Registers-" style="Data Type" case-sensitive="false">
- <keyword>[%$]?\s*([er]?[a-d]x|[a-d][lh]|[re]?s[ip]|s[ip]l|[re]?di|dil|[re]?bp|bpl|[c-gs]s|[re]?ip|e?flags|db([0236-9]|1[0-5]?)|tr[0267]?|st(?!\(([89]|\d{2,})\))|esp[0-2]|[xy]?mm([02-9]|1[0-5]?)|zmm([4-9]|[12][0-9]?|3[10]?)|xmcrt|[gli]dtr|[cd]r([02-9]|1[0-5]?)|msr|r([89]|1[0-5])[dwb]?|[cst]w|fp_([id]p|[cd]s|opc)|mxcsr|msw)</keyword>
- </keyword-list>
- </language>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement