mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 08:39:33 +02:00
3247 lines
113 KiB
Plaintext
3247 lines
113 KiB
Plaintext
;
|
|
; Table of assembler instructions for Free Pascal
|
|
; adapted from Netwide Assembler by Peter Vreman
|
|
;
|
|
; The Netwide Assembler is copyright (C) 1996 Simon Tatham and
|
|
; Julian Hall. All rights reserved.
|
|
;
|
|
; Layout
|
|
; [OPCODE,attnameX] (X means suffix in att name)
|
|
; arguments bytes flags
|
|
;
|
|
|
|
[NONE]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void void none
|
|
|
|
[AAA]
|
|
(Ch_MEAX, Ch_WFlags, Ch_None)
|
|
void \1\x37 8086
|
|
|
|
[AAD,aadX]
|
|
(Ch_MEAX, Ch_WFlags, Ch_None)
|
|
void \2\xD5\x0A 8086
|
|
imm \1\xD5\24 8086,SB
|
|
|
|
[AAM,aamX]
|
|
(Ch_MEAX, Ch_WFlags, Ch_None)
|
|
void \2\xD4\x0A 8086
|
|
imm \1\xD4\24 8086,SB
|
|
|
|
[AAS]
|
|
(Ch_MEAX, Ch_WFlags, Ch_None)
|
|
void \1\x3F 8086
|
|
|
|
[ADC,adcX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
regmem,reg16|32|64 \300\320\1\x11\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x13\110 8086,SM
|
|
rm8,reg8 \300\323\1\x10\101 8086
|
|
reg8,rm8 \301\323\1\x12\110 8086
|
|
rm16|32|64,imm8 \300\320\1\x83\202\15 8086
|
|
reg_eax|64,imm \320\1\x15\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\202\41 386,SD
|
|
reg_ax,imm \324\1\x15\31 8086,SW
|
|
rm16,imm \300\324\1\x81\202\31 8086,SW
|
|
reg_al,imm \1\x14\21 8086,SB
|
|
rm8,imm \300\323\1\x80\202\21 8086,SB
|
|
|
|
[ADD,addX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x01\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x03\110 8086,SM
|
|
rm8,reg8 \300\323\17\101 8086
|
|
reg8,rm8 \301\323\1\x02\110 8086,SM
|
|
rm16|32|64,imm8 \300\320\1\x83\200\15 8086
|
|
reg_eax|64,imm \320\1\x05\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\200\41 386,SD
|
|
reg_ax,imm \324\1\x05\31 8086,SW
|
|
rm16,imm \300\324\1\x81\200\31 8086,SW
|
|
reg_al,imm \1\x04\21 8086,SB
|
|
rm8,imm \300\323\1\x80\200\21 8086,SB
|
|
|
|
[AND,andX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x21\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x23\110 8086,SM
|
|
rm8,reg8 \300\323\1\x20\101 8086
|
|
reg8,rm8 \301\323\1\x22\110 8086
|
|
rm16|32|64,imm8 \300\320\1\x83\204\15 8086
|
|
reg_eax|64,imm \320\1\x25\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\204\41 386,SD
|
|
reg_ax,imm \324\1\x25\31 8086,SW
|
|
rm16,imm \300\324\1\x81\204\31 8086,SW
|
|
reg_al,imm \1\x24\21 8086,SB
|
|
rm8,imm \300\323\1\x80\204\21 8086,SB
|
|
|
|
[ARPL,arplX]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
reg16,reg16 \300\1\x63\101 286,PROT
|
|
mem,reg16 \300\1\x63\101 286,PROT,SM
|
|
|
|
[BOUND,boundX]
|
|
(Ch_Rop1, Ch_None, Ch_None)
|
|
reg16|32|64,mem \301\320\1\x62\110 186
|
|
|
|
[BSF,bsfX]
|
|
(Ch_Wop2, Ch_WFlags, Ch_Rop1)
|
|
reg16|32|64,regmem \301\320\2\x0F\xBC\110 386,SM
|
|
|
|
[BSR,bsrX]
|
|
(Ch_Wop2, Ch_WFlags, Ch_Rop1)
|
|
reg16|32|64,regmem \301\320\2\x0F\xBD\110 386,SM
|
|
|
|
[BSWAP,bswapX]
|
|
(Ch_MOp1, Ch_None, Ch_None)
|
|
reg32|64 \320\1\x0F\10\xC8 486
|
|
|
|
[BT,btX]
|
|
(Ch_WFlags, Ch_Rop1, Ch_Rop2)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xA3\101 386,SM
|
|
rm16|32|64,imm \300\320\2\x0F\xBA\204\25 386,SB
|
|
|
|
[BTC,btcX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xBB\101 386,SM
|
|
rm16|32|64,imm \300\320\2\x0F\xBA\207\25 386,SB
|
|
|
|
[BTR,btrX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xB3\101 386,SM
|
|
rm16|32|64,imm \300\320\2\x0F\xBA\206\25 386,SB
|
|
|
|
[BTS,btsX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xAB\101 386,SM
|
|
rm16|32|64,imm \300\320\2\x0F\xBA\205\25 386,SB
|
|
|
|
[CALL,call]
|
|
; don't know value of any register
|
|
(Ch_ROp1, Ch_All, Ch_None)
|
|
imm \320\1\xE8\64 8086
|
|
rm16|32|64 \300\320\1\xFF\202 8086
|
|
imm|near \320\1\xE8\64 8086
|
|
imm|far \320\1\x9A\34\37 8086,ND
|
|
mem|near \300\320\1\xFF\202 8086
|
|
mem|far \300\320\1\xFF\203 8086
|
|
imm:imm \327\1\x9A\35\30 8086
|
|
imm16:imm \324\1\x9A\31\30 8086
|
|
imm:imm16 \324\1\x9A\31\30 8086
|
|
imm32:imm \325\1\x9A\41\30 386
|
|
imm:imm32 \325\1\x9A\41\30 386
|
|
|
|
[CBW,cbtw]
|
|
(Ch_MEAX, Ch_None, Ch_None)
|
|
void \324\1\x98 8086
|
|
|
|
[CDQ,cltd]
|
|
(Ch_MEAX, Ch_WEDX, Ch_None)
|
|
void \325\1\x99 386
|
|
|
|
[CLC]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
void \1\xF8 8086
|
|
|
|
[CLD]
|
|
(Ch_CDirFlag, Ch_None, Ch_None)
|
|
void \1\xFC 8086
|
|
|
|
[CLI]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
void \1\xFA 8086
|
|
|
|
[CLTS]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \2\x0F\x06 286,PRIV
|
|
|
|
[CMC]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
void \1\xF5 8086
|
|
|
|
[CMP,cmpX]
|
|
(Ch_ROp1, Ch_ROp2, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x39\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x3B\110 8086,SM
|
|
rm8,reg8 \300\323\1\x38\101 8086
|
|
reg8,rm8 \301\323\1\x3A\110 8086
|
|
rm16|32|64,imm8 \300\320\1\x83\207\15 8086
|
|
reg_eax|64,imm \320\1\x3D\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\207\41 386,SD
|
|
reg_ax,imm \324\1\x3D\31 8086,SW
|
|
rm16,imm \300\324\1\x81\207\31 8086,SW
|
|
reg_al,imm \1\x3C\21 8086,SB
|
|
rm8,imm \300\323\1\x80\207\21 8086,SB
|
|
mem,imm32 \325\300\1\x81\207\41 386,SD
|
|
mem,imm16 \300\324\1\x81\207\31 8086,SW
|
|
mem,imm8 \300\323\1\x80\207\21 8086,SB
|
|
|
|
[CMPSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\1\xA6 8086
|
|
|
|
[CMPSD,cmpsl]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\325\1\xA7 386
|
|
xmmreg,xmmreg,imm \331\3\xF2\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\331\3\xF2\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
|
[CMPSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\324\1\xA7 8086
|
|
|
|
[CMPXCHG,cmpxchgX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xB1\101 PENT,SM
|
|
rm8,reg8 \300\323\2\x0F\xB0\101 PENT
|
|
|
|
[CMPXCHG486,cmpxchg486X]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xA7\101 486,SM
|
|
rm8,reg8 \300\323\2\x0F\xA6\101 486,UNDOC
|
|
|
|
[CMPXCHG8B,cmpxchg8b]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\323\2\x0F\xC7\201 PENT
|
|
|
|
[CPUID]
|
|
(Ch_All, Ch_None, Ch_none)
|
|
void \2\x0F\xA2 PENT
|
|
|
|
[CWD]
|
|
(Ch_MEAX, Ch_WEDX, Ch_None)
|
|
void \324\1\x99 8086
|
|
|
|
[CWDE,cwtl]
|
|
(Ch_MEAX, Ch_None, Ch_None)
|
|
void \325\1\x98 386
|
|
|
|
[DAA]
|
|
(Ch_MEAX, Ch_None, Ch_None)
|
|
void \1\x27 8086
|
|
|
|
[DAS]
|
|
(Ch_MEAX, Ch_None, Ch_None)
|
|
void \1\x2F 8086
|
|
|
|
[DEC,decX]
|
|
(Ch_Mop1, Ch_WFlags, Ch_None)
|
|
reg16|32|64 \320\10\x48 8086,NOX86_64
|
|
rm16|32|64 \300\320\1\xFF\201 8086
|
|
rm8 \300\323\1\xFE\201 8086
|
|
|
|
[DIV,divX]
|
|
(Ch_RWEAX, Ch_WEDX, Ch_WFlags)
|
|
rm16|32|64 \300\320\1\xF7\206 8086
|
|
rm8 \300\323\1\xF6\206 8086
|
|
|
|
[EMMS]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\x0F\x77 PENT,MMX
|
|
|
|
[ENTER,enterX]
|
|
(Ch_RWESP, Ch_None, Ch_None)
|
|
imm,imm \1\xC8\30\25 186
|
|
|
|
[F2XM1]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF0 8086,FPU
|
|
|
|
[FABS]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE1 8086,FPU
|
|
|
|
[FADD,faddF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem32 \300\323\1\xD8\200 8086,FPU
|
|
mem64 \300\323\1\xDC\200 8086,FPU
|
|
void \2\xDE\xC1 8086,FPU
|
|
fpureg|to \1\xDC\10\xC0 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xC0 8086,FPU
|
|
fpureg \1\xD8\10\xC0 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xC0 8086,FPU
|
|
|
|
[FADDP,faddpF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
void \2\xDE\xC1 8086,FPU
|
|
fpureg \1\xDE\10\xC0 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xC0 8086,FPU
|
|
|
|
[FBLD,fbldF]
|
|
(Ch_Rop1, Ch_FPU, Ch_None)
|
|
mem80 \300\323\1\xDF\204 8086,FPU
|
|
mem \300\323\1\xDF\204 8086,FPU
|
|
|
|
[FBSTP,fbstpF]
|
|
(Ch_Wop1, Ch_FPU, Ch_None)
|
|
mem80 \300\323\1\xDF\206 8086,FPU
|
|
mem \300\323\1\xDF\206 8086,FPU
|
|
|
|
[FCHS]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE0 8086,FPU
|
|
|
|
[FCLEX]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \3\x9B\xDB\xE2 8086,FPU
|
|
|
|
[FCMOVB,fcmovbF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDA\xC1 P6,FPU
|
|
fpureg \1\xDA\10\xC0 P6,FPU
|
|
fpu0,fpureg \1\xDA\11\xC0 P6,FPU
|
|
|
|
[FCMOVBE,fcmovbeF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDA\xD1 P6,FPU
|
|
fpureg \1\xDA\10\xD0 P6,FPU
|
|
fpu0,fpureg \1\xDA\11\xD0 P6,FPU
|
|
|
|
[FCMOVE,fcmoveF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDA\xC9 P6,FPU
|
|
fpureg \1\xDA\10\xC8 P6,FPU
|
|
fpu0,fpureg \1\xDA\11\xC8 P6,FPU
|
|
|
|
[FCMOVNB,fcmovnbF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDB\xC1 P6,FPU
|
|
fpureg \1\xDB\10\xC0 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xC0 P6,FPU
|
|
|
|
[FCMOVNBE,fcmovnbeF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDB\xD1 P6,FPU
|
|
fpureg \1\xDB\10\xD0 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xD0 P6,FPU
|
|
|
|
[FCMOVNE,fcmovneF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDB\xC9 P6,FPU
|
|
fpureg \1\xDB\10\xC8 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xC8 P6,FPU
|
|
|
|
[FCMOVNU,fcmovnuF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDB\xD9 P6,FPU
|
|
fpureg \1\xDB\10\xD8 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xD8 P6,FPU
|
|
|
|
[FCMOVU,fcmovuF]
|
|
(Ch_FPU, Ch_RFLAGS, Ch_None)
|
|
void \2\xDA\xD9 P6,FPU
|
|
fpureg \1\xDA\10\xD8 P6,FPU
|
|
fpu0,fpureg \1\xDA\11\xD8 P6,FPU
|
|
|
|
[FCOM,fcomF]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xD8\202 8086,FPU
|
|
mem64 \300\323\1\xDC\202 8086,FPU
|
|
void \2\xD8\xD1 8086,FPU
|
|
fpureg \1\xD8\10\xD0 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xD0 8086,FPU
|
|
|
|
[FCOMI,fcomiF]
|
|
(Ch_WFLAGS, Ch_None, Ch_None)
|
|
void \2\xDB\xF1 P6,FPU
|
|
fpureg \1\xDB\10\xF0 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xF0 P6,FPU
|
|
|
|
[FCOMIP,fcomipF]
|
|
(Ch_FPU, Ch_WFLAGS, Ch_None)
|
|
void \2\xDF\xF1 P6,FPU
|
|
fpureg \1\xDF\10\xF0 P6,FPU
|
|
fpu0,fpureg \1\xDF\11\xF0 P6,FPU
|
|
|
|
[FCOMP,fcompF]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xD8\203 8086,FPU
|
|
mem64 \300\323\1\xDC\203 8086,FPU
|
|
void \2\xD8\xD9 8086,FPU
|
|
fpureg \1\xD8\10\xD8 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xD8 8086,FPU
|
|
|
|
[FCOMPP]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDE\xD9 8086,FPU
|
|
|
|
[FCOS]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFF 386,FPU
|
|
|
|
[FDECSTP]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF6 8086,FPU
|
|
|
|
[FDISI]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \3\x9B\xDB\xE1 8086,FPU
|
|
|
|
[FDIV,fdivF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem32 \300\323\1\xD8\206 8086,FPU
|
|
mem64 \300\323\1\xDC\206 8086,FPU
|
|
void \2\xDC\xF1 8086,FPU
|
|
fpureg|to \1\xDC\10\xF0 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xF0 8086,FPU
|
|
fpureg \1\xD8\10\xF0 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xF0 8086,FPU
|
|
|
|
[FDIVP,fdivpF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
void \2\xDE\xF1 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xF0 8086,FPU
|
|
fpureg \1\xDE\10\xF0 8086,FPU
|
|
|
|
[FDIVR,fdivrF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem32 \300\323\1\xD8\207 8086,FPU
|
|
mem64 \300\323\1\xDC\207 8086,FPU
|
|
void \2\xDC\xF9 8086,FPU
|
|
fpureg|to \1\xDC\10\xF8 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xF8 8086,FPU
|
|
fpureg \1\xD8\10\xF8 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xF8 8086,FPU
|
|
|
|
[FDIVRP,fdivrpF]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
void \2\xDE\xF9 8086,FPU
|
|
fpureg \1\xDE\10\xF8 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xF8 8086,FPU
|
|
|
|
[FEMMS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x0E PENT,3DNOW
|
|
|
|
[FENI]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \3\x9B\xDB\xE0 8086,FPU
|
|
|
|
[FFREE]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
fpureg \1\xDD\10\xC0 8086,FPU
|
|
|
|
[FIADD,fiaddR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\200 8086,FPU
|
|
mem32 \300\323\1\xDA\200 8086,FPU
|
|
|
|
[FICOM,ficomR]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem16 \300\323\1\xDE\202 8086,FPU
|
|
mem32 \300\323\1\xDA\202 8086,FPU
|
|
|
|
[FICOMP,ficompR]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem16 \300\323\1\xDE\203 8086,FPU
|
|
mem32 \300\323\1\xDA\203 8086,FPU
|
|
|
|
[FIDIV,fidivR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\206 8086,FPU
|
|
mem32 \300\323\1\xDA\206 8086,FPU
|
|
|
|
[FIDIVR,fidivrR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\207 8086,FPU
|
|
mem32 \300\323\1\xDA\207 8086,FPU
|
|
|
|
[FILD,fildR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem32 \300\323\1\xDB\200 8086,FPU
|
|
mem16 \300\323\1\xDF\200 8086,FPU
|
|
mem64 \300\323\1\xDF\205 8086,FPU
|
|
|
|
[FIMUL,fimulR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\201 8086,FPU
|
|
mem32 \300\323\1\xDA\201 8086,FPU
|
|
|
|
[FINCSTP]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF7 8086,FPU
|
|
|
|
[FINIT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \3\x9B\xDB\xE3 8086,FPU
|
|
|
|
[FIST,fistR]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xDB\202 8086,FPU
|
|
mem16 \300\324\1\xDF\202 8086,FPU
|
|
|
|
[FISTP,fistpR]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xDB\203 8086,FPU
|
|
mem16 \300\324\1\xDF\203 8086,FPU
|
|
mem64 \300\323\1\xDF\207 8086,FPU
|
|
|
|
[FISTTP]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xDD\201 PRESCOTT,FPU
|
|
mem16 \300\323\1\xDB\201 PRESCOTT,FPU
|
|
mem64 \300\323\1\xDF\201 PRESCOTT,FPU
|
|
|
|
[FISUB,fisubR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\204 8086,FPU
|
|
mem32 \300\323\1\xDA\204 8086,FPU
|
|
|
|
[FISUBR,fisubrR]
|
|
(Ch_FPU, Ch_ROp1, Ch_None)
|
|
mem16 \300\323\1\xDE\205 8086,FPU
|
|
mem32 \300\323\1\xDA\205 8086,FPU
|
|
|
|
[FLD,fldF]
|
|
(Ch_Rop1, Ch_FPU, Ch_None)
|
|
mem32 \300\323\1\xD9\200 8086,FPU
|
|
mem64 \300\323\1\xDD\200 8086,FPU
|
|
mem80 \300\323\1\xDB\205 8086,FPU
|
|
fpureg \1\xD9\10\xC0 8086,FPU
|
|
|
|
[FLD1]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE8 8086,FPU
|
|
|
|
[FLDCW,fldcwX]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem \300\323\1\xD9\205 8086,FPU,SW
|
|
|
|
[FLDENV,fldenv]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem \300\323\1\xD9\204 8086,FPU
|
|
|
|
[FLDL2E]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xEA 8086,FPU
|
|
|
|
[FLDL2T]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE9 8086,FPU
|
|
|
|
[FLDLG2]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xEC 8086,FPU
|
|
|
|
[FLDLN2]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xED 8086,FPU
|
|
|
|
[FLDPI]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xEB 8086,FPU
|
|
|
|
[FLDZ]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xEE 8086,FPU
|
|
|
|
[FMUL,fmulF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
mem32 \300\323\1\xD8\201 8086,FPU
|
|
mem64 \300\323\1\xDC\201 8086,FPU
|
|
void \2\xDC\xC9 8086,FPU
|
|
fpureg|to \1\xDC\10\xC8 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xC8 8086,FPU
|
|
fpureg \1\xD8\10\xC8 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xC8 8086,FPU
|
|
|
|
[FMULP,fmulpF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
void \2\xDE\xC9 8086,FPU
|
|
fpureg \1\xDE\10\xC8 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xC8 8086,FPU
|
|
|
|
[FNCLEX]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDB\xE2 8086,FPU
|
|
|
|
[FNDISI]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDB\xE1 8086,FPU
|
|
|
|
[FNENI]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDB\xE0 8086,FPU
|
|
|
|
[FNINIT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDB\xE3 8086,FPU
|
|
|
|
[FNOP]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xD0 8086,FPU
|
|
|
|
[FNSAVE,fnsave]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem \300\323\1\xDD\206 8086,FPU
|
|
|
|
[FNSTCW,fnstcwX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\1\xD9\207 8086,FPU,SW
|
|
|
|
[FNSTENV,fnstenv]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\1\xD9\206 8086,FPU
|
|
|
|
[FNSTSW,fnstswX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\1\xDD\207 8086,FPU,SW
|
|
reg_ax \2\xDF\xE0 286,FPU
|
|
|
|
[FPATAN]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF3 8086,FPU
|
|
|
|
[FPREM]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF8 8086,FPU
|
|
|
|
[FPREM1]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF5 386,FPU
|
|
|
|
[FPTAN]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF2 8086,FPU
|
|
|
|
[FRNDINT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFC 8086,FPU
|
|
|
|
[FRSTOR,frstor]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
mem \300\323\1\xDD\204 8086,FPU
|
|
|
|
[FSAVE,fsave]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\2\x9B\xDD\206 8086,FPU
|
|
|
|
[FSCALE]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFD 8086,FPU
|
|
|
|
[FSETPM]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDB\xE4 286,FPU
|
|
|
|
[FSIN]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFE 386,FPU
|
|
|
|
[FSINCOS]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFB 386,FPU
|
|
|
|
[FSQRT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xFA 8086,FPU
|
|
|
|
[FST,fstF]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem32 \300\323\1\xD9\202 8086,FPU
|
|
mem64 \300\323\1\xDD\202 8086,FPU
|
|
fpureg \1\xDD\10\xD0 8086,FPU
|
|
|
|
[FSTCW,fstcwX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\2\x9B\xD9\207 8086,FPU,SW
|
|
|
|
[FSTENV,fstenv]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\2\x9B\xD9\206 8086,FPU
|
|
|
|
[FSTP,fstpF]
|
|
(Ch_Wop1, Ch_FPU, Ch_None)
|
|
mem32 \300\323\1\xD9\203 8086,FPU
|
|
mem64 \300\323\1\xDD\203 8086,FPU
|
|
mem80 \300\323\1\xDB\207 8086,FPU
|
|
fpureg \1\xDD\10\xD8 8086,FPU
|
|
|
|
[FSTSW,fstswX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\323\2\x9B\xDD\207 8086,FPU,SW
|
|
void \3\x9B\xDF\xE0 286,FPU
|
|
reg_ax \3\x9B\xDF\xE0 286,FPU
|
|
|
|
[FSUB,fsubF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
mem32 \300\323\1\xD8\204 8086,FPU
|
|
mem64 \300\323\1\xDC\204 8086,FPU
|
|
void \2\xDC\xE1 8086,FPU
|
|
fpureg|to \1\xDC\10\xE0 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xE0 8086,FPU
|
|
fpureg \1\xD8\10\xE0 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xE0 8086,FPU
|
|
|
|
[FSUBP,fsubpF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
void \2\xDE\xE1 8086,FPU
|
|
fpureg \1\xDE\10\xE0 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xE0 8086,FPU
|
|
|
|
[FSUBR,fsubrF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
mem32 \300\323\1\xD8\205 8086,FPU
|
|
mem64 \300\323\1\xDC\205 8086,FPU
|
|
void \2\xDC\xE9 8086,FPU
|
|
fpureg|to \1\xDC\10\xE8 8086,FPU
|
|
fpureg,fpu0 \1\xDC\10\xE8 8086,FPU
|
|
fpureg \1\xD8\10\xE8 8086,FPU
|
|
fpu0,fpureg \1\xD8\11\xE8 8086,FPU
|
|
|
|
[FSUBRP,fsubrpF]
|
|
(Ch_ROp1, Ch_FPU, Ch_None)
|
|
void \2\xDE\xE9 8086,FPU
|
|
fpureg \1\xDE\10\xE8 8086,FPU
|
|
fpureg,fpu0 \1\xDE\10\xE8 8086,FPU
|
|
|
|
[FTST]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE4 8086,FPU
|
|
|
|
[FUCOM,fucomF]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \2\xDD\xE1 386,FPU
|
|
fpureg \1\xDD\10\xE0 386,FPU
|
|
fpu0,fpureg \1\xDD\11\xE0 386,FPU
|
|
|
|
[FUCOMI,fucomiF]
|
|
(Ch_WFLAGS, Ch_None, Ch_None)
|
|
void \2\xDB\xE9 P6,FPU
|
|
fpureg \1\xDB\10\xE8 P6,FPU
|
|
fpu0,fpureg \1\xDB\11\xE8 P6,FPU
|
|
|
|
[FUCOMIP,fucomipF]
|
|
(Ch_FPU, Ch_WFLAGS, Ch_None)
|
|
void \2\xDF\xE9 P6,FPU
|
|
fpureg \1\xDF\10\xE8 P6,FPU
|
|
fpu0,fpureg \1\xDF\11\xE8 P6,FPU
|
|
|
|
[FUCOMP,fucompF]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDD\xE9 386,FPU
|
|
fpureg \1\xDD\10\xE8 386,FPU
|
|
fpu0,fpureg \1\xDD\11\xE8 386,FPU
|
|
|
|
[FUCOMPP]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xDA\xE9 386,FPU
|
|
|
|
[FWAIT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \1\x9B 8086,FPU
|
|
|
|
[FXAM]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xE5 8086,FPU
|
|
|
|
[FXCH,fxchF]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xC9 8086,FPU
|
|
fpureg \1\xD9\10\xC8 8086,FPU
|
|
fpureg,fpu0 \1\xD9\10\xC8 8086,FPU
|
|
fpu0,fpureg \1\xD9\11\xC8 8086,FPU
|
|
|
|
[FXTRACT]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF4 8086,FPU
|
|
|
|
[FYL2X]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF1 8086,FPU
|
|
|
|
[FYL2XP1]
|
|
(Ch_FPU, Ch_None, Ch_None)
|
|
void \2\xD9\xF9 8086,FPU
|
|
|
|
[HLT]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\xF4 8086,PRIV
|
|
|
|
[IBTS,ibtsX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
regmem,reg16|32|64 \300\320\2\x0F\xA7\101 386,SM,UNDOC,ND
|
|
|
|
[ICEBP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xF1 386,ND
|
|
|
|
[IDIV,idivX]
|
|
(Ch_RWEAX, Ch_WEDX, Ch_WFlags)
|
|
rm16|32|64 \300\320\1\xF7\207 8086
|
|
rm8 \300\323\1\xF6\207 8086
|
|
|
|
[IMUL,imulX]
|
|
(Ch_RWEAX, Ch_WEDX, Ch_WFlags)
|
|
reg16|32|64,regmem \301\320\2\x0F\xAF\110 386,SM
|
|
rm16|32|64 \300\320\1\xF7\205 8086
|
|
reg32|64,regmem,imm8 \301\320\1\x6B\110\16 286,SM
|
|
reg32|64,regmem,imm \301\320\1\x69\110\42 286,SM,SD,AR2
|
|
reg32|64,imm8 \320\1\x6B\100\15 286
|
|
reg32|64,imm \320\1\x69\100\41 286,SD
|
|
reg16,regmem,imm8 \301\324\1\x6B\110\16 286,SM
|
|
reg16,regmem,imm \301\324\1\x69\110\32 286,SM,SW,AR2
|
|
reg16,imm8 \324\1\x6B\100\15 286
|
|
reg16,imm \324\1\x69\100\31 286,SW
|
|
rm8 \300\323\1\xF6\205 8086
|
|
|
|
[IN,inX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg_al,imm \1\xE4\25 8086,SB
|
|
reg_ax|32|64,imm \320\1\xE5\25 8086,SB
|
|
reg_al,reg_dx \1\xEC 8086
|
|
reg_ax|32|64,reg_dx \320\1\xED 8086
|
|
|
|
[INC,incX]
|
|
(Ch_Mop1, Ch_WFlags, Ch_None)
|
|
reg16|32|64 \320\10\x40 8086,NOX86_64
|
|
rm16|32|64 \300\320\1\xFF\200 8086
|
|
rm8 \300\323\1\xFE\200 8086
|
|
|
|
[INSB]
|
|
(Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
|
|
void \1\x6C 186
|
|
|
|
[INSD,insl]
|
|
(Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
|
|
void \325\1\x6D 386
|
|
|
|
[INSW]
|
|
(Ch_WMemEDI, Ch_RWEDI, Ch_REDX)
|
|
void \324\1\x6D 186
|
|
|
|
[INT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
imm \1\xCD\24 8086,SB
|
|
|
|
[INT01]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xF1 386,ND
|
|
|
|
[INT1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xF1 386
|
|
|
|
[INT03]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\xCC 8086,ND
|
|
|
|
[INT3]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\xCC 8086
|
|
|
|
[INTO]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xCE 8086
|
|
|
|
[INVD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x08 486,PRIV
|
|
|
|
[INVLPG,invlpgX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x01\207 486,PRIV
|
|
|
|
[IRET]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \327\1\xCF 8086
|
|
|
|
[IRETD,iret]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \325\1\xCF 386
|
|
|
|
[IRETW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \324\1\xCF 8086
|
|
|
|
[JCXZ]
|
|
(Ch_RECX, Ch_None, Ch_None)
|
|
imm \2\x67\xE3\50 8086,NOX86_64
|
|
|
|
[JECXZ]
|
|
(Ch_RECX, Ch_None, Ch_None)
|
|
imm \1\xE3\50 386,NOX86_64
|
|
imm \2\x67\xE3\50 X86_64
|
|
|
|
[JRCXZ]
|
|
(Ch_RECX, Ch_None, Ch_None)
|
|
imm \1\xE3\50 X86_64
|
|
|
|
[JMP,jmpX]
|
|
(Ch_ROp1, Ch_None, Ch_None)
|
|
imm8 \1\xEB\50 8086,PASS2
|
|
imm16|32|64 \320\1\xE9\64 8086,PASS2
|
|
rm16|32|64 \300\320\1\xFF\204 8086
|
|
imm|short \1\xEB\50 8086,PASS2
|
|
imm|near \320\1\xE9\64 8086,ND,PASS2
|
|
imm|far \320\1\xEA\34\37 8086,ND,PASS2
|
|
mem|near \300\320\1\xFF\204 8086
|
|
mem|far \300\320\1\xFF\205 8086
|
|
imm:imm \327\1\xEA\35\30 8086
|
|
imm:imm16 \324\1\xEA\31\30 8086
|
|
imm:imm32 \325\1\xEA\41\30 386
|
|
|
|
[LAHF]
|
|
(Ch_WEAX, Ch_RFlags, Ch_None)
|
|
void \1\x9F 8086
|
|
|
|
[LAR,larX]
|
|
(Ch_Wop2, Ch_None, Ch_None)
|
|
reg16|32|64,regmem \301\320\2\x0F\x02\110 286,PROT,SM
|
|
|
|
[LCALL,lcall]
|
|
; don't know value of any register
|
|
(Ch_All, Ch_None, Ch_None)
|
|
rm16|32|64 \300\320\1\xFF\202 8086
|
|
mem|near \300\320\1\xFF\202 8086
|
|
mem|far \300\320\1\xFF\203 8086
|
|
|
|
[LDS,ldsX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg16|32,mem \301\320\1\xC5\110 8086
|
|
|
|
[LEA,leaX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,mem \301\320\1\x8D\110 8086
|
|
reg32|64,imm \301\320\1\x8D\110 8086,SD
|
|
|
|
[LEAVE]
|
|
(Ch_RWESP, Ch_WEBP, Ch_None)
|
|
void \1\xC9 186
|
|
|
|
[LES,lesX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg16|32,mem \301\320\1\xC4\110 8086
|
|
|
|
[LFS,lfsX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg16|32,mem \301\320\2\x0F\xB4\110 386
|
|
|
|
[LGDT,lgdtX]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x01\202 286,PRIV
|
|
|
|
[LGS,lgsX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg16|32,mem \301\320\2\x0F\xB5\110 386
|
|
|
|
[LIDT,lidtX]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x01\203 286,PRIV
|
|
|
|
[LJMP,ljmp]
|
|
(Ch_ROp1, Ch_None, Ch_None)
|
|
rm16|32|64 \300\320\1\xFF\204 8086
|
|
mem|far \300\320\1\xFF\205 8086
|
|
mem|near \300\320\1\xFF\204 8086
|
|
|
|
[LLDT,lldtX]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
rm16 \300\1\x0F\17\202 286,PROT,PRIV
|
|
|
|
[LMSW,lmswX]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
rm16 \300\2\x0F\x01\206 286,PRIV
|
|
|
|
[LOADALL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x07 386,UNDOC
|
|
|
|
[LOADALL286]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x05 286,UNDOC
|
|
|
|
[LOCK]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\xF0 8086,PRE
|
|
|
|
[LODSB]
|
|
(Ch_WEAX, Ch_RWESI, Ch_None)
|
|
void \1\xAC 8086
|
|
|
|
[LODSD,lodsl]
|
|
(Ch_WEAX, Ch_RWESI, Ch_None)
|
|
void \325\1\xAD 386
|
|
|
|
[LODSW]
|
|
(Ch_WEAX, Ch_RWESI, Ch_None)
|
|
void \324\1\xAD 8086
|
|
|
|
[LOOP]
|
|
(Ch_RWECX, Ch_None, Ch_None)
|
|
imm \312\1\xE2\50 8086
|
|
imm,reg_cx \310\1\xE2\50 8086
|
|
imm,reg_ecx|64 \311\1\xE2\50 386
|
|
|
|
[LOOPE]
|
|
(Ch_RWECX, Ch_RFlags, Ch_None)
|
|
imm \312\1\xE1\50 8086
|
|
imm,reg_cx \310\1\xE1\50 8086
|
|
imm,reg_ecx|64 \311\1\xE1\50 386
|
|
|
|
[LOOPNE]
|
|
(Ch_RWECX, Ch_RFlags, Ch_None)
|
|
imm \312\1\xE0\50 8086
|
|
imm,reg_cx \310\1\xE0\50 8086
|
|
imm,reg_ecx|64 \311\1\xE0\50 386
|
|
|
|
[LOOPNZ]
|
|
(Ch_RWECX, Ch_RFlags, Ch_None)
|
|
imm \312\1\xE0\50 8086
|
|
imm,reg_cx \310\1\xE0\50 8086
|
|
imm,reg_ecx|64 \311\1\xE0\50 386
|
|
|
|
[LOOPZ]
|
|
(Ch_RWECX, Ch_RFlags, Ch_None)
|
|
imm \312\1\xE1\50 8086
|
|
imm,reg_cx \310\1\xE1\50 8086
|
|
imm,reg_ecx|64 \311\1\xE1\50 386
|
|
|
|
[LSL,lslX]
|
|
(Ch_Wop2, Ch_WFlags, Ch_None)
|
|
reg16|32|64,regmem \301\320\2\x0F\x03\110 286,PROT,SM
|
|
|
|
[LSS,lssX]
|
|
(Ch_Wop2, Ch_ROP1, Ch_None)
|
|
reg16|32|64,mem \301\320\2\x0F\xB2\110 386
|
|
|
|
[LTR,ltrX]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
rm16 \300\1\x0F\17\203 286,PROT,PRIV
|
|
|
|
[MONITOR]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC8 PRESCOTT
|
|
reg_eax,reg_ecx,reg_edx \3\x0F\x01\xC8 PRESCOTT,ND
|
|
|
|
[MOV,movX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
mem_offs,reg_ax|32 \300\320\1\xA3\34 8086,SM,NOX86_64
|
|
regmem,reg16|32|64 \300\320\1\x89\101 8086,SM
|
|
reg_ax|32,mem_offs \325\301\1\xA1\35 8086,SM,NOX86_64
|
|
reg16|32|64,regmem \301\320\1\x8B\110 8086,SM
|
|
reg32|64,imm \320\10\xB8\35 386,SD
|
|
rm32|64,imm \300\320\1\xC7\200\41 386,SD
|
|
reg16,imm \324\10\xB8\31 8086,SW
|
|
rm16,imm \300\324\1\xC7\200\31 8086,SW
|
|
mem_offs,reg_al \300\1\xA2\34 8086,SM,NOX86_64
|
|
rm8,reg8 \300\323\1\x88\101 8086
|
|
reg_al,mem_offs \301\1\xA0\35 8086,SM,NOX86_64
|
|
reg8,rm8 \301\323\1\x8A\110 8086,SM
|
|
reg8,imm \323\10\xB0\21 8086,SB
|
|
rm8,imm \300\323\1\xC6\200\21 8086,SB
|
|
rm16|32,reg_cs \300\320\1\x8C\201 8086
|
|
rm16|32,reg_dess \300\320\1\x8C\101 8086
|
|
rm16|32,reg_fsgs \300\320\1\x8C\101 386
|
|
reg_dess,rm16|32 \301\321\1\x8E\110 8086,SM
|
|
reg_fsgs,rm16|32 \301\321\1\x8E\110 386,SM
|
|
reg32,reg_cr4 \2\x0F\x20\204 PENT,PRIV,NOX86_64
|
|
reg32,reg_creg \2\x0F\x20\101 386,PRIV,NOX86_64
|
|
reg32,reg_dreg \2\x0F\x21\101 386,PRIV,NOX86_64
|
|
reg32,reg_treg \2\x0F\x24\101 386,PRIV,NOX86_64
|
|
reg64,reg_cr4 \2\x0F\x20\204 PENT,PRIV,X86_64
|
|
reg64,reg_creg \2\x0F\x20\101 386,PRIV,X86_64
|
|
reg64,reg_dreg \2\x0F\x21\101 386,PRIV,X86_64
|
|
reg64,reg_treg \2\x0F\x24\101 386,PRIV,X86_64
|
|
reg_cr4,reg32 \2\x0F\x22\214 PENT,PRIV,NOX86_64
|
|
reg_creg,reg32 \2\x0F\x22\110 386,PRIV,NOX86_64
|
|
reg_dreg,reg32 \2\x0F\x23\110 386,PRIV,NOX86_64
|
|
reg_treg,reg32 \2\x0F\x26\110 386,PRIV,NOX86_64
|
|
reg_cr4,reg64 \2\x0F\x22\214 PENT,PRIV,X86_64
|
|
reg_creg,reg64 \2\x0F\x22\110 386,PRIV,X86_64
|
|
reg_dreg,reg64 \2\x0F\x23\110 386,PRIV,X86_64
|
|
reg_treg,reg64 \2\x0F\x26\110 386,PRIV,X86_64
|
|
|
|
[MOVD,movd]
|
|
(Ch_Rop1, Ch_Wop2, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x6E\110 PENT,MMX,SD
|
|
mmxreg,reg32 \2\x0F\x6E\110 PENT,MMX
|
|
mem,mmxreg \300\2\x0F\x7E\101 PENT,MMX,SD
|
|
reg32,mmxreg \2\x0F\x7E\101 PENT,MMX
|
|
xmmreg,reg32 \323\3\x66\x0F\x6E\110 WILLAMETTE,SSE2
|
|
reg32,xmmreg \323\3\x66\x0F\x7E\101 WILLAMETTE,SSE2
|
|
xmmreg,reg64 \1\x66\326\2\x0F\x6E\110 WILLAMETTE,SSE2
|
|
reg64,xmmreg \1\x66\326\2\x0F\x7E\101 WILLAMETTE,SSE2
|
|
mem,xmmreg \1\x66\326\2\x0F\x7E\101 WILLAMETTE,SSE2
|
|
xmmreg,mem \1\x66\326\2\x0F\x6E\110 WILLAMETTE,SSE2
|
|
|
|
[MOVQ,movq]
|
|
(Ch_Rop1, Ch_Wop2, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x6F\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x6F\110 PENT,MMX
|
|
mem,mmxreg \300\2\x0F\x7F\101 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x7F\101 PENT,MMX
|
|
xmmreg,xmmreg \333\2\x0F\x7E\110 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD6\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\3\x66\x0F\xD6\101 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\333\2\x0F\x7E\110 WILLAMETTE,SSE2
|
|
|
|
[MOVSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xA4 8086
|
|
|
|
[MOVSD,movsl]
|
|
; Ch_All isn't correct for the sse move, but how can it be solved? (FK)
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \325\1\xA5 386
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x10\110 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x11\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\1\xF2\323\2\x0F\x11\101 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x10\110 WILLAMETTE,SSE2
|
|
|
|
[MOVSQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \326\1\xA5 X86_64
|
|
|
|
[MOVSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \324\1\xA5 8086
|
|
|
|
[MOVSX,movsX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,rm16 \301\320\2\x0F\xBF\110 386
|
|
reg16|32|64,rm8 \301\320\2\x0F\xBE\110 386
|
|
|
|
[MOVZX,movzX]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,rm16 \301\320\2\x0F\xB7\110 386
|
|
reg16|32|64,rm8 \301\320\2\x0F\xB6\110 386
|
|
|
|
[MUL,mulX]
|
|
(Ch_RWEAX, Ch_WEDX, Ch_WFlags)
|
|
rm16|32|64 \300\320\1\xF7\204 8086
|
|
rm8 \300\323\1\xF6\204 8086
|
|
|
|
[MWAIT]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC9 PRESCOTT
|
|
reg_eax,reg_ecx \3\x0F\x01\xC9 PRESCOTT,ND
|
|
|
|
|
|
[NEG,negX]
|
|
(Ch_Mop1, Ch_None, Ch_None)
|
|
rm16|32|64 \300\320\1\xF7\203 8086
|
|
rm8 \300\323\1\xF6\203 8086
|
|
|
|
[NOP]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x90 8086
|
|
|
|
[NOT,notX]
|
|
(Ch_Mop1, Ch_WFlags, Ch_None)
|
|
rm16|32|64 \300\320\1\xF7\202 8086
|
|
rm8 \300\323\1\xF6\202 8086
|
|
|
|
[OR,orX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x09\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x0B\110 8086,SM
|
|
rm8,reg8 \300\323\1\x08\101 8086
|
|
reg8,rm8 \301\323\1\x0A\110 8086,SM
|
|
rm16|32|64,imm8 \300\320\1\x83\201\15 8086
|
|
reg_eax|64,imm \320\1\x0D\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\201\41 386,SD
|
|
reg_ax,imm \324\1\x0D\31 8086,SW
|
|
rm16,imm \300\324\1\x81\201\31 8086,SW
|
|
reg_al,imm \1\x0C\21 8086,SB
|
|
rm8,imm \300\323\1\x80\201\21 8086,SB
|
|
|
|
[OUT,outX]
|
|
(Ch_Rop1, Ch_Rop2, Ch_None)
|
|
imm,reg_al \1\xE6\24 8086,SB
|
|
imm,reg_ax \324\1\xE7\24 8086,SB
|
|
imm,reg_eax \325\1\xE7\24 386,SB
|
|
reg_dx,reg_al \1\xEE 8086
|
|
reg_dx,reg_ax \324\1\xEF 8086
|
|
reg_dx,reg_eax \325\1\xEF 386
|
|
|
|
[OUTSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\x6E 186
|
|
|
|
[OUTSD,outsl]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \325\1\x6F 386
|
|
|
|
[OUTSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \324\1\x6F 186
|
|
|
|
[PACKSSDW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x6B\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x6B\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x6B\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x6B\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PACKSSWB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x63\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x63\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x63\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x63\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PACKUSWB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x67\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x67\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x67\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x67\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PADDB]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xFC\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xFC\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\xFC\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xFC\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PADDD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xFE\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xFE\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\xFE\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xFE\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PADDSB]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xEC\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xEC\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xEC\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xEC\110 WILLAMETTE,SSE2
|
|
|
|
[PADDSIW]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x51\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x51\110 PENT,MMX,CYRIX
|
|
|
|
[PADDSW]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xED\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xED\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xED\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xED\110 WILLAMETTE,SSE2
|
|
|
|
[PADDUSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xDC\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xDC\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xDC\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDC\110 WILLAMETTE,SSE2
|
|
|
|
[PADDUSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xDD\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xDD\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xDD\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDD\110 WILLAMETTE,SSE2
|
|
|
|
[PADDW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xFD\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xFD\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\xFD\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xFD\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PAND]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xDB\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xDB\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDB\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xDB\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PANDN]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xDF\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xDF\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDF\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xDF\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PAVEB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x50\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x50\110 PENT,MMX,CYRIX
|
|
|
|
[PAVGUSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xBF PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xBF PENT,3DNOW
|
|
|
|
[PCMPEQB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x74\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x74\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x74\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x74\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PCMPEQD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x76\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x76\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x76\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x76\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PCMPEQW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x75\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x75\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x75\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x75\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PCMPGTB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x64\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x64\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x64\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x64\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PCMPGTD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x66\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x66\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x66\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x66\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PCMPGTW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x65\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x65\110 PENT,MMX
|
|
xmmreg,xmmreg \323\3\x66\x0F\x65\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x65\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PDISTIB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x54\110 PENT,MMX,SM,CYRIX
|
|
|
|
[PF2ID]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x1D PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x1D PENT,3DNOW
|
|
|
|
[PFACC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xAE PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xAE PENT,3DNOW
|
|
|
|
[PFADD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x9E PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x9E PENT,3DNOW
|
|
|
|
[PFCMPEQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xB0 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xB0 PENT,3DNOW
|
|
|
|
[PFCMPGE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x90 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x90 PENT,3DNOW
|
|
|
|
[PFCMPGT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xA0 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xA0 PENT,3DNOW
|
|
|
|
[PFMAX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xA4 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xA4 PENT,3DNOW
|
|
|
|
[PFMIN]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x94 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x94 PENT,3DNOW
|
|
|
|
[PFMUL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xB4 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xB4 PENT,3DNOW
|
|
|
|
[PFRCP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x96 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x96 PENT,3DNOW
|
|
|
|
[PFRCPIT1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xA6 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xA6 PENT,3DNOW
|
|
|
|
[PFRCPIT2]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xB6 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xB6 PENT,3DNOW
|
|
|
|
[PFRSQIT1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xA7 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xA7 PENT,3DNOW
|
|
|
|
[PFRSQRT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x97 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x97 PENT,3DNOW
|
|
|
|
[PFSUB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x9A PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x9A PENT,3DNOW
|
|
|
|
[PFSUBR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xAA PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xAA PENT,3DNOW
|
|
|
|
[PI2FD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x0D PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x0D PENT,3DNOW
|
|
|
|
[PMACHRIW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x5E\110 PENT,MMX,SM,CYRIX
|
|
|
|
[PMADDWD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF5\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF5\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF5\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF5\110 WILLAMETTE,SSE2
|
|
|
|
[PMAGW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x52\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x52\110 PENT,MMX,CYRIX
|
|
|
|
[PMULHRIW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x5D\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x5D\110 PENT,MMX,CYRIX
|
|
|
|
[PMULHRWA]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\1\xB7 PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\1\xB7 PENT,3DNOW
|
|
|
|
[PMULHRWC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x59\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x59\110 PENT,MMX,CYRIX
|
|
|
|
[PMULHW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xE5\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xE5\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xE5\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE5\110 WILLAMETTE,SSE2
|
|
|
|
[PMULLW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD5\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD5\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD5\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD5\110 WILLAMETTE,SSE2
|
|
|
|
[PMVGEZB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x5C\110 PENT,MMX,SM,CYRIX
|
|
|
|
[PMVLZB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x5B\110 PENT,MMX,SM,CYRIX
|
|
|
|
[PMVNZB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x5A\110 PENT,MMX,SM,CYRIX
|
|
|
|
[PMVZB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x58\110 PENT,MMX,SM,CYRIX
|
|
|
|
[POP,popX]
|
|
(Ch_Wop1, Ch_RWESP, Ch_None)
|
|
reg16|32|64 \320\10\x58\335 8086
|
|
rm16|32|64 \300\320\1\x8F\200\335 8086
|
|
reg_cs \1\x0F 8086,UNDOC,ND
|
|
reg_dess \4 8086
|
|
reg_fsgs \1\x0F\5\335 386
|
|
|
|
[POPA,popaX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \327\1\x61 186
|
|
|
|
[POPAD,popal]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \325\1\x61 386
|
|
|
|
[POPAW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \324\1\x61 186
|
|
|
|
[POPF]
|
|
(Ch_RWESP, Ch_WFlags, Ch_None)
|
|
void \327\1\x9D 186
|
|
|
|
[POPFD,popfl]
|
|
(Ch_RWESP, Ch_WFlags, Ch_None)
|
|
void \325\1\x9D 386
|
|
|
|
[POPFW]
|
|
(Ch_RWESP, Ch_WFLAGS, Ch_None)
|
|
void \324\1\x9D 186
|
|
|
|
[POR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xEB\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xEB\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xEB\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xEB\110 WILLAMETTE,SSE2
|
|
|
|
[PREFETCH,prefetchX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \2\x0F\x0D\200 PENT,3DNOW,SM
|
|
|
|
[PREFETCHW,prefetchwX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \2\x0F\x0D\201 PENT,3DNOW,SM
|
|
|
|
[PSLLD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF2\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF2\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x72\206\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF2\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF2\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x72\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSLLDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,imm \323\3\x66\x0F\x73\207\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSLLQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF3\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF3\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x73\206\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF3\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF3\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x73\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSLLW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF1\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF1\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x71\206\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF1\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF1\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x71\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSRAD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xE2\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xE2\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x72\204\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xE2\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE2\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x72\204\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSRAW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xE1\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xE1\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x71\204\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xE1\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE1\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x71\204\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSRLD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD2\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD2\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x72\202\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD2\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD2\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x72\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSRLQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD3\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD3\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x73\202\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD3\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD3\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x73\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSRLW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD1\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD1\110 PENT,MMX
|
|
mmxreg,imm \2\x0F\x71\202\25 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD1\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD1\110 WILLAMETTE,SSE2
|
|
xmmreg,imm \323\3\x66\x0F\x71\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSUBB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF8\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF8\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF8\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF8\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xFA\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xFA\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xFA\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xFA\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xE8\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xE8\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xE8\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE8\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBSIW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x55\110 PENT,MMX,SM,CYRIX
|
|
mmxreg,mmxreg \2\x0F\x55\110 PENT,MMX,CYRIX
|
|
|
|
[PSUBSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xE9\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xE9\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xE9\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE9\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBUSB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD8\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD8\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD8\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD8\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBUSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xD9\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xD9\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xD9\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD9\110 WILLAMETTE,SSE2
|
|
|
|
[PSUBW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xF9\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xF9\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xF9\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF9\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKHBW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x68\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x68\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x68\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x68\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKHDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x6A\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x6A\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x6A\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x6A\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKHWD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x69\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x69\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x69\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x69\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKLBW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x60\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x60\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x60\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x60\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKLDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x62\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x62\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x62\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x62\110 WILLAMETTE,SSE2
|
|
|
|
[PUNPCKLWD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x61\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\x61\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\x61\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x61\110 WILLAMETTE,SSE2
|
|
|
|
[PUSH,pushX]
|
|
(Ch_Rop1, Ch_RWESP, Ch_None)
|
|
reg16|32|64 \320\10\x50\335 8086
|
|
rm16|32|64 \300\320\1\xFF\206\335 8086
|
|
imm32 \325\1\x68\40\335 386
|
|
imm16 \324\1\x68\30\335 286
|
|
imm8 \1\x6A\14\335 286
|
|
reg_fsgs \1\x0F\7\335 386,NOX86_64
|
|
reg_sreg \6 8086,NOX86_64
|
|
|
|
[PUSHA,pushaX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \327\1\x60 186
|
|
|
|
[PUSHAD,pushal]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \325\1\x60 386
|
|
|
|
[PUSHAW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \324\1\x60 186
|
|
|
|
[PUSHF]
|
|
(Ch_RWESP, Ch_RFlags, Ch_None)
|
|
void \327\1\x9C 186
|
|
|
|
[PUSHFD,pushfl]
|
|
(Ch_RWESP, Ch_RFlags, Ch_None)
|
|
void \325\1\x9C 386
|
|
|
|
[PUSHFW]
|
|
(Ch_RWESP, Ch_RFLAGS, Ch_None)
|
|
void \324\1\x9C 186
|
|
|
|
[PXOR]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\2\x0F\xEF\110 PENT,MMX,SM
|
|
mmxreg,mmxreg \2\x0F\xEF\110 PENT,MMX
|
|
xmmreg,mem \301\3\x66\x0F\xEF\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xEF\110 WILLAMETTE,SSE2
|
|
|
|
[RCL,rclX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\202 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\202 8086
|
|
rm16|32|64,imm8 \300\320\1\xC1\202\25 8086
|
|
rm8,unity \300\323\1\xD0\202 8086
|
|
rm8,reg_cl \300\323\1\xD2\202 8086
|
|
rm8,imm \300\323\1\xC0\202\25 186,SB
|
|
|
|
[RCR,rcrX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\203 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\203 8086
|
|
rm16|32|64,imm8 \300\320\1\xC1\203\25 8086
|
|
rm8,unity \300\323\1\xD0\203 8086
|
|
rm8,reg_cl \300\323\1\xD2\203 8086
|
|
rm8,imm \300\323\1\xC0\203\25 186,SB
|
|
|
|
[RDSHR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x36 P6,CYRIX,SMM
|
|
|
|
[RDMSR]
|
|
(Ch_WEAX, Ch_WEDX, Ch_None)
|
|
void \2\x0F\x32 PENT,PRIV
|
|
|
|
[RDPMC]
|
|
(Ch_WEAX, Ch_WEDX, Ch_None)
|
|
void \2\x0F\x33 P6
|
|
|
|
[RDTSC]
|
|
(Ch_WEAX, Ch_WEDX, Ch_None)
|
|
void \2\x0F\x31 PENT
|
|
|
|
[REP]
|
|
(Ch_RWECX, Ch_RWFlags, Ch_None)
|
|
void \1\xF3 8086,PRE
|
|
|
|
[REPE]
|
|
(Ch_RWECX, Ch_RWFlags, Ch_None)
|
|
void \1\xF3 8086,PRE
|
|
|
|
[REPNE]
|
|
(Ch_RWECX, Ch_RWFlags, Ch_None)
|
|
void \1\xF2 8086,PRE
|
|
|
|
[REPNZ]
|
|
(Ch_RWECX, Ch_RWFLAGS, Ch_None)
|
|
void \1\xF2 8086,PRE
|
|
|
|
[REPZ]
|
|
(Ch_RWECX, Ch_RWFLAGS, Ch_None)
|
|
void \1\xF3 8086,PRE
|
|
|
|
[RET]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xC3 8086
|
|
imm \1\xC2\30 8086,SW
|
|
|
|
[RETF,lret]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xCB 8086
|
|
imm \1\xCA\30 8086,SW
|
|
|
|
[RETN,ret]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xC3 8086
|
|
imm \1\xC2\30 8086,SW
|
|
|
|
[ROL,rolX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\200 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\200 8086
|
|
rm16|32|64,imm \300\320\1\xC1\200\25 8086,SB
|
|
rm8,unity \300\323\1\xD0\200 8086
|
|
rm8,reg_cl \300\323\1\xD2\200 8086
|
|
rm8,imm \300\323\1\xC0\200\25 186,SB
|
|
|
|
[ROR,rorX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\201 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\201 8086
|
|
rm16|32|64,imm \300\320\1\xC1\201\25 8086,SB
|
|
rm8,unity \300\323\1\xD0\201 8086
|
|
rm8,reg_cl \300\323\1\xD2\201 8086
|
|
rm8,imm \300\323\1\xC0\201\25 186,SB
|
|
|
|
[RSDC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg_sreg,mem80 \301\2\x0F\x79\101 486,CYRIX,SMM
|
|
|
|
[RSLDT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem80 \300\2\x0F\x7B\200 486,CYRIX,SMM
|
|
|
|
[RSM]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\xAA PENT,SMM
|
|
|
|
[SAHF]
|
|
(Ch_WFlags, Ch_REAX, Ch_None)
|
|
void \1\x9E 8086,NOX86_64
|
|
|
|
[SAL,salX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\204 8086,ND
|
|
rm16|32|64,reg_cl \300\320\1\xD3\204 8086,ND
|
|
rm16|32|64,imm \300\320\1\xC1\204\25 8086,ND,SB
|
|
rm8,unity \300\323\1\xD0\204 8086,ND
|
|
rm8,reg_cl \300\323\1\xD2\204 8086,ND
|
|
rm8,imm \300\323\1\xC0\204\25 186,ND,SB
|
|
|
|
[SALC]
|
|
(Ch_WEAX, Ch_RFLAGS, Ch_None)
|
|
void \1\xD6 8086,UNDOC
|
|
|
|
[SAR,sarX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\207 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\207 8086
|
|
rm16|32|64,imm \300\320\1\xC1\207\25 8086,SB
|
|
rm8,unity \300\323\1\xD0\207 8086
|
|
rm8,reg_cl \300\323\1\xD2\207 8086
|
|
rm8,imm \300\323\1\xC0\207\25 186,SB
|
|
|
|
[SBB,sbbX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
regmem,reg16|32|64 \300\320\1\x19\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x1B\110 8086,SM
|
|
rm16|32|64,imm8 \300\320\1\x83\203\15 8086
|
|
rm8,reg8 \300\323\1\x18\101 8086
|
|
reg8,rm8 \301\323\1\x1A\110 8086,SM
|
|
reg_eax|64,imm \320\1\x1D\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\203\41 386,SD
|
|
reg_ax,imm \324\1\x1D\31 8086,SW
|
|
rm16,imm \300\320\1\x81\203\31 8086,SW
|
|
reg_al,imm \1\x1C\21 8086,SB
|
|
rm8,imm \300\323\1\x80\203\21 8086,SB
|
|
|
|
[SCASB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\1\xAE 8086
|
|
|
|
[SCASD,scasl]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\325\1\xAF 386
|
|
|
|
[SCASW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \332\324\1\xAF 8086
|
|
|
|
[SEGCS,cs]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x2E 8086,PRE
|
|
|
|
[SEGDS,ds]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x3E 8086,PRE
|
|
|
|
[SEGES,es]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x26 8086,PRE
|
|
|
|
[SEGFS,fs]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x64 8086,PRE
|
|
|
|
[SEGGS,gs]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x65 8086,PRE
|
|
|
|
[SEGSS,ss]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x36 8086,PRE
|
|
|
|
[SGDT]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x01\200 286
|
|
|
|
[SHL,shlX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\204 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\204 8086
|
|
rm16|32|64,imm \300\320\1\xC1\204\25 186,SW
|
|
rm8,unity \300\323\1\xD0\204 8086
|
|
rm8,reg_cl \300\323\1\xD2\204 8086
|
|
rm8,imm \300\323\1\xC0\204\25 186,SB
|
|
|
|
[SHLD,shldX]
|
|
(Ch_MOp3, Ch_RWFlags, Ch_Rop2)
|
|
rm16|32|64,reg16|32|64,imm \300\321\2\x0F\xA4\101\26 386,SM2,SB,AR2
|
|
rm16|32|64,reg16|32|64,reg_cl \300\321\2\x0F\xA5\101 386,SM
|
|
|
|
[SHR,shrX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
rm16|32|64,unity \300\320\1\xD1\205 8086
|
|
rm16|32|64,reg_cl \300\320\1\xD3\205 8086
|
|
rm16|32|64,imm \300\320\1\xC1\205\25 186,SW
|
|
rm8,unity \300\323\1\xD0\205 8086
|
|
rm8,reg_cl \300\323\1\xD2\205 8086
|
|
rm8,imm \300\323\1\xC0\205\25 186,SB
|
|
|
|
[SHRD,shrdX]
|
|
(Ch_MOp3, Ch_RWFlags, Ch_Rop2)
|
|
rm16|32|64,reg16|32|64,imm \300\321\2\x0F\xAC\101\26 386,SM2,SB,AR2
|
|
rm16|32|64,reg16|32|64,reg_cl \300\321\2\x0F\xAD\101 386,SM
|
|
|
|
[SIDT,sidtX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x01\201 286
|
|
|
|
[SLDT,sldtX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\1\x0F\17\200 286
|
|
reg16|32|64 \320\1\x0F\17\200 286
|
|
|
|
[SMI]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \1\xF1 386,UNDOC
|
|
|
|
[SMINT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x38 P6,CYRIX
|
|
|
|
[SMINTOLD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x7E 486,CYRIX,ND
|
|
|
|
[SMSW,smswX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
rm16|32|64 \300\320\2\x0F\x01\204 286
|
|
|
|
[STC]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
void \1\xF9 8086
|
|
|
|
[STD]
|
|
(Ch_SDirFlag, Ch_None, Ch_None)
|
|
void \1\xFD 8086
|
|
|
|
[STI]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
void \1\xFB 8086
|
|
|
|
[STOSB]
|
|
(Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
|
|
void \1\xAA 8086
|
|
|
|
[STOSD,stosl]
|
|
(Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
|
|
void \325\1\xAB 386
|
|
|
|
[STOSW]
|
|
(Ch_REAX, Ch_WMemEDI, Ch_RWEDI)
|
|
void \324\1\xAB 8086
|
|
|
|
[STR,strX]
|
|
(Ch_Wop1, Ch_None, Ch_None)
|
|
mem \300\1\x0F\17\201 286,PROT
|
|
reg16|32|64 \320\1\x0F\17\201 286,PROT
|
|
|
|
[SUB,subX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x29\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x2B\110 8086,SM
|
|
rm8,reg8 \300\323\1\x28\101 8086
|
|
reg8,rm8 \301\323\1\x2A\110 8086,SM
|
|
rm16|32|64,imm8 \300\320\1\x83\205\15 8086
|
|
reg_eax|64,imm \320\1\x2D\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\205\41 8086,SD
|
|
reg_ax,imm \324\1\x2D\31 8086,SW
|
|
rm16,imm \300\324\1\x81\205\31 8086,SW
|
|
reg_al,imm \1\x2C\21 8086,SB
|
|
rm8,imm \300\323\1\x80\205\21 8086,SB
|
|
|
|
[SVDC,svdcX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem80,reg_sreg \300\2\x0F\x78\101 486,CYRIX,SMM
|
|
|
|
[SVLDT,svldtX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem80 \300\2\x0F\x7A\200 486,CYRIX,SMM
|
|
|
|
[SVTS,svtsX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem80 \300\2\x0F\x7C\200 486,CYRIX,SMM
|
|
|
|
[SYSCALL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x05 P6,AMD
|
|
|
|
[SYSENTER]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x34 P6
|
|
|
|
[SYSEXIT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x35 P6,PRIV
|
|
|
|
[SYSRET]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x07 P6,PRIV,AMD
|
|
|
|
[TEST,testX]
|
|
(Ch_WFlags, Ch_Rop1, Ch_Rop2)
|
|
regmem,reg16|32|64 \300\320\1\x85\101 8086,SM
|
|
reg16|32|64,mem \301\320\1\x85\110 8086,SM
|
|
reg8,reg8 \300\323\1\x84\101 8086
|
|
rm8,reg8 \301\323\1\x84\110 8086,SM
|
|
reg_eax,imm \325\1\xA9\41 386,SM
|
|
reg_ax,imm \324\1\xA9\31 8086,SM
|
|
reg_al,imm \1\xA8\21 8086,SM
|
|
rm32,imm \325\300\1\xF7\200\41 386,SM
|
|
rm16,imm \300\324\1\xF7\200\31 8086,SM
|
|
rm8,imm \300\323\1\xF6\200\21 8086,SM
|
|
mem,imm32 \325\300\1\xF7\200\41 386,SM
|
|
mem,imm16 \300\324\1\xF7\200\31 8086,SM
|
|
mem,imm8 \300\1\xF6\200\21 8086,SM
|
|
|
|
[UD1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\xB9 286,UNDOC
|
|
|
|
[UD2]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x0B 286
|
|
|
|
[UMOV,umovX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
regmem,reg16|32|64 \300\320\2\x0F\x11\101 386,UNDOC,SM
|
|
reg16|32|64,mem \301\320\2\x0F\x13\110 386,UNDOC,SM
|
|
rm8,reg8 \300\323\2\x0F\x10\101 386,UNDOC
|
|
reg8,rm8 \301\323\2\x0F\x12\110 386,UNDOC
|
|
|
|
[VERR,verrX]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
mem \300\1\x0F\17\204 286,PROT
|
|
mem16 \300\1\x0F\17\204 286,PROT
|
|
reg16 \300\1\x0F\17\204 286,PROT
|
|
|
|
[VERW]
|
|
(Ch_WFlags, Ch_None, Ch_None)
|
|
mem \300\1\x0F\17\205 286,PROT
|
|
mem16 \300\1\x0F\17\205 286,PROT
|
|
reg16 \300\1\x0F\17\205 286,PROT
|
|
|
|
[WAIT]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \1\x9B 8086
|
|
|
|
[WBINVD]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
void \2\x0F\x09 486,PRIV
|
|
|
|
[WRSHR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x37 P6,CYRIX,SMM
|
|
|
|
[WRMSR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x30 PENT,PRIV
|
|
|
|
[XADD,xaddX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,reg16|32|64 \300\320\2\x0F\xC1\101 486,SM
|
|
rm8,reg8 \300\2\x0F\xC0\101 486
|
|
|
|
[XBTS,xbtsX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg16,mem \301\324\2\x0F\xA6\110 386,SW,UNDOC,ND
|
|
reg16,reg16 \301\324\2\x0F\xA6\110 386,UNDOC,ND
|
|
reg32,mem \325\301\2\x0F\xA6\110 386,SD,UNDOC,ND
|
|
reg32,reg32 \325\301\2\x0F\xA6\110 386,UNDOC,ND
|
|
|
|
[XCHG,xchgX]
|
|
(Ch_RWop1, Ch_RWop2, Ch_None)
|
|
reg_ax,reg16 \324\11\x90 8086
|
|
reg_eax,reg32 \325\11\x90 386
|
|
reg_rax,reg64 \326\11\x90 X86_64
|
|
reg16,reg_ax \324\10\x90 8086
|
|
reg32,reg_eax \325\10\x90 386
|
|
reg64,reg_rax \326\10\x90 X86_64
|
|
reg16|32|64,regmem \301\320\1\x87\110 8086,SM
|
|
mem,reg16|32|64 \300\320\1\x87\101 8086,SM
|
|
reg8,rm8 \301\323\1\x86\110 8086
|
|
mem8,reg8 \300\323\1\x86\101 8086
|
|
|
|
[XLAT]
|
|
(Ch_WEAX, Ch_REBX, Ch_None)
|
|
void \1\xD7 8086
|
|
|
|
[XLATB]
|
|
(Ch_WEAX, Ch_REBX, Ch_None)
|
|
void \1\xD7 8086
|
|
|
|
[XOR,xorX]
|
|
(Ch_Mop2, Ch_Rop1, Ch_WFlags)
|
|
regmem,reg16|32|64 \300\320\1\x31\101 8086,SM
|
|
reg16|32|64,regmem \301\320\1\x33\110 8086,SM
|
|
rm8,reg8 \300\323\1\x30\101 8086
|
|
reg8,rm8 \301\323\1\x32\110 8086
|
|
rm16|32|64,imm8 \300\320\1\x83\206\15 8086
|
|
reg_eax|64,imm \320\1\x35\41 386,SD
|
|
rm32|64,imm \300\320\1\x81\206\41 386,SD
|
|
reg_ax,imm \324\1\x35\31 8086,SW
|
|
rm16,imm \300\324\1\x81\206\31 8086,SW
|
|
reg_al,imm \1\x34\21 8086,SB
|
|
rm8,imm \300\323\1\x80\206\21 8086,SB
|
|
|
|
[XSTORE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\xA7\xC0 P6,CYRIX
|
|
|
|
[XCRYPTECB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA7\xC8 P6,CYRIX
|
|
|
|
[XCRYPTCBC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA7\xD0 P6,CYRIX
|
|
|
|
[XCRYPTCFB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA7\xE0 P6,CYRIX
|
|
|
|
[XCRYPTOFB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA7\xE8 P6,CYRIX
|
|
|
|
[CMOVcc,cmovCCX]
|
|
(Ch_ROp1, Ch_WOp2, Ch_RFLAGS)
|
|
reg16|32|64,regmem \301\320\1\x0F\13\x40\110 P6,SM
|
|
|
|
[Jcc]
|
|
(Ch_None, Ch_None, Ch_None)
|
|
imm8 \13\x70\50 8086
|
|
imm16|32 \320\1\x0F\13\x80\64 386,PASS2
|
|
imm|short \13\x70\50 8086
|
|
imm|near \320\1\x0F\13\x80\64 386,PASS2
|
|
|
|
[SETcc,setCCX]
|
|
(Ch_RFLAGS, Ch_WOp1, Ch_None)
|
|
rm8 \300\323\1\x0F\13\x90\200 386
|
|
|
|
;
|
|
; Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
|
|
;
|
|
|
|
[ADDPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x58\110 KATMAI,SSE
|
|
xmmreg,xmmreg \331\2\x0F\x58\110 KATMAI,SSE
|
|
|
|
[ADDSS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x58\110 KATMAI,SSE
|
|
xmmreg,xmmreg \333\2\x0F\x58\110 KATMAI,SSE
|
|
|
|
[ANDNPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x55\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x55\110 KATMAI,SSE
|
|
|
|
[ANDPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x54\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x54\110 KATMAI,SSE
|
|
|
|
[CMPEQPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x00 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x00 KATMAI,SSE
|
|
|
|
[CMPEQSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x00 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x00 KATMAI,SSE
|
|
|
|
[CMPLEPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x02 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x02 KATMAI,SSE
|
|
|
|
[CMPLESS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x02 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x02 KATMAI,SSE
|
|
|
|
[CMPLTPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x01 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x01 KATMAI,SSE
|
|
|
|
[CMPLTSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x01 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x01 KATMAI,SSE
|
|
|
|
[CMPNEQPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x04 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x04 KATMAI,SSE
|
|
|
|
[CMPNEQSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x04 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x04 KATMAI,SSE
|
|
|
|
[CMPNLEPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x06 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x06 KATMAI,SSE
|
|
|
|
[CMPNLESS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x06 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x06 KATMAI,SSE
|
|
|
|
[CMPNLTPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x05 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x05 KATMAI,SSE
|
|
|
|
[CMPNLTSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x05 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x05 KATMAI,SSE
|
|
|
|
[CMPORDPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x07 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x07 KATMAI,SSE
|
|
|
|
[CMPORDSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x07 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x07 KATMAI,SSE
|
|
|
|
[CMPUNORDPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\xC2\110\1\x03 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\xC2\110\1\x03 KATMAI,SSE
|
|
|
|
[CMPUNORDSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\xC2\110\1\x03 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\xC2\110\1\x03 KATMAI,SSE
|
|
|
|
;
|
|
; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the
|
|
; specific ops first and only disassemble illegal ones as cmpps.
|
|
;
|
|
|
|
[CMPPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem,imm \301\331\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
|
|
xmmreg,xmmreg,imm \323\331\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
|
|
|
|
[CMPSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem,imm \301\333\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
|
|
xmmreg,xmmreg,imm \323\333\2\x0F\xC2\110\22 KATMAI,SSE,SB,AR2
|
|
|
|
[COMISS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x2F\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x2F\110 KATMAI,SSE
|
|
|
|
[CVTPI2PS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x2A\110 KATMAI,SSE,MMX
|
|
xmmreg,mmxreg \323\331\2\x0F\x2A\110 KATMAI,SSE,MMX
|
|
|
|
[CVTPS2PI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\331\2\x0F\x2D\110 KATMAI,SSE,MMX
|
|
mmxreg,xmmreg \323\331\2\x0F\x2D\110 KATMAI,SSE,MMX
|
|
|
|
[CVTSI2SS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\321\2\x0F\x2A\110 KATMAI,SSE
|
|
xmmreg,reg32|64 \323\333\321\2\x0F\x2A\110 KATMAI,SSE
|
|
|
|
[CVTSS2SI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,mem \301\333\320\2\x0F\x2D\110 KATMAI,SSE
|
|
reg32|64,xmmreg \323\333\320\2\x0F\x2D\110 KATMAI,SSE
|
|
|
|
[CVTTPS2PI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
mmxreg,mem \301\331\2\x0F\x2C\110 KATMAI,SSE,MMX
|
|
mmxreg,xmmreg \323\331\2\x0F\x2C\110 KATMAI,SSE,MMX
|
|
|
|
[CVTTSS2SI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,mem \301\333\320\2\x0F\x2C\110 KATMAI,SSE
|
|
reg32|64,xmmreg \323\333\320\2\x0F\x2C\110 KATMAI,SSE
|
|
|
|
[DIVPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x5E\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x5E\110 KATMAI,SSE
|
|
|
|
[DIVSS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x5E\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x5E\110 KATMAI,SSE
|
|
|
|
[LDMXCSR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xAE\202 KATMAI,SSE,SD
|
|
|
|
[MAXPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x5F\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x5F\110 KATMAI,SSE
|
|
|
|
[MAXSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x5F\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x5F\110 KATMAI,SSE
|
|
|
|
[MINPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x5D\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x5D\110 KATMAI,SSE
|
|
|
|
[MINSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x5D\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x5D\110 KATMAI,SSE
|
|
|
|
[MOVAPS]
|
|
(Ch_ROp1, Ch_WOp2, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x28\110 KATMAI,SSE
|
|
mem,xmmreg \300\2\x0F\x29\101 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x28\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x29\101 KATMAI,SSE
|
|
|
|
[MOVHPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x16\110 KATMAI,SSE
|
|
mem,xmmreg \300\2\x0F\x17\101 KATMAI,SSE
|
|
|
|
[MOVLHPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\2\x0F\x16\110 KATMAI,SSE
|
|
|
|
[MOVLPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x12\110 KATMAI,SSE
|
|
mem,xmmreg \300\2\x0F\x13\101 KATMAI,SSE
|
|
|
|
[MOVHLPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\2\x0F\x12\110 KATMAI,SSE
|
|
|
|
[MOVMSKPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,xmmreg \323\2\x0F\x50\110 KATMAI,SSE
|
|
|
|
[MOVNTPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,xmmreg \323\2\x0F\x2B\101 KATMAI,SSE
|
|
|
|
[MOVSS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x10\110 KATMAI,SSE
|
|
mem,xmmreg \300\333\2\x0F\x11\101 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x10\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x11\101 KATMAI,SSE
|
|
|
|
[MOVUPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x10\110 KATMAI,SSE
|
|
mem,xmmreg \300\331\2\x0F\x11\101 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x10\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x11\101 KATMAI,SSE
|
|
|
|
[MULPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x59\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x59\110 KATMAI,SSE
|
|
|
|
[MULSS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x59\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x59\110 KATMAI,SSE
|
|
|
|
[ORPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x56\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x56\110 KATMAI,SSE
|
|
|
|
[RCPPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x53\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x53\110 KATMAI,SSE
|
|
|
|
[RCPSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x53\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x53\110 KATMAI,SSE
|
|
|
|
[RSQRTPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x52\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x52\110 KATMAI,SSE
|
|
|
|
[RSQRTSS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x52\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x52\110 KATMAI,SSE
|
|
|
|
[SHUFPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem,imm \301\2\x0F\xC6\110\22 KATMAI,SSE,SB,AR2
|
|
xmmreg,xmmreg,imm \323\2\x0F\xC6\110\22 KATMAI,SSE,SB,AR2
|
|
|
|
[SQRTPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x51\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x51\110 KATMAI,SSE
|
|
|
|
[SQRTSS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x51\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x51\110 KATMAI,SSE
|
|
|
|
[STMXCSR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xAE\203 KATMAI,SSE,SD
|
|
|
|
[SUBPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\331\2\x0F\x5C\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\331\2\x0F\x5C\110 KATMAI,SSE
|
|
|
|
[SUBSS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\333\2\x0F\x5C\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\333\2\x0F\x5C\110 KATMAI,SSE
|
|
|
|
[UCOMISS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x2E\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x2E\110 KATMAI,SSE
|
|
|
|
[UNPCKHPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x15\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x15\110 KATMAI,SSE
|
|
|
|
[UNPCKLPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x14\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x14\110 KATMAI,SSE
|
|
|
|
[XORPS]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\2\x0F\x57\110 KATMAI,SSE
|
|
xmmreg,xmmreg \323\2\x0F\x57\110 KATMAI,SSE
|
|
|
|
;
|
|
; Introduced in Dechutes but necessary for SSE support
|
|
;
|
|
|
|
[FXRSTOR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xAE\201 P6,SSE,FPU
|
|
|
|
[FXSAVE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xAE\200 P6,SSE,FPU
|
|
|
|
;
|
|
; These instructions aren't SSE-specific; they are generic memory operations
|
|
; and work even if CR4.OSFXFR == 0
|
|
;
|
|
|
|
[PREFETCHNTA]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x18\200 KATMAI
|
|
|
|
[PREFETCHT0]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x18\201 KATMAI
|
|
|
|
[PREFETCHT1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x18\202 KATMAI
|
|
|
|
[PREFETCHT2]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\x18\203 KATMAI
|
|
|
|
[SFENCE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\xAE\xF8 KATMAI
|
|
|
|
;
|
|
; New MMX instructions introduced in Katmai
|
|
;
|
|
|
|
[MASKMOVQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xF7\110 KATMAI,MMX
|
|
|
|
[MOVNTQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,mmxreg \2\x0F\xE7\101 KATMAI,MMX,SM
|
|
|
|
[PAVGB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xE0\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xE0\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE0\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xE0\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PAVGW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xE3\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xE3\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE3\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xE3\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PEXTRW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,mmxreg,imm \2\x0F\xC5\110\22 KATMAI,MMX,SB,AR2
|
|
reg32,xmmreg,imm \323\3\x66\x0F\xC5\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
|
[PINSRW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
; PINSRW is documented as using a reg32, but it's really using only 16 bit
|
|
; -- accept either, but be truthful in disassembly
|
|
mmxreg,reg16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
|
|
mmxreg,reg32,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
|
|
mmxreg,mem,imm \301\2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
|
|
mmxreg,mem16,imm \301\2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
|
|
xmmreg,reg16,imm \3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,reg32,imm \323\3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
|
|
xmmreg,mem,imm \301\3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem16,imm \301\3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
|
|
|
|
[PMAXSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xEE\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xEE\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xEE\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xEE\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PMAXUB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xDE\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xDE\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDE\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xDE\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PMINSW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xEA\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xEA\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xEA\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xEA\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PMINUB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xDA\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xDA\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xDA\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xDA\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PMOVMSKB]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,mmxreg \2\x0F\xD7\110 KATMAI,MMX
|
|
reg32,xmmreg \323\3\x66\x0F\xD7\110 WILLAMETTE,SSE2
|
|
|
|
[PMULHUW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xE4\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xE4\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE4\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xE4\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PSADBW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xF6\110 KATMAI,MMX
|
|
mmxreg,mem \301\2\x0F\xF6\110 KATMAI,MMX,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF6\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xF6\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PSHUFW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg,imm \2\x0F\x70\110\22 KATMAI,MMX,SB,AR2
|
|
mmxreg,mem,imm \301\2\x0F\x70\110\22 KATMAI,MMX,SM2,SB,AR2
|
|
|
|
;
|
|
; New Athlon Instructions
|
|
;
|
|
|
|
[PFNACC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x8A PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x8A PENT,3DNOW
|
|
|
|
[PFPNACC]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x8E PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x8E PENT,3DNOW
|
|
|
|
[PI2FW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x0C PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x0C PENT,3DNOW
|
|
|
|
[PF2IW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\x1C PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\x1C PENT,3DNOW
|
|
|
|
[PSWAPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mem \301\2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
|
|
mmxreg,mmxreg \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
|
|
|
|
[FFREEP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU
|
|
|
|
; Willamette SSE2 Cacheability Instructions
|
|
[MASKMOVDQU]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF7\110 WILLAMETTE,SSE2
|
|
|
|
; CLFLUSH needs its own feature flag implemented one day
|
|
[CLFLUSH]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xAE\207 WILLAMETTE,SSE2
|
|
|
|
[MOVNTDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,xmmreg \300\3\x66\x0F\xE7\101 WILLAMETTE,SSE2,SM
|
|
|
|
[MOVNTI]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,reg32|64 \300\320\2\x0F\xC3\101 WILLAMETTE,SSE2,SM
|
|
|
|
[MOVNTPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,xmmreg \300\3\x66\x0F\x2B\101 WILLAMETTE,SSE2,SM
|
|
|
|
[PAUSE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\1\x90 WILLAMETTE,SSE2
|
|
|
|
[LFENCE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\xAE\xE8 WILLAMETTE,SSE2
|
|
|
|
[MFENCE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\xAE\xF0 WILLAMETTE,SSE2
|
|
|
|
;
|
|
; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
|
|
;
|
|
[MOVDQA]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x6F\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\3\x66\x0F\x7F\101 WILLAMETTE,SSE2,SM
|
|
xmmreg,mem \301\3\x66\x0F\x6F\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x7F\110 WILLAMETTE,SSE2
|
|
|
|
[MOVDQU]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\333\2\x0F\x6F\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \333\300\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
|
|
xmmreg,mem \301\333\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\333\2\x0F\x7F\110 WILLAMETTE,SSE2
|
|
|
|
[MOVDQ2Q]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,xmmreg \323\3\xF2\x0F\xD6\110 WILLAMETTE,SSE2
|
|
|
|
[MOVQ2DQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mmxreg \323\333\2\x0F\xD6\110 WILLAMETTE,SSE2
|
|
|
|
[PADDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xD4\110 WILLAMETTE,SSE2
|
|
mmxreg,mem \301\2\x0F\xD4\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD4\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xD4\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PMULUDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xF4\110 WILLAMETTE,SSE2
|
|
mmxreg,mem \301\2\x0F\xF4\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xF4\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xF4\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PSHUFD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg,imm \323\3\x66\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\3\x66\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
|
[PSHUFHW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg,imm \323\333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
|
[PSHUFLW]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg,imm \323\3\xF2\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\1\xF2\323\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
|
[PSRLDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,imm \323\3\x66\x0F\x73\203\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
[PSUBQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mmxreg,mmxreg \2\x0F\xFB\110 WILLAMETTE,SSE2
|
|
mmxreg,mem \301\2\x0F\xFB\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xFB\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\xFB\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PUNPCKHQDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x6D\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x6D\110 WILLAMETTE,SSE2,SM
|
|
|
|
[PUNPCKLQDQ]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x6C\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\3\x66\x0F\x6C\110 WILLAMETTE,SSE2,SM
|
|
|
|
;
|
|
; Willamette Streaming SIMD instructions (SSE2)
|
|
;
|
|
[ADDPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\x58\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\3\x66\x0F\x58\110 WILLAMETTE,SSE2,SM
|
|
|
|
[ADDSD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\x58\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\3\xF2\x0F\x58\110 WILLAMETTE,SSE2
|
|
|
|
[ANDNPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\x55\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\3\x66\x0F\x55\110 WILLAMETTE,SSE2,SM
|
|
|
|
[ANDPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\x54\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\3\x66\x0F\x54\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CMPEQPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x00 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
|
|
[CMPEQSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
|
|
[CMPLEPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x02 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
|
|
[CMPLESD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
|
|
[CMPLTPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x01 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
|
|
[CMPLTSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
|
|
[CMPNEQPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\1\xF2\323\2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
|
|
[CMPNLEPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
|
|
[CMPNLESD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\xF2\323\2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
|
|
[CMPNLTPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
|
|
[CMPNLTSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\xF2\323\2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
|
|
[CMPORDPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
|
|
[CMPORDSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\xF2\323\2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\331\3\xF2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
|
|
[CMPUNORDPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\331\3\x66\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
|
|
|
|
[CMPUNORDSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\331\1\xF2\323\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
|
|
|
|
; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the
|
|
; specific ops first and only disassemble illegal ones as cmppd/cmpsd.
|
|
[CMPPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg,imm \331\3\x66\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\331\1\x66\323\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
|
[COMISD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \331\3\x66\x0F\x2F\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\331\1\x66\323\2\x0F\x2F\110 WILLAMETTE,SSE2
|
|
|
|
[CVTDQ2PD]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \333\2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\333\323\2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
|
|
[CVTDQ2PS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\2\x0F\x5B\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\323\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTPD2DQ]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTPD2PI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
mmxreg,xmmreg \323\3\x66\x0F\x2D\110 WILLAMETTE,SSE2
|
|
mmxreg,mem \301\1\x66\323\2\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
|
[CVTPD2PS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5A\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTPI2PD]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mmxreg \323\3\x66\x0F\x2A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
|
[CVTPS2DQ]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5B\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTPS2PD]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\323\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
|
[CVTSD2SI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,xmmreg \323\1\xF2\320\2\x0F\x2D\110 WILLAMETTE,SSE2
|
|
reg32|64,mem \301\1\xF2\320\2\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
|
[CVTSD2SS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
|
[CVTSI2SD]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,reg32|64 \323\1\xF2\321\2\x0F\x2A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\321\2\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
|
[CVTSS2SD]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \333\323\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\333\323\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
|
[CVTTPD2PI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
mmxreg,xmmreg \323\3\x66\x0F\x2C\110 WILLAMETTE,SSE2
|
|
mmxreg,mem \301\1\x66\323\2\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
|
[CVTTPD2DQ]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\xE6\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTTPS2DQ]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\333\2\x0F\x5B\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
|
[CVTTSD2SI]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32|64,xmmreg \323\1\xF2\320\2\x0F\x2C\110 WILLAMETTE,SSE2
|
|
reg32|64,mem \301\1\xF2\320\2\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
|
[DIVPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5E\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5E\110 WILLAMETTE,SSE2,SM
|
|
|
|
[DIVSD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x5E\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x5E\110 WILLAMETTE,SSE2
|
|
|
|
[MAXPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5F\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5F\110 WILLAMETTE,SSE2,SM
|
|
|
|
[MAXSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x5F\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x5F\110 WILLAMETTE,SSE2
|
|
|
|
[MINPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5D\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5D\110 WILLAMETTE,SSE2,SM
|
|
|
|
[MINSD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x5D\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x5D\110 WILLAMETTE,SSE2
|
|
|
|
[MOVAPD]
|
|
(Ch_ROp1, Ch_WOp2, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x28\110 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\3\x66\x0F\x29\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\1\x66\323\2\x0F\x29\101 WILLAMETTE,SSE2,SM
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x28\110 WILLAMETTE,SSE2,SM
|
|
|
|
[MOVHPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,xmmreg \300\1\x66\323\2\x0F\x17\101 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x16\110 WILLAMETTE,SSE2
|
|
|
|
[MOVLPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem,xmmreg \300\1\x66\323\2\x0F\x13\101 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x12\110 WILLAMETTE,SSE2
|
|
|
|
[MOVMSKPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,xmmreg \323\1\x66\323\2\x0F\x50\110 WILLAMETTE,SSE2
|
|
|
|
[MOVUPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x10\110 WILLAMETTE,SSE2
|
|
xmmreg,xmmreg \323\3\x66\x0F\x11\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\1\x66\323\2\x0F\x11\101 WILLAMETTE,SSE2,SM
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x10\110 WILLAMETTE,SSE2,SM
|
|
|
|
[MULPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x59\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x59\110 WILLAMETTE,SSE2,SM
|
|
|
|
[MULSD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x59\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x59\110 WILLAMETTE,SSE2
|
|
|
|
[ORPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x56\110 WILLAMETTE,SSE2,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x56\110 WILLAMETTE,SSE2
|
|
|
|
[SHUFPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg,imm \323\3\x66\x0F\xC6\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
xmmreg,mem,imm \301\1\x66\323\2\x0F\xC6\110\26 WILLAMETTE,SSE2,SM,SB,AR2
|
|
|
|
[SQRTPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x51\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x51\110 WILLAMETTE,SSE2,SM
|
|
|
|
[SQRTSD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x51\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x51\110 WILLAMETTE,SSE2
|
|
|
|
[SUBPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x5C\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x5C\110 WILLAMETTE,SSE2,SM
|
|
|
|
[SUBSD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x5C\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x5C\110 WILLAMETTE,SSE2
|
|
|
|
[UCOMISD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x2E\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x2E\110 WILLAMETTE,SSE2
|
|
|
|
[UNPCKHPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x15\110 WILLAMETTE,SSE2
|
|
mem,xmmreg \300\1\x66\323\2\x0F\x15\110 WILLAMETTE,SSE2,SM
|
|
|
|
[UNPCKLPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x14\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x14\110 WILLAMETTE,SSE2,SM
|
|
|
|
[XORPD]
|
|
(Ch_Mop2, Ch_Rop1, Ch_None)
|
|
xmmreg,xmmreg \323\3\x66\x0F\x57\110 WILLAMETTE,SSE2
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x57\110 WILLAMETTE,SSE2,SM
|
|
|
|
;
|
|
; Prescott New Instructions (SSE3)
|
|
;
|
|
[ADDSUBPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\x66\323\2\x0F\xD0\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\xD0\110 PRESCOTT,SSE3
|
|
|
|
[ADDSUBPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\xD0\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\xF2\x0F\xD0\110 PRESCOTT,SSE3
|
|
|
|
[HADDPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x7C\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x7C\110 PRESCOTT,SSE3
|
|
|
|
[HADDPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x7C\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x7C\110 PRESCOTT,SSE3
|
|
|
|
[HSUBPD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\x66\323\2\x0F\x7D\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\x66\x0F\x7D\110 PRESCOTT,SSE3
|
|
|
|
[HSUBPS]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x7D\110 PRESCOTT,SSE3,SM
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x7D\110 PRESCOTT,SSE3
|
|
|
|
[LDDQU]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \323\1\xF2\323\2\x0F\xF0\110 PRESCOTT,SSE3
|
|
|
|
[MOVDDUP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF2\323\2\x0F\x12\110 PRESCOTT,SSE3
|
|
xmmreg,xmmreg \323\3\xF2\x0F\x12\110 PRESCOTT,SSE3
|
|
|
|
[MOVSHDUP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF3\323\2\x0F\x16\110 PRESCOTT,SSE3
|
|
xmmreg,xmmreg \323\3\xF3\x0F\x16\110 PRESCOTT,SSE3
|
|
|
|
[MOVSLDUP]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
xmmreg,mem \301\1\xF3\323\2\x0F\x12\110 PRESCOTT,SSE3
|
|
xmmreg,xmmreg \323\3\xF3\x0F\x12\110 PRESCOTT,SSE3
|
|
|
|
;
|
|
; Intel VT
|
|
;
|
|
[VMREAD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,reg32 \300\2\x0F\x78\101 386,PRIV,PROT
|
|
mem,reg32 \300\2\x0F\x78\101 386,PRIV,PROT,SM
|
|
|
|
[VMWRITE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
reg32,reg32 \301\2\x0F\x79\110 386,PRIV,PROT
|
|
reg32,mem \301\2\x0F\x79\110 386,PRIV,PROT,SM
|
|
|
|
[VMCALL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC1 386,PRIV,PROT
|
|
|
|
[VMLAUNCH]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC2 386,PRIV,PROT
|
|
|
|
[VMRESUME]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC3 386,PRIV,PROT
|
|
|
|
[VMXOFF]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xC4 386,PRIV,PROT
|
|
|
|
; note: ideally the following should be tagged with SQ
|
|
|
|
[VMXON]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\333\2\x0F\xC7\206 PRIV,PROT
|
|
|
|
[VMCLEAR]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\3\x66\x0F\xC7\206 PRIV,PROT
|
|
|
|
[VMPTRLD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xC7\206 PRIV,PROT
|
|
|
|
[VMPTRST]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \300\2\x0F\xC7\207 PRIV,PROT
|
|
|
|
;
|
|
; AMD SVM
|
|
;
|
|
[VMRUN]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xD8 386,SVM,PRIV,PROT
|
|
|
|
[VMMCALL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xD9 386,SVM
|
|
|
|
[VMLOAD]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDA 386,SVM,PRIV,PROT
|
|
|
|
[VMSAVE]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDB 386,SVM,PRIV,PROT
|
|
|
|
[STGI]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDC 386,SVM,PRIV,PROT
|
|
|
|
[CLGI]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDD 386,SVM,PRIV,PROT
|
|
|
|
[SKINIT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDE 386,SVM,PRIV,PROT
|
|
|
|
[INVLPGA]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \3\x0F\x01\xDF 386,SVM,PRIV,PROT
|
|
|
|
;
|
|
; Centaur
|
|
;
|
|
[MONTMUL]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA6\xC0 CENTAUR
|
|
|
|
[XSHA1]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA6\xC8 CENTAUR
|
|
|
|
[XSHA256]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \333\3\x0F\xA6\xD0 CENTAUR
|
|
|
|
;
|
|
; Geode
|
|
;
|
|
[DMINT]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x39 P6,CYRIX
|
|
|
|
[RDM]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
void \2\x0F\x3A P6,CYRIX
|
|
|
|
;
|
|
; GAS specific x86-64 instructions
|
|
;
|
|
[MOVABS]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg32,imm \325\10\xB8\41 X86_64
|
|
|
|
[MOVSXD,movslq]
|
|
(Ch_Wop2, Ch_Rop1, Ch_None)
|
|
reg64,mem \326\301\1\x63\110 X86_64
|
|
reg64,reg32 \326\301\1\x63\110 X86_64
|
|
|
|
[CQO,cqto]
|
|
(Ch_MRAX, Ch_WRDX, Ch_None)
|
|
void \326\1\x99 X86_64
|
|
|
|
[CMPXCHG16B,cmpxchg16bX]
|
|
(Ch_All, Ch_None, Ch_None)
|
|
mem \320\323\2\x0F\xC7\201 X86_64
|