<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
  NASM Intel x86 assembly syntax

  Created: Nicola Gigante <nicola.gigante@gmail.com>
  Version: 1.2

  15/01/2006: version 1.1
    Added the rol instruction (bytewise rotate left) to the keywords list.
  17/01/2006: version 1.2
    Remade the list of instructions directly from the nasm documentation.

  GNU GENERAL PUBLIC LICENCE

This program, including associated files, is free software.  You may
distribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either Version 2 of
the license, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-->

<language name="Intel x86 (NASM)" section="Assembler" version="1.20" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPL">
  <highlighting>
    <list name="registers">
      <!-- General purpose registers -->
      <item>eax</item>
      <item>ax</item>
      <item>ah</item>
      <item>al</item>
      <item>ebx</item>
      <item>bx</item>
      <item>bh</item>
      <item>bl</item>
      <item>ecx</item>
      <item>cx</item>
      <item>ch</item>
      <item>cl</item>
      <item>edx</item>
      <item>dx</item>
      <item>dh</item>
      <item>dl</item>
      <item>ebp</item>
      <item>bp</item>
      <item>esi</item>
      <item>si</item>
      <item>edi</item>
      <item>di</item>
      <item>eip</item>
      <item>ip</item>
      <item>esp</item>
      <item>sp</item>
      <!-- Segmentation registers -->
      <item>cs</item>
      <item>ds</item>
      <item>ss</item>
      <item>es</item>
      <item>gs</item>
      <item>fs</item>
      <!-- Control registers -->
      <item>cr0</item>
      <item>cr1</item>
      <item>cr2</item>
      <item>cr3</item>
      <item>cr4</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>aas</item>
      <item>aad</item>
      <item>aam</item>
      <item>adc</item>
      <item>add</item>
      <item>addpd</item>
      <item>addps</item>
      <item>addsd</item>
      <item>addss</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>clc</item>
      <item>cld</item>
      <item>cli</item>
      <item>clts</item>
      <item>clflush</item>
      <item>cmc</item>
      <item>cmovcc</item>
      <item>cmp</item>
      <item>cmppd</item>
      <item>cmpeqpd</item>
      <item>cmpltpd</item>
      <item>cmplepd</item>
      <item>cmpunordpd</item>
      <item>cmpneqpd</item>
      <item>cmpnltpd</item>
      <item>cmpnlepd</item>
      <item>cmpordpd</item>
      <item>cmpps</item>
      <item>cmpeqps</item>
      <item>cmpltps</item>
      <item>cmpleps</item>
      <item>cmpunordps</item>
      <item>cmpneqps</item>
      <item>cmpnltps</item>
      <item>cmpnleps</item>
      <item>cmpordps</item>
      <item>cmpsb</item>
      <item>cmpsw</item>
      <item>cmpsd</item>
      <item>cmpeqsd</item>
      <item>cmpltsd</item>
      <item>cmplesd</item>
      <item>cmpunordsd</item>
      <item>cmpneqsd</item>
      <item>cmpnltsd</item>
      <item>cmpnlesd</item>
      <item>cmpordsd</item>
      <item>cmpss</item>
      <item>cmpeqss</item>
      <item>cmpltss</item>
      <item>cmpless</item>
      <item>cmpunordss</item>
      <item>cmpneqss</item>
      <item>cmpnltss</item>
      <item>cmpnless</item>
      <item>cmpordss</item>
      <item>cmpxchg</item>
      <item>cmpxchg486</item>
      <item>cmpxchg8b</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>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>fcmove</item>
      <item>fcmovbe</item>
      <item>fcmovu</item>
      <item>fcmovnb</item>
      <item>fcmovne</item>
      <item>fcmovnbe</item>
      <item>fcmovnu</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>fndisi</item>
      <item>feni</item>
      <item>fneni</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>fist</item>
      <item>fistp</item>
      <item>fimul</item>
      <item>fincstp</item>
      <item>finit</item>
      <item>fninit</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>fldpi</item>
      <item>fldz</item>
      <item>fldcw</item>
      <item>fldenv</item>
      <item>fmul</item>
      <item>fmulp</item>
      <item>fnop</item>
      <item>fpatan</item>
      <item>fptan</item>
      <item>fprem</item>
      <item>fprem1</item>
      <item>frndint</item>
      <item>fsave</item>
      <item>fnsave</item>
      <item>frstor</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>fnstcw</item>
      <item>fstenv</item>
      <item>fnstenv</item>
      <item>fstsw</item>
      <item>fnstsw</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>fxam</item>
      <item>fxch</item>
      <item>fxrstor</item>
      <item>fxsave</item>
      <item>fxtract</item>
      <item>fyl2x</item>
      <item>fyl2xp1</item>
      <item>hlt</item>
      <item>ibts</item>
      <item>idiv</item>
      <item>imul</item>
      <item>in</item>
      <item>inc</item>
      <item>insb</item>
      <item>insw</item>
      <item>insd</item>
      <item>int</item>
      <item>int1</item>
      <item>icebp</item>
      <item>int01</item>
      <item>int3</item>
      <item>int03</item>
      <item>into</item>
      <item>invd</item>
      <item>invlpg</item>
      <item>iret</item>
      <item>iretw</item>
      <item>iretd</item>
      <item>jcc</item>
      <item>jcxz</item>
      <item>jecxz</item>
      <item>jmp</item>
      <item>lahf</item>
      <item>lar</item>
      <item>ldmxcsr</item>
      <item>lds</item>
      <item>les</item>
      <item>lfs</item>
      <item>lgs</item>
      <item>lss</item>
      <item>lea</item>
      <item>leave</item>
      <item>lfence</item>
      <item>lgdt</item>
      <item>lidt</item>
      <item>lldt</item>
      <item>lmsw</item>
      <item>loadall</item>
      <item>loadall286</item>
      <item>lodsb</item>
      <item>lodsw</item>
      <item>lodsd</item>
      <item>loop</item>
      <item>loope</item>
      <item>loopz</item>
      <item>loopne</item>
      <item>loopnz</item>
      <item>lsl</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>mov</item>
      <item>movapd</item>
      <item>movaps</item>
      <item>movd</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>movsb</item>
      <item>movsw</item>
      <item>movsd</item>
      <item>movss</item>
      <item>movsx</item>
      <item>movzx</item>
      <item>movupd</item>
      <item>movups</item>
      <item>mul</item>
      <item>mulpd</item>
      <item>mulps</item>
      <item>mulsd</item>
      <item>mulss</item>
      <item>neg</item>
      <item>not</item>
      <item>nop</item>
      <item>or</item>
      <item>orpd</item>
      <item>orps</item>
      <item>out</item>
      <item>outsb</item>
      <item>outsw</item>
      <item>outsd</item>
      <item>packssdw</item>
      <item>packsswb</item>
      <item>packuswb</item>
      <item>packssdw</item>
      <item>packsswb</item>
      <item>packuswb</item>
      <item>paddb</item>
      <item>paddw</item>
      <item>paddd</item>
      <item>paddb</item>
      <item>paddw</item>
      <item>paddd</item>
      <item>paddq</item>
      <item>paddsb</item>
      <item>paddsw</item>
      <item>paddsb</item>
      <item>paddsw</item>
      <item>paddsiw</item>
      <item>paddusb</item>
      <item>paddusw</item>
      <item>paddusb</item>
      <item>paddusw</item>
      <item>pand</item>
      <item>pandn</item>
      <item>pand</item>
      <item>pandn</item>
      <item>pause</item>
      <item>paveb</item>
      <item>pavgb</item>
      <item>pavgw</item>
      <item>pavgb</item>
      <item>pavgw</item>
      <item>pavgusb</item>
      <item>pcmpeqb</item>
      <item>pcmpeqw</item>
      <item>pcmpeqd</item>
      <item>pcmpgtb</item>
      <item>pcmpgtw</item>
      <item>pcmpgtd</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>pmulhrwc</item>
      <item>pmulhriw</item>
      <item>pmulhrwa</item>
      <item>pmulhuw</item>
      <item>pmulhw</item>
      <item>pmullw</item>
      <item>pmulhw</item>
      <item>pmullw</item>
      <item>pmuludq</item>
      <item>pmvzb</item>
      <item>pmvnzb</item>
      <item>pmvlzb</item>
      <item>pmvgezb</item>
      <item>pop</item>
      <item>popa</item>
      <item>popaw</item>
      <item>popad</item>
      <item>popf</item>
      <item>popfw</item>
      <item>popfd</item>
      <item>por</item>
      <item>prefetch</item>
      <item>prefetchw</item>
      <item>prefetchnta</item>
      <item>prefetcht0</item>
      <item>prefetcht1</item>
      <item>prefetcht2</item>
      <item>psadbw</item>
      <item>pshufd</item>
      <item>pshufhw</item>
      <item>pshuflw</item>
      <item>pshufw</item>
      <item>psllw</item>
      <item>pslld</item>
      <item>psllq</item>
      <item>pslldq</item>
      <item>psraw</item>
      <item>psrad</item>
      <item>psrlw</item>
      <item>psrld</item>
      <item>psrlq</item>
      <item>psrldq</item>
      <item>psubb</item>
      <item>psubw</item>
      <item>psubd</item>
      <item>psubq</item>
      <item>psubb</item>
      <item>psubw</item>
      <item>psubd</item>
      <item>psubq</item>
      <item>psubsb</item>
      <item>psubsw</item>
      <item>psubsb</item>
      <item>psubsw</item>
      <item>psubusb</item>
      <item>psubusw</item>
      <item>psubusb</item>
      <item>psubusw</item>
      <item>psubsiw</item>
      <item>pswapd</item>
      <item>punpckhbw</item>
      <item>punpckhwd</item>
      <item>punpckhdq</item>
      <item>punpckhbw</item>
      <item>punpckhwd</item>
      <item>punpckhdq</item>
      <item>punpckhqdq</item>
      <item>punpcklbw</item>
      <item>punpcklwd</item>
      <item>punpckldq</item>
      <item>punpcklbw</item>
      <item>punpcklwd</item>
      <item>punpckldq</item>
      <item>punpcklqdq</item>
      <item>push</item>
      <item>pusha</item>
      <item>pushad</item>
      <item>pushaw</item>
      <item>pushf</item>
      <item>pushfd</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>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>scasb</item>
      <item>scasw</item>
      <item>scasd</item>
      <item>setcc</item>
      <item>sfence</item>
      <item>sgdt</item>
      <item>sidt</item>
      <item>sldt</item>
      <item>shl</item>
      <item>shr</item>
      <item>shld</item>
      <item>shrd</item>
      <item>shufpd</item>
      <item>shufps</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>sti</item>
      <item>stmxcsr</item>
      <item>stosb</item>
      <item>stosw</item>
      <item>stosd</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>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>wait</item>
      <item>fwait</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>
      <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>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>cdq</item>
      <item>clc</item>
      <item>cld</item>
      <item>clflush</item>
      <item>cli</item>
      <item>clts</item>
      <item>cmc</item>
      <item>cmovcc</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>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>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>cwd</item>
      <item>cwde</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>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>fcomi</item>
      <item>fcomip</item>
      <item>fcomp</item>
      <item>fcompp</item>
      <item>fcos</item>
      <item>fdecstp</item>
      <item>fdisi</item>
      <item>fdiv</item>
      <item>fdivp</item>
      <item>fdivr</item>
      <item>fdivrp</item>
      <item>femms</item>
      <item>feni</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>fisub</item>
      <item>fisubr</item>
      <item>fld</item>
      <item>fld1</item>
      <item>fldcw</item>
      <item>fldenv</item>
      <item>fldl2e</item>
      <item>fldl2t</item>
      <item>fldlg2</item>
      <item>fldln2</item>
      <item>fldpi</item>
      <item>fldz</item>
      <item>fmul</item>
      <item>fmulp</item>
      <item>fnclex</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>fpatan</item>
      <item>fprem</item>
      <item>fprem1</item>
      <item>fptan</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>fstcw</item>
      <item>fstenv</item>
      <item>fstp</item>
      <item>fstsw</item>
      <item>fsub</item>
      <item>fsubp</item>
      <item>fsubr</item>
      <item>fsubrp</item>
      <item>ftst</item>
      <item>fucom</item>
      <item>fucomi</item>
      <item>fucomip</item>
      <item>fucomp</item>
      <item>fucompp</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>hlt</item>
      <item>ibts</item>
      <item>icebp</item>
      <item>idiv</item>
      <item>imul</item>
      <item>in</item>
      <item>inc</item>
      <item>insb</item>
      <item>insd</item>
      <item>insw</item>
      <item>int</item>
      <item>int01</item>
      <item>int03</item>
      <item>int1</item>
      <item>int3</item>
      <item>into</item>
      <item>invd</item>
      <item>invlpg</item>
      <item>iret</item>
      <item>iretd</item>
      <item>iretw</item>
      <item>jcc</item>
      <item>jcxz</item>
      <item>jecxz</item>
      <item>jmp</item>
      <item>lahf</item>
      <item>lar</item>
      <item>ldmxcsr</item>
      <item>lds</item>
      <item>lea</item>
      <item>leave</item>
      <item>les</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>lodsb</item>
      <item>lodsd</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>mov</item>
      <item>movapd</item>
      <item>movaps</item>
      <item>movd</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>movsb</item>
      <item>movsd</item>
      <item>movss</item>
      <item>movsw</item>
      <item>movsx</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>neg</item>
      <item>nop</item>
      <item>not</item>
      <item>or</item>
      <item>orpd</item>
      <item>orps</item>
      <item>out</item>
      <item>outsb</item>
      <item>outsd</item>
      <item>outsw</item>
      <item>packssdw</item>
      <item>packsswb</item>
      <item>packuswb</item>
      <item>paddb</item>
      <item>paddd</item>
      <item>paddq</item>
      <item>paddsb</item>
      <item>paddsiw</item>
      <item>paddsw</item>
      <item>paddusb</item>
      <item>paddusw</item>
      <item>paddw</item>
      <item>pand</item>
      <item>pandn</item>
      <item>pause</item>
      <item>paveb</item>
      <item>pavgb</item>
      <item>pavgusb</item>
      <item>pavgw</item>
      <item>pcmpeqb</item>
      <item>pcmpeqd</item>
      <item>pcmpeqw</item>
      <item>pcmpgtb</item>
      <item>pcmpgtd</item>
      <item>pcmpgtw</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>pmulhriw</item>
      <item>pmulhrwa</item>
      <item>pmulhrwc</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>popad</item>
      <item>popaw</item>
      <item>popf</item>
      <item>popfd</item>
      <item>popfw</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>pushfw</item>
      <item>pxor</item>
      <item>rcl</item>
      <item>rcpps</item>
      <item>rcpss</item>
      <item>rcr</item>
      <item>rdmsr</item>
      <item>rdpmc</item>
      <item>rdshr</item>
      <item>rdtsc</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>salc</item>
      <item>sar</item>
      <item>sbb</item>
      <item>scasb</item>
      <item>scasd</item>
      <item>scasw</item>
      <item>setcc</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>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>sti</item>
      <item>stmxcsr</item>
      <item>stosb</item>
      <item>stosd</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>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>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">
      <!-- repeat some data declaration -->
      <item>times</item>
      <!-- constants -->
      <item>equ</item>
      <!-- Initialized data -->
      <item>db</item>
      <item>dw</item>
      <item>dd</item>
      <item>dq</item>
      <item>dt</item>
      <!-- Uninitialized data -->
      <item>resb</item>
      <item>resw</item>
      <item>resd</item>
      <item>resq</item>
      <item>rest</item>
      <!-- binary file include -->
      <item>incbin</item>
      <!-- operand size -->
      <item>byte</item>
      <item>word</item>
      <item>dword</item>
      <item>qword</item>
      <item>short</item>
      <item>ptr</item>
    </list>
    <list name="NASM Keywords">
      <!-- NASM directives -->
      <item>org</item>
      <item>bits</item>
      <item>use16</item>
      <item>use32</item>
      <item>section</item>
      <item>segment</item>
      <item>__sect__</item>
      <item>absolute</item>
      <item>extern</item>
      <item>global</item>
      <item>common</item>
      <item>seg</item>
      <item>wrt</item>
      <item>strict</item>
      <!-- NASM standard macros -->
      <item>struc</item>
      <item>endstruc</item>
      <item>istruc</item>
      <item>at</item>
      <item>iend</item>
      <item>align</item>
      <item>alignb</item>

      <item>__NASM_MAJOR__</item>
      <item>__NASM_MINOR__</item>
      <item>__NASM_SUBMINOR__</item>
      <item>___NASM_PATCHLEVEL__</item>
      <item>__NASM_VERSION_ID__</item>
      <item>__NASM_VER__</item>
      <item>__FILE__</item>
      <item>__LINE__</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="NASM Keywords" context="#stay" String="NASM Keywords"/>
        <DetectChar attribute="Comment" context="Comment" char=";" />
        <DetectChar attribute="Preprocessor" context="Preprocessor" 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)" />
        <!-- The NASM's CPU directive -->
        <RegExpr attribute="NASM Keywords" context="#stay" String="cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*"/>
        <!-- hexadecimal numbers -->
        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(\$[0-9]+[a-f0-9]*|[a-f0-9]+h)"/>
        <!-- octal and binary numbers -->
        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="([0-7]+(q|o)|[01]+b)"/>
        <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="NASM Keywords" 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; -->
