You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
894 lines
25 KiB
894 lines
25 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
<!--
|
|
NASM Intel x86 assembly syntax
|
|
|
|
Created: Nicola Gigante <nicola.gigante@gmail.com>
|
|
Changes: Bogdan Drozdowski (bogdandr@op.pl)
|
|
Version: 1.3
|
|
Lyle Putnam (lcputnam@gmail.com)
|
|
Version: 1.4
|
|
|
|
Changes from 1.0:
|
|
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.
|
|
22/04/2006: version 1.3 from Bogdan Drozdowski (bogdandr@op.pl):
|
|
Removed duplicates form the instruction list and made it alphabetical.
|
|
Added new instructions (some SSE* and 64-bit, NASM may not know all of them).
|
|
Corrections in register list and a few new ones (not 64-bit).
|
|
Changed regexes for hex, octal and bin numbers. Now words like
|
|
"change" and "blah" will NOT have the "ch" and "ah" coloured.
|
|
24/07/2011: Version 1.4 from Lyle Putnam (lcputnam@gmail.com):
|
|
The above change to fix the regex for hex numbers was incorrect on Kate
|
|
3.6.2. Fixed.
|
|
|
|
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.40" 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>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">
|
|
<!-- 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>absolute</item>
|
|
<item>bits</item>
|
|
<item>common</item>
|
|
<item>extern</item>
|
|
<item>global</item>
|
|
<item>org</item>
|
|
<item>section</item>
|
|
<item>seg</item>
|
|
<item>segment</item>
|
|
<item>strict</item>
|
|
<item>use16</item>
|
|
<item>use32</item>
|
|
<item>wrt</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>__SECT__</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=""'"/>
|
|
<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="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[0-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=""'"/>
|
|
</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; -->
|