<?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="1" kateversion="5.0" 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="dsBuiltIn"/>
      <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="dsPreprocessor"/>
    </itemDatas>
  </highlighting>
  <general>
    <keywords casesensitive="0"/>
    <comments>
      <comment name="singleLine" start=";"/>
    </comments>
  </general>
</language>
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
