summaryrefslogtreecommitdiffstats
path: root/kate/data/fasm.xml
diff options
context:
space:
mode:
Diffstat (limited to 'kate/data/fasm.xml')
-rw-r--r--kate/data/fasm.xml899
1 files changed, 899 insertions, 0 deletions
diff --git a/kate/data/fasm.xml b/kate/data/fasm.xml
new file mode 100644
index 000000000..64734ce01
--- /dev/null
+++ b/kate/data/fasm.xml
@@ -0,0 +1,899 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+"Intel x86 (FASM)" is based on ver. 1.3 of "Intel x86 (NASM)" by Nicola Gigante and Bogdan Drozdowski
+
+Known issues:
+* Does not include all 64-bit registers and instructions
+* "near" and "far" as in "jmp near MyLabel" is unhandeled.
+* Confuses and,or,not,xor,shl instructions,with operators with same name, e.g. "2 shl 4"
+* May confuse ah,bh,ch,dh with hexadecimal numbers.
+
+Notes:
+* "used" and "defined" are treated opperators and are not highlighted.
+-->
+
+<language name="Intel x86 (FASM)" section="Assembler" version="0.2" kateversion="2.3" extensions="*.asm;*.inc;*.fasm" mimetype="" author="rCX (rCX12@yahoo.com)" license="GPL">
+ <highlighting>
+ <list name="registers">
+ <!-- General purpose registers -->
+ <item>rax</item>
+ <item>eax</item>
+ <item>ax</item>
+ <item>ah</item>
+ <item>al</item>
+ <item>rbx</item>
+ <item>ebx</item>
+ <item>bx</item>
+ <item>bh</item>
+ <item>bl</item>
+ <item>rcx</item>
+ <item>ecx</item>
+ <item>cx</item>
+ <item>ch</item>
+ <item>cl</item>
+ <item>rdx</item>
+ <item>edx</item>
+ <item>dx</item>
+ <item>dh</item>
+ <item>dl</item>
+ <item>rbp</item>
+ <item>ebp</item>
+ <item>bp</item>
+ <item>rsi</item>
+ <item>esi</item>
+ <item>si</item>
+ <item>rdi</item>
+ <item>edi</item>
+ <item>di</item>
+ <item>rsp</item>
+ <item>esp</item>
+ <item>sp</item>
+ <item>r8</item>
+ <item>r9</item>
+ <item>r10</item>
+ <item>r11</item>
+ <item>r12</item>
+ <item>r13</item>
+ <item>r14</item>
+ <item>r15</item>
+ <!-- Segmentation registers -->
+ <item>cs</item>
+ <item>ds</item>
+ <item>es</item>
+ <item>fs</item>
+ <item>gs</item>
+ <item>ss</item>
+ <!-- Control registers -->
+ <item>cr0</item>
+ <!--<item>cr1</item>-->
+ <item>cr2</item>
+ <item>cr3</item>
+ <item>cr4</item>
+ <!-- Debug registers -->
+ <item>dr0</item>
+ <item>dr1</item>
+ <item>dr2</item>
+ <item>dr3</item>
+ <item>dr6</item>
+ <item>dr7</item>
+ <!-- x87 FPU Registers -->
+ <item>st</item>
+ <!-- MMX registers -->
+ <item>mm0</item>
+ <item>mm1</item>
+ <item>mm2</item>
+ <item>mm3</item>
+ <item>mm4</item>
+ <item>mm5</item>
+ <item>mm6</item>
+ <item>mm7</item>
+ <!-- XMM registers -->
+ <item>xmm0</item>
+ <item>xmm1</item>
+ <item>xmm2</item>
+ <item>xmm3</item>
+ <item>xmm4</item>
+ <item>xmm5</item>
+ <item>xmm6</item>
+ <item>xmm7</item>
+ </list>
+ <list name="instructions">
+ <item>aaa</item>
+ <item>aad</item>
+ <item>aam</item>
+ <item>aas</item>
+ <item>adc</item>
+ <item>add</item>
+ <item>addpd</item>
+ <item>addps</item>
+ <item>addsd</item>
+ <item>addss</item>
+ <item>addsubpd</item>
+ <item>addsubps</item>
+ <item>and</item>
+ <item>andnpd</item>
+ <item>andnps</item>
+ <item>andpd</item>
+ <item>andps</item>
+ <item>arpl</item>
+ <item>bound</item>
+ <item>bsf</item>
+ <item>bsr</item>
+ <item>bswap</item>
+ <item>bt</item>
+ <item>btc</item>
+ <item>btr</item>
+ <item>bts</item>
+ <item>call</item>
+ <item>cbw</item>
+ <item>cwde</item>
+ <item>cwd</item>
+ <item>cdq</item>
+ <item>cdqe</item>
+ <item>cqo</item>
+ <item>clc</item>
+ <item>cld</item>
+ <item>clgi</item>
+ <item>cli</item>
+ <item>clts</item>
+ <item>clflush</item>
+ <item>cmc</item>
+ <item>cmova</item>
+ <item>cmovae</item>
+ <item>cmovb</item>
+ <item>cmovbe</item>
+ <item>cmovc</item>
+ <item>cmove</item>
+ <item>cmovg</item>
+ <item>cmovge</item>
+ <item>cmovl</item>
+ <item>cmovle</item>
+ <item>cmovna</item>
+ <item>cmovnae</item>
+ <item>cmovnb</item>
+ <item>cmovnbe</item>
+ <item>cmovnc</item>
+ <item>cmovne</item>
+ <item>cmovng</item>
+ <item>cmovnge</item>
+ <item>cmovnl</item>
+ <item>cmovnle</item>
+ <item>cmovno</item>
+ <item>cmovnp</item>
+ <item>cmovns</item>
+ <item>cmovnz</item>
+ <item>cmovo</item>
+ <item>cmovp</item>
+ <item>cmovpe</item>
+ <item>cmovpo</item>
+ <item>cmovs</item>
+ <item>cmovz</item>
+ <item>cmp</item>
+ <item>cmpeqpd</item>
+ <item>cmpeqps</item>
+ <item>cmpeqsd</item>
+ <item>cmpeqss</item>
+ <item>cmplepd</item>
+ <item>cmpleps</item>
+ <item>cmplesd</item>
+ <item>cmpless</item>
+ <item>cmpltpd</item>
+ <item>cmpltps</item>
+ <item>cmpltsd</item>
+ <item>cmpltss</item>
+ <item>cmpneqpd</item>
+ <item>cmpneqps</item>
+ <item>cmpneqsd</item>
+ <item>cmpneqss</item>
+ <item>cmpnlepd</item>
+ <item>cmpnleps</item>
+ <item>cmpnlesd</item>
+ <item>cmpnless</item>
+ <item>cmpnltpd</item>
+ <item>cmpnltps</item>
+ <item>cmpnltsd</item>
+ <item>cmpnltss</item>
+ <item>cmpordpd</item>
+ <item>cmpordps</item>
+ <item>cmpordsd</item>
+ <item>cmpordss</item>
+ <item>cmppd</item>
+ <item>cmpps</item>
+ <item>cmps</item>
+ <item>cmpsb</item>
+ <item>cmpsd</item>
+ <item>cmpss</item>
+ <item>cmpsw</item>
+ <item>cmpunordpd</item>
+ <item>cmpunordps</item>
+ <item>cmpunordsd</item>
+ <item>cmpunordss</item>
+ <item>cmpxchg</item>
+ <item>cmpxchg486</item>
+ <item>cmpxchg8b</item>
+ <item>cmpxchg16b</item>
+ <item>comisd</item>
+ <item>comiss</item>
+ <item>cpuid</item>
+ <item>cvtdq2pd</item>
+ <item>cvtdq2ps</item>
+ <item>cvtpd2dq</item>
+ <item>cvtpd2pi</item>
+ <item>cvtpd2ps</item>
+ <item>cvtpi2pd</item>
+ <item>cvtpi2ps</item>
+ <item>cvtps2dq</item>
+ <item>cvtps2pd</item>
+ <item>cvtps2pi</item>
+ <item>cvtsd2si</item>
+ <item>cvtsd2ss</item>
+ <item>cvtsi2sd</item>
+ <item>cvtsi2ss</item>
+ <item>cvtss2sd</item>
+ <item>cvtss2si</item>
+ <item>cvttpd2dq</item>
+ <item>cvttpd2pi</item>
+ <item>cvttps2dq</item>
+ <item>cvttps2pi</item>
+ <item>cvttsd2si</item>
+ <item>cvttss2si</item>
+ <item>daa</item>
+ <item>das</item>
+ <item>dec</item>
+ <item>div</item>
+ <item>divpd</item>
+ <item>divps</item>
+ <item>divsd</item>
+ <item>divss</item>
+ <item>emms</item>
+ <item>enter</item>
+ <item>f2xm1</item>
+ <item>fabs</item>
+ <item>fadd</item>
+ <item>faddp</item>
+ <item>fbld</item>
+ <item>fbstp</item>
+ <item>fchs</item>
+ <item>fclex</item>
+ <item>fnclex</item>
+ <item>fcmovb</item>
+ <item>fcmovbe</item>
+ <item>fcmove</item>
+ <item>fcmovnb</item>
+ <item>fcmovnbe</item>
+ <item>fcmovne</item>
+ <item>fcmovnu</item>
+ <item>fcmovu</item>
+ <item>fcom</item>
+ <item>fcomp</item>
+ <item>fcompp</item>
+ <item>fcomi</item>
+ <item>fcomip</item>
+ <item>fcos</item>
+ <item>fdecstp</item>
+ <item>fdisi</item>
+ <item>feni</item>
+ <item>fdiv</item>
+ <item>fdivr</item>
+ <item>fdivp</item>
+ <item>fdivrp</item>
+ <item>femms</item>
+ <item>ffree</item>
+ <item>ffreep</item>
+ <item>fiadd</item>
+ <item>ficom</item>
+ <item>ficomp</item>
+ <item>fidiv</item>
+ <item>fidivr</item>
+ <item>fild</item>
+ <item>fimul</item>
+ <item>fincstp</item>
+ <item>finit</item>
+ <item>fist</item>
+ <item>fistp</item>
+ <item>fisttp</item>
+ <item>fisub</item>
+ <item>fisubr</item>
+ <item>fld</item>
+ <item>fld1</item>
+ <item>fldl2e</item>
+ <item>fldl2t</item>
+ <item>fldlg2</item>
+ <item>fldln2</item>
+ <item>fldcw</item>
+ <item>fldenv</item>
+ <item>fldpi</item>
+ <item>fldz</item>
+ <item>fmul</item>
+ <item>fmulp</item>
+ <item>fndisi</item>
+ <item>fneni</item>
+ <item>fninit</item>
+ <item>fnop</item>
+ <item>fnsave</item>
+ <item>fnstcw</item>
+ <item>fnstenv</item>
+ <item>fnstsw</item>
+ <item>fnwait</item>
+ <item>fpatan</item>
+ <item>fptan</item>
+ <item>fprem</item>
+ <item>fprem1</item>
+ <item>frndint</item>
+ <item>frstor</item>
+ <item>fsave</item>
+ <item>fscale</item>
+ <item>fsetpm</item>
+ <item>fsin</item>
+ <item>fsincos</item>
+ <item>fsqrt</item>
+ <item>fst</item>
+ <item>fstp</item>
+ <item>fstcw</item>
+ <item>fstenv</item>
+ <item>fstsw</item>
+ <item>fsub</item>
+ <item>fsubr</item>
+ <item>fsubp</item>
+ <item>fsubrp</item>
+ <item>ftst</item>
+ <item>fucom</item>
+ <item>fucomp</item>
+ <item>fucompp</item>
+ <item>fucomi</item>
+ <item>fucomip</item>
+ <item>fwait</item>
+ <item>fxam</item>
+ <item>fxch</item>
+ <item>fxrstor</item>
+ <item>fxsave</item>
+ <item>fxtract</item>
+ <item>fyl2x</item>
+ <item>fyl2xp1</item>
+ <item>haddpd</item>
+ <item>haddps</item>
+ <item>hlt</item>
+ <item>hsubpd</item>
+ <item>hsubps</item>
+ <item>ibts</item>
+ <item>idiv</item>
+ <item>imul</item>
+ <item>in</item>
+ <item>inc</item>
+ <item>ins</item>
+ <item>insb</item>
+ <item>insd</item>
+ <item>insw</item>
+ <item>int</item>
+ <item>int1</item>
+ <item>int3</item>
+ <item>into</item>
+ <item>invd</item>
+ <item>invlpg</item>
+ <item>invlpga</item>
+ <item>iret</item>
+ <item>iretd</item>
+ <item>iretq</item>
+ <item>iretw</item>
+ <item>ja</item>
+ <item>jae</item>
+ <item>jb</item>
+ <item>jbe</item>
+ <item>jc</item>
+ <item>je</item>
+ <item>jg</item>
+ <item>jge</item>
+ <item>jl</item>
+ <item>jle</item>
+ <item>jna</item>
+ <item>jnae</item>
+ <item>jnb</item>
+ <item>jnbe</item>
+ <item>jnc</item>
+ <item>jne</item>
+ <item>jng</item>
+ <item>jnge</item>
+ <item>jnl</item>
+ <item>jnle</item>
+ <item>jno</item>
+ <item>jnp</item>
+ <item>jns</item>
+ <item>jnz</item>
+ <item>jo</item>
+ <item>jp</item>
+ <item>jpe</item>
+ <item>jpo</item>
+ <item>js</item>
+ <item>jz</item>
+ <item>jcxz</item>
+ <item>jecxz</item>
+ <item>jrcxz</item>
+ <item>jmp</item>
+ <item>lahf</item>
+ <item>lar</item>
+ <item>lddqu</item>
+ <item>ldmxcsr</item>
+ <item>lds</item>
+ <item>les</item>
+ <item>lea</item>
+ <item>leave</item>
+ <item>lfence</item>
+ <item>lfs</item>
+ <item>lgdt</item>
+ <item>lgs</item>
+ <item>lidt</item>
+ <item>lldt</item>
+ <item>lmsw</item>
+ <item>loadall</item>
+ <item>loadall286</item>
+ <item>lods</item>
+ <item>lodsb</item>
+ <item>lodsd</item>
+ <item>lodsq</item>
+ <item>lodsw</item>
+ <item>loop</item>
+ <item>loope</item>
+ <item>loopne</item>
+ <item>loopnz</item>
+ <item>loopz</item>
+ <item>lsl</item>
+ <item>lss</item>
+ <item>ltr</item>
+ <item>maskmovdqu</item>
+ <item>maskmovq</item>
+ <item>maxpd</item>
+ <item>maxps</item>
+ <item>maxsd</item>
+ <item>maxss</item>
+ <item>mfence</item>
+ <item>minpd</item>
+ <item>minps</item>
+ <item>minsd</item>
+ <item>minss</item>
+ <item>monitor</item>
+ <item>mov</item>
+ <item>movapd</item>
+ <item>movaps</item>
+ <item>movd</item>
+ <item>movddup</item>
+ <item>movdq2q</item>
+ <item>movdqa</item>
+ <item>movdqu</item>
+ <item>movhlps</item>
+ <item>movhpd</item>
+ <item>movhps</item>
+ <item>movlhps</item>
+ <item>movlpd</item>
+ <item>movlps</item>
+ <item>movmskpd</item>
+ <item>movmskps</item>
+ <item>movntdq</item>
+ <item>movnti</item>
+ <item>movntpd</item>
+ <item>movntps</item>
+ <item>movntq</item>
+ <item>movq</item>
+ <item>movq2dq</item>
+ <item>movs</item>
+ <item>movsb</item>
+ <item>movsd</item>
+ <item>movshdup</item>
+ <item>movsldup</item>
+ <item>movsq</item>
+ <item>movss</item>
+ <item>movsx</item>
+ <item>movsxd</item>
+ <item>movsw</item>
+ <item>movupd</item>
+ <item>movups</item>
+ <item>movzx</item>
+ <item>mul</item>
+ <item>mulpd</item>
+ <item>mulps</item>
+ <item>mulsd</item>
+ <item>mulss</item>
+ <item>mwait</item>
+ <item>neg</item>
+ <item>nop</item>
+ <item>not</item>
+ <item>or</item>
+ <item>orpd</item>
+ <item>orps</item>
+ <item>out</item>
+ <item>outs</item>
+ <item>outsb</item>
+ <item>outsw</item>
+ <item>outsd</item>
+ <item>packssdw</item>
+ <item>packsswb</item>
+ <item>packuswb</item>
+ <item>paddb</item>
+ <item>paddd</item>
+ <item>paddq</item>
+ <item>paddsb</item>
+ <item>paddsw</item>
+ <item>paddusb</item>
+ <item>paddusw</item>
+ <item>paddw</item>
+ <item>pand</item>
+ <item>pandn</item>
+ <item>pause</item>
+ <item>pavgb</item>
+ <item>pavgusb</item>
+ <item>pavgw</item>
+ <item>pcmpeqb</item>
+ <item>pcmpeqw</item>
+ <item>pcmpeqd</item>
+ <item>pcmpgtb</item>
+ <item>pcmpgtw</item>
+ <item>pcmpgtd</item>
+ <item>pdistib</item>
+ <item>pextrw</item>
+ <item>pf2id</item>
+ <item>pf2iw</item>
+ <item>pfacc</item>
+ <item>pfadd</item>
+ <item>pfcmpeq</item>
+ <item>pfcmpge</item>
+ <item>pfcmpgt</item>
+ <item>pfmax</item>
+ <item>pfmin</item>
+ <item>pfmul</item>
+ <item>pfnacc</item>
+ <item>pfpnacc</item>
+ <item>pfrcp</item>
+ <item>pfrcpit1</item>
+ <item>pfrcpit2</item>
+ <item>pfrsqit1</item>
+ <item>pfrsqrt</item>
+ <item>pfsub</item>
+ <item>pfsubr</item>
+ <item>pi2fd</item>
+ <item>pi2fw</item>
+ <item>pinsrw</item>
+ <item>pmachriw</item>
+ <item>pmaddwd</item>
+ <item>pmagw</item>
+ <item>pmaxsw</item>
+ <item>pmaxub</item>
+ <item>pminsw</item>
+ <item>pminub</item>
+ <item>pmovmskb</item>
+ <item>pmulhrw</item>
+ <item>pmulhuw</item>
+ <item>pmulhw</item>
+ <item>pmullw</item>
+ <item>pmuludq</item>
+ <item>pmvgezb</item>
+ <item>pmvlzb</item>
+ <item>pmvnzb</item>
+ <item>pmvzb</item>
+ <item>pop</item>
+ <item>popa</item>
+ <item>popaw</item>
+ <item>popad</item>
+ <item>popf</item>
+ <item>popfw</item>
+ <item>popfd</item>
+ <item>popfq</item>
+ <item>por</item>
+ <item>prefetch</item>
+ <item>prefetchnta</item>
+ <item>prefetcht0</item>
+ <item>prefetcht1</item>
+ <item>prefetcht2</item>
+ <item>prefetchw</item>
+ <item>psadbw</item>
+ <item>pshufd</item>
+ <item>pshufhw</item>
+ <item>pshuflw</item>
+ <item>pshufw</item>
+ <item>pslld</item>
+ <item>pslldq</item>
+ <item>psllq</item>
+ <item>psllw</item>
+ <item>psrad</item>
+ <item>psraw</item>
+ <item>psrld</item>
+ <item>psrldq</item>
+ <item>psrlq</item>
+ <item>psrlw</item>
+ <item>psubb</item>
+ <item>psubd</item>
+ <item>psubq</item>
+ <item>psubsb</item>
+ <item>psubsiw</item>
+ <item>psubsw</item>
+ <item>psubusb</item>
+ <item>psubusw</item>
+ <item>psubw</item>
+ <item>pswapd</item>
+ <item>punpckhbw</item>
+ <item>punpckhdq</item>
+ <item>punpckhqdq</item>
+ <item>punpckhwd</item>
+ <item>punpcklbw</item>
+ <item>punpckldq</item>
+ <item>punpcklqdq</item>
+ <item>punpcklwd</item>
+ <item>push</item>
+ <item>pusha</item>
+ <item>pushad</item>
+ <item>pushaw</item>
+ <item>pushf</item>
+ <item>pushfd</item>
+ <item>pushfq</item>
+ <item>pushfw</item>
+ <item>pxor</item>
+ <item>rcl</item>
+ <item>rcr</item>
+ <item>rcpps</item>
+ <item>rcpss</item>
+ <item>rdmsr</item>
+ <item>rdpmc</item>
+ <item>rdshr</item>
+ <item>rdtsc</item>
+ <item>rdtscp</item>
+ <item>ret</item>
+ <item>retf</item>
+ <item>retn</item>
+ <item>rol</item>
+ <item>ror</item>
+ <item>rsdc</item>
+ <item>rsldt</item>
+ <item>rsm</item>
+ <item>rsqrtps</item>
+ <item>rsqrtss</item>
+ <item>rsts</item>
+ <item>sahf</item>
+ <item>sal</item>
+ <item>sar</item>
+ <item>salc</item>
+ <item>sbb</item>
+ <item>scas</item>
+ <item>scasb</item>
+ <item>scasd</item>
+ <item>scasq</item>
+ <item>scasw</item>
+ <item>seta</item>
+ <item>setae</item>
+ <item>setb</item>
+ <item>setbe</item>
+ <item>setc</item>
+ <item>sete</item>
+ <item>setg</item>
+ <item>setge</item>
+ <item>setl</item>
+ <item>setle</item>
+ <item>setna</item>
+ <item>setnae</item>
+ <item>setnb</item>
+ <item>setnbe</item>
+ <item>setnc</item>
+ <item>setne</item>
+ <item>setng</item>
+ <item>setnge</item>
+ <item>setnl</item>
+ <item>setnle</item>
+ <item>setno</item>
+ <item>setnp</item>
+ <item>setns</item>
+ <item>setnz</item>
+ <item>seto</item>
+ <item>setp</item>
+ <item>setpe</item>
+ <item>setpo</item>
+ <item>sets</item>
+ <item>setz</item>
+ <item>sfence</item>
+ <item>sgdt</item>
+ <item>shl</item>
+ <item>shld</item>
+ <item>shr</item>
+ <item>shrd</item>
+ <item>shufpd</item>
+ <item>shufps</item>
+ <item>sidt</item>
+ <item>skinit</item>
+ <item>sldt</item>
+ <item>smi</item>
+ <item>smint</item>
+ <item>smintold</item>
+ <item>smsw</item>
+ <item>sqrtpd</item>
+ <item>sqrtps</item>
+ <item>sqrtsd</item>
+ <item>sqrtss</item>
+ <item>stc</item>
+ <item>std</item>
+ <item>stgi</item>
+ <item>sti</item>
+ <item>stmxcsr</item>
+ <item>stos</item>
+ <item>stosb</item>
+ <item>stosd</item>
+ <item>stosq</item>
+ <item>stosw</item>
+ <item>str</item>
+ <item>sub</item>
+ <item>subpd</item>
+ <item>subps</item>
+ <item>subsd</item>
+ <item>subss</item>
+ <item>svdc</item>
+ <item>svldt</item>
+ <item>svts</item>
+ <item>swapgs</item>
+ <item>syscall</item>
+ <item>sysenter</item>
+ <item>sysexit</item>
+ <item>sysret</item>
+ <item>test</item>
+ <item>ucomisd</item>
+ <item>ucomiss</item>
+ <item>ud0</item>
+ <item>ud1</item>
+ <item>ud2</item>
+ <item>umov</item>
+ <item>unpckhpd</item>
+ <item>unpckhps</item>
+ <item>unpcklpd</item>
+ <item>unpcklps</item>
+ <item>verr</item>
+ <item>verw</item>
+ <item>vmload</item>
+ <item>vmmcall</item>
+ <item>vmrun</item>
+ <item>vmsave</item>
+ <item>wait</item>
+ <item>wbinvd</item>
+ <item>wrmsr</item>
+ <item>wrshr</item>
+ <item>xadd</item>
+ <item>xbts</item>
+ <item>xchg</item>
+ <item>xlat</item>
+ <item>xlatb</item>
+ <item>xor</item>
+ <item>xorpd</item>
+ <item>xorps</item>
+ </list>
+
+ <list name="Data">
+ <!-- Initialized data (1.2.2)-->
+ <item>db</item>
+ <item>dw</item>
+ <item>du</item>
+ <item>dd</item>
+ <item>dp</item>
+ <item>df</item>
+ <item>dq</item>
+ <item>dt</item>
+ <!-- Uninitialized data (1.2.2)-->
+ <item>rb</item>
+ <item>rw</item>
+ <item>rd</item>
+ <item>rp</item>
+ <item>rf</item>
+ <item>rq</item>
+ <item>rt</item>
+ <!-- binary file include (1.2.2)-->
+ <item>file</item>
+ <!-- operand size from (1.2.1)-->
+ <item>byte</item>
+ <item>word</item>
+ <item>dword</item>
+ <item>pword</item>
+ <item>qword</item>
+ <item>tbyte</item>
+ <item>tword</item>
+ <item>dqword</item>
+ <item>ptr</item>
+ </list>
+
+ <list name="Preprocessor Keywords"> <!-- Contains keywords for macros, structures, etc... -->
+ <item>append</item>
+ <item>at</item> <!-- As in "virtual at"-->
+ <item>break</item>
+ <item>common</item>
+ <item>display</item>
+ <item>else</item>
+ <item>end</item> <!-- As in "end if"-->
+ <item>equ</item>
+ <item>fix</item>
+ <item>foward</item>
+ <item>if</item>
+ <item>irp</item>
+ <item>irps</item>
+ <item>label</item>
+ <item>local</item>
+ <item>match</item>
+ <item>macro</item>
+ <item>purge</item>
+ <item>repeat</item>
+ <item>rept</item>
+ <item>reverse</item>
+ <item>restore</item>
+ <item>struc</item>
+ <item>times</item>
+ <item>while</item>
+ <item>virtual</item>
+ </list>
+
+ <list name="Instruction-like Keywords"> <!-- Contains instruction-like keywords -->
+ <item>align</item>
+ <item>entry</item>
+ <item>extrn</item>
+ <item>format</item>
+ <item>include</item>
+ <item>invoke</item>
+ <item>data</item>
+ <item>load</item>
+ <item>from</item>
+ <item>heap</item>
+ <item>org</item>
+ <item>proc</item>
+ <item>public</item>
+ <item>section</item>
+ <item>segment</item>
+ <item>stack</item>
+ <item>store</item>
+ <item>use16</item>
+ <item>use32</item>
+ <item>use64</item>
+ </list>
+
+ <contexts>
+ <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+ <keyword attribute="Registers" context="#stay" String="registers"/>
+ <keyword attribute="Data" context="#stay" String="Data"/>
+ <keyword attribute="Instructions" context="#stay" String="instructions"/>
+ <keyword attribute="Instructions" context="#stay" String="Instruction-like Keywords"/>
+ <keyword attribute="Preprocessor" context="#stay" String="Preprocessor Keywords"/>
+ <DetectChar attribute="Comment" context="Comment" char=";"/>
+ <AnyChar attribute="String" context="String" String="&quot;'"/>
+ <RegExpr attribute="Label" context="#stay" String="^\s*[A-Za-z0-9@_.$?]+:"/>
+ <!-- Conditional instructions -->
+ <RegExpr attribute="Instructions" context="#stay" String="(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)"/>
+ <!-- hexadecimal numbers -->
+ <RegExpr attribute="BaseN" context="#stay" insensitive="true" String="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[a-f0-9]+h)([ \t,]+|$)"/>
+ <!-- octal and binary numbers -->
+ <RegExpr attribute="BaseN" context="#stay" insensitive="true" String="(^|[ \t,]+)([0-7]+(q|o)|[01]+b)([ \t,]+|$)"/>
+ <DetectChar attribute="Number" context="#stay" char="$"/>
+ <HlCOct attribute="BaseN" context="#stay"/>
+ <HlCHex attribute="BaseN" context="#stay"/>
+ <Float attribute="Float" context="#stay"/>
+ <Int attribute="Number" context="#stay"/>
+ <HlCChar attribute="Char" context="#stay"/>
+ </context>
+ <context name="Comment" attribute="Comment" lineEndContext="#pop"/>
+ <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
+ <context name="String" attribute="String" lineEndContext="#pop">
+ <AnyChar attribute="String" context="#pop" String="&quot;'"/>
+ </context>
+ </contexts>
+
+ <itemDatas>
+ <itemData name="Normal Text" defStyleNum="dsNormal"/>
+ <itemData name="Registers" defStyleNum="dsKeyword"/>
+ <itemData name="Instructions" defStyleNum="dsKeyword"/>
+ <itemData name="Comment" defStyleNum="dsComment"/>
+ <itemData name="Label" defStyleNum="dsFunction"/>
+ <itemData name="Data" defStyleNum="dsDataType"/>
+ <itemData name="BaseN" defStyleNum="dsBaseN"/>
+ <itemData name="Float" defStyleNum="dsFloat"/>
+ <itemData name="Number" defStyleNum="dsDecVal"/>
+ <itemData name="Char" defStyleNum="dsChar"/>
+ <itemData name="String" defStyleNum="dsString"/>
+ <itemData name="Preprocessor" defStyleNum="dsOthers"/>
+ </itemDatas>
+ </highlighting>
+ <general>
+ <keywords casesensitive="0"/>
+ <comments>
+ <comment name="singleLine" start=";"/>
+ </comments>
+ </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->