scale.backend.x86
Class Opcodes

java.lang.Object
  extended by scale.backend.x86.Opcodes

public final class Opcodes
extends java.lang.Object

The Intel X86 opcodes.

$Id$

Copyright 2008 by James H. Burrill
All Rights Reserved.


Field Summary
static int AAA
           
static int AAD
           
static int AAM
           
static int AAS
           
static int ADC
           
static int ADD
           
static int AND
           
static int ARPL
           
static int BOUND
           
static int BSF
           
static int BSR
           
static int BSWAP
           
static int BT
           
static int BTC
           
static int BTR
           
static int BTS
           
static int CALL
           
static int CBW
           
static int CDQ
           
static int CLC
           
static int CLD
           
static int CLI
           
static int CLTS
           
static int CMC
           
static int CMOVA
           
static int CMOVAE
           
static int CMOVB
           
static int CMOVBE
           
static int CMOVC
           
static int CMOVE
           
static int CMOVG
           
static int CMOVGE
           
static int CMOVL
           
static int CMOVLE
           
static int CMOVNA
           
static int CMOVNAE
           
static int CMOVNB
           
static int CMOVNBE
           
static int CMOVNC
           
static int CMOVNE
           
static int CMOVNG
           
static int CMOVNGE
           
static int CMOVNL
           
static int CMOVNLE
           
static int CMOVNO
           
static int CMOVNP
           
static int CMOVNS
           
static int CMOVNZ
           
static int CMOVO
           
static int CMOVP
           
static int CMOVPE
           
static int CMOVPO
           
static int CMOVS
           
static int CMOVZ
           
static int CMP
           
static int CMPSB
           
static int CMPSD
           
static int CMPSW
           
static int CMPXCHG
           
static int CMPXCHG8B
           
static int CPUID
           
static int CWD
           
static int CWDE
           
static int DAA
           
static int DAS
           
static int DEC
           
static int DIV
           
static int EMMS
           
static int ENTER
           
static int F_ARTH
           
static int F_BRANCH
          Branch instruction flag.
static int F_CALL
           
static int F_D
          Valid form has a descriptor operand.
static int F_NONE
          Valid form has no operands.
static int F_R
          Valid form has one register operand.
static int F_RD
          Valid form has a register operand and a descriptor operand.
static int F_REV
          Operands are reversed flag.
static int F_RR
          Valid form has two register operands.
static int F_RRD
          Valid form has two register operands and a descriptor operand.
static int F_RRR
          Valid form has three register operands.
static int F_RRRD
          Valid form has three register operands and a descriptor operand.
static int F_SHFT
           
static int F2XM1
           
static int FABS
           
static int FADD
           
static int FADDP
           
static int FBLD
           
static int FBSTP
           
static int FCHS
           
static int FCLEX
           
static int FCMOVB
           
static int FCMOVBE
           
static int FCMOVE
           
static int FCMOVNB
           
static int FCMOVNBE
           
static int FCMOVNE
           
static int FCMOVNU
           
static int FCMOVU
           
static int FCOM
           
static int FCOMI
           
static int FCOMIP
           
static int FCOMP
           
static int FCOMPP
           
static int FCOS
           
static int FDECSTP
           
static int FDIV
           
static int FDIVP
           
static int FDIVR
           
static int FDIVRP
           
static int FFREE
           
static int FIADD
           
static int FICOM
           
static int FICOMP
           
static int FIDIV
           
static int FIDIVR
           
static int FILD
           
static int FIMUL
           
static int FINCSTP
           
static int FINIT
           
static int FIST
           
static int FISTP
           
static int FISUB
           
static int FISUBR
           
static int FLD
           
static int FLD1
           
static int FLDCW
           
static int FLDENV
           
static int FLDL2E
           
static int FLDL2T
           
static int FLDLG2
           
static int FLDLN2
           
static int FLDPI
           
static int FLDZ
           
static int FMUL
           
static int FMULP
           
static int FNCLEX
           
static int FNINIT
           
static int FNOP
           
static int FNSAVE
           
static int FNSTCW
           
static int FNSTENV
           
static int FNSTSW
           
static int FPATAN
           
static int FPREM
           
static int FPREMI
           
static int FPTAN
           
static int FRNDINT
           
static int FRSTOR
           
static int FSAVE
           
static int FSCALE
           
static int FSIN
           
static int FSINCOS
           
static int FSQRT
           
static int FST
           
static int FSTCW
           
static int FSTENV
           
static int FSTP
           
static int FSTSW
           
static int FSUB
           
static int FSUBP
           
static int FSUBR
           
static int FSUBRP
           
static int FTST
           
static int FUCOM
           
static int FUCOMI
           
static int FUCOMIP
           
static int FUCOMP
           
static int FUCOMPP
           
static int FWAIT
           
static int FXAM
           
static int FXCH
           
static int FXTRACT
           
static int FYL2X
           
static int FYL2XP1
           
static int HLT
           
static int IDIV
           
static int IMUL
           
static int IN
           
static int INC
           
static int INSB
           
static int INSD
           
static int INSW
           
static int INT
           
static int INTO
           
static int INVD
           
static int INVLPG
           
static int IRET
           
static int JA
           
static int JAE
           
static int JB
           
static int JBE
           
static int JC
           
static int JCXZ
           
static int JE
           
static int JECXZ
           
static int JG
           
static int JGE
           
static int JL
           
static int JLE
           
static int JMP
           
static int JNA
           
static int JNAE
           
static int JNB
           
static int JNBE
           
static int JNC
           
static int JNE
           
static int JNG
           
static int JNGE
           
static int JNL
           
static int JNLE
           
static int JNO
           
static int JNP
           
static int JNS
           
static int JNZ
           
static int JO
           
static int JP
           
static int JPE
           
static int JPO
           
static int JS
           
static int JZ
           
static int LAHF
           
static int LAR
           
static int LDCR
           
static int LDDR
           
static int LDS
           
static int LEA
           
static int LEAVE
           
static int LES
           
static int LFS
           
static int LGDT
           
static int LGS
           
static int LIDT
           
static int LLDT
           
static int LMSW
           
static int LOCK
           
static int LODSB
           
static int LODSD
           
static int LODSW
           
static int LOOP
           
static int LOOPE
           
static int LOOPNE
           
static int LOOPNZ
           
static int LOOPZ
           
static int LSL
           
static int LSS
           
static int LTR
           
static int M_EIGHT
          Scaling factor - 8.
static int M_FOUR
          Scaling factor - 4.
static int M_MASK
          Mask for the scaling factor used in some addressing modes..
static int M_ONE
          Scaling factor - 1.
static int M_SHIFT
          Shift for the scaling factor used in some addressing modes..
static int M_TWO
          Scaling factor - 2.
static int MOV
           
static int MOVD
           
static int MOVQ
           
static int MOVSB
           
static int MOVSD
           
static int MOVSW
           
static int MOVSX
           
static int MOVZX
           
static int MUL
           
static int NEG
           
static int NOP
           
static int NOT
           
static int O_MASK
          Mask for the instruction opcode.
static int O_SHIFT
          Mask for the instruction opcode.
static java.lang.String[] opnames
           
static int OR
           
static int OUT
           
static int OUTSB
           
static int OUTSD
           
static int OUTSW
           
static int PACKSSDW
           
static int PACKSSWB
           
static int PACKUSWB
           
static int PADDB
           
static int PADDD
           
static int PADDSB
           
static int PADDSW
           
static int PADDUSB
           
static int PADDUSW
           
static int PADDW
           
static int PAND
           
static int PANDN
           
static int PCMPEQB
           
static int PCMPEQD
           
static int PCMPEQW
           
static int PCMPGTB
           
static int PCMPGTD
           
static int PCMPGTW
           
static int PMADDWD
           
static int PMULHW
           
static int PMULLW
           
static int POP
           
static int POPA
           
static int POPAD
           
static int POPF
           
static int POPFD
           
static int POR
           
static int PSLLD
           
static int PSLLQ
           
static int PSLLW
           
static int PSRAD
           
static int PSRAW
           
static int PSRLD
           
static int PSRLQ
           
static int PSRLW
           
static int PSUBB
           
static int PSUBD
           
static int PSUBSB
           
static int PSUBSW
           
static int PSUBUSB
           
static int PSUBUSW
           
static int PSUBW
           
static int PUNPCKHBW
           
static int PUNPCKHDQ
           
static int PUNPCKHWD
           
static int PUNPCKLBW
           
static int PUNPCKLDQ
           
static int PUNPCKLWD
           
static int PUSH
           
static int PUSHA
           
static int PUSHAD
           
static int PUSHF
           
static int PUSHFD
           
static int PXOR
           
static int RCL
           
static int RCR
           
static int RDMSR
           
static int RDPMC
           
static int RDTSC
           
static int REP
           
static int REPE
           
static int REPNE
           
static int REPNZ
           
static int REPZ
           
static int RET
           
static int ROL
           
static int ROR
           
static int RSM
           
static int S_BYTE
          Operand size - byte.
static int S_INT
          Operand size - int.
static int S_LONG
          Operand size - LONG.
static int S_MASK
          Mask for the operand size.
static int S_SHIFT
          Shift for the operand size.
static int S_SHORT
          Operand size - short.
static int SAHF
           
static int SAL
           
static int SAR
           
static int SBB
           
static int SCASB
           
static int SCASD
           
static int SCASW
           
static int SETA
           
static int SETAE
           
static int SETB
           
static int SETBE
           
static int SETC
           
static int SETE
           
static int SETG
           
static int SETGE
           
static int SETL
           
static int SETLE
           
static int SETNA
           
static int SETNAE
           
static int SETNB
           
static int SETNBE
           
static int SETNC
           
static int SETNE
           
static int SETNG
           
static int SETNGE
           
static int SETNL
           
static int SETNLE
           
static int SETNO
           
static int SETNP
           
static int SETNS
           
static int SETNZ
           
static int SETO
           
static int SETP
           
static int SETPE
           
static int SETPO
           
static int SETS
           
static int SETZ
           
static int SGDT
           
static int SHL
           
static int SHLD
           
static int SHR
           
static int SHRD
           
static int SIDT
           
static int SLDT
           
static int SMSW
           
static int STC
           
static int STCR
           
static int STD
           
static int STDR
           
static int STI
           
static int STOSB
           
static int STOSD
           
static int STOSW
           
static int STR
           
static int SUB
           
static int TEST
           
static int UB2
           
static int UN00
           
static int UN01
           
static int UN02
           
static int UN03
           
static int UN04
           
static int UN05
           
static int UN06
           
static int UN07
           
static int UN08
           
static int UN09
           
static int UN10
           
static int UN11
           
static int UN12
           
static int UN13
           
static int UN14
           
static int UN15
           
static int UN16
           
static int UN17
           
static int UN18
           
static int UN19
           
static int UN20
           
static int VERR
           
static int VERW
           
static int WAIT
           
static int WBINVD
           
static int WRMSR
           
static int XADD
           
static int XCHG
           
static int XLAT
           
static int XLATB
           
static int XOR
           
 
Constructor Summary
Opcodes()
           
 
Method Summary
static java.lang.String getOp(int opcode)
          Return the symbolic string for the instruction.
static java.lang.String getOp(X86Branch inst)
          Return the symbolic string for the instruction.
static java.lang.String getOp(X86Instruction inst)
          Return the symbolic string for the instruction.
static int getOperandSize(int opcode)
          Return 1, 2, 4, or 8 depending on the size of the operand, in bytes, specified for the instruction.
static char getOperandSizeLabel(int opcode)
          Return 'b', 'w', 'l', or 'x' depending on the size of the operand specified for the instruction.
static int getScale(int opcode)
          Return 1, 2, 4, or 8 depending on the scale factor specified for the instruction.
static int setOperandSize(int opcode, int size)
          Set the operand size specified for the instruction.
static int setScale(int opcode, int scale)
          Set the scale factor specified for the instruction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

O_MASK

public static final int O_MASK
Mask for the instruction opcode.

See Also:
Constant Field Values

O_SHIFT

public static final int O_SHIFT
Mask for the instruction opcode.

See Also:
Constant Field Values

S_MASK

public static final int S_MASK
Mask for the operand size.

See Also:
Constant Field Values

S_SHIFT

public static final int S_SHIFT
Shift for the operand size.

See Also:
Constant Field Values

S_BYTE

public static final int S_BYTE
Operand size - byte.

See Also:
Constant Field Values

S_SHORT

public static final int S_SHORT
Operand size - short.

See Also:
Constant Field Values

S_INT

public static final int S_INT
Operand size - int.

See Also:
Constant Field Values

S_LONG

public static final int S_LONG
Operand size - LONG.

See Also:
Constant Field Values

M_MASK

public static final int M_MASK
Mask for the scaling factor used in some addressing modes..

See Also:
Constant Field Values

M_SHIFT

public static final int M_SHIFT
Shift for the scaling factor used in some addressing modes..

See Also:
Constant Field Values

M_ONE

public static final int M_ONE
Scaling factor - 1.

See Also:
Constant Field Values

M_TWO

public static final int M_TWO
Scaling factor - 2.

See Also:
Constant Field Values

M_FOUR

public static final int M_FOUR
Scaling factor - 4.

See Also:
Constant Field Values

M_EIGHT

public static final int M_EIGHT
Scaling factor - 8.

See Also:
Constant Field Values

F_NONE

public static final int F_NONE
Valid form has no operands.

See Also:
Constant Field Values

F_R

public static final int F_R
Valid form has one register operand.

See Also:
Constant Field Values

F_RR

public static final int F_RR
Valid form has two register operands.

See Also:
Constant Field Values

F_RRR

public static final int F_RRR
Valid form has three register operands.

See Also:
Constant Field Values

F_D

public static final int F_D
Valid form has a descriptor operand.

See Also:
Constant Field Values

F_RD

public static final int F_RD
Valid form has a register operand and a descriptor operand.

See Also:
Constant Field Values

F_RRD

public static final int F_RRD
Valid form has two register operands and a descriptor operand.

See Also:
Constant Field Values

F_RRRD

public static final int F_RRRD
Valid form has three register operands and a descriptor operand.

See Also:
Constant Field Values

F_BRANCH

public static final int F_BRANCH
Branch instruction flag.

See Also:
Constant Field Values

F_REV

public static final int F_REV
Operands are reversed flag.

See Also:
Constant Field Values

F_SHFT

public static final int F_SHFT
See Also:
Constant Field Values

F_ARTH

public static final int F_ARTH
See Also:
Constant Field Values

F_CALL

public static final int F_CALL
See Also:
Constant Field Values

MOV

public static final int MOV
See Also:
Constant Field Values

CMOVE

public static final int CMOVE
See Also:
Constant Field Values

CMOVZ

public static final int CMOVZ
See Also:
Constant Field Values

CMOVNE

public static final int CMOVNE
See Also:
Constant Field Values

CMOVNZ

public static final int CMOVNZ
See Also:
Constant Field Values

CMOVA

public static final int CMOVA
See Also:
Constant Field Values

CMOVNBE

public static final int CMOVNBE
See Also:
Constant Field Values

CMOVAE

public static final int CMOVAE
See Also:
Constant Field Values

CMOVNB

public static final int CMOVNB
See Also:
Constant Field Values

CMOVB

public static final int CMOVB
See Also:
Constant Field Values

CMOVNAE

public static final int CMOVNAE
See Also:
Constant Field Values

CMOVBE

public static final int CMOVBE
See Also:
Constant Field Values

CMOVNA

public static final int CMOVNA
See Also:
Constant Field Values

CMOVG

public static final int CMOVG
See Also:
Constant Field Values

CMOVNLE

public static final int CMOVNLE
See Also:
Constant Field Values

CMOVGE

public static final int CMOVGE
See Also:
Constant Field Values

CMOVNL

public static final int CMOVNL
See Also:
Constant Field Values

CMOVL

public static final int CMOVL
See Also:
Constant Field Values

CMOVNGE

public static final int CMOVNGE
See Also:
Constant Field Values

CMOVLE

public static final int CMOVLE
See Also:
Constant Field Values

CMOVNG

public static final int CMOVNG
See Also:
Constant Field Values

CMOVC

public static final int CMOVC
See Also:
Constant Field Values

CMOVNC

public static final int CMOVNC
See Also:
Constant Field Values

CMOVO

public static final int CMOVO
See Also:
Constant Field Values

CMOVNO

public static final int CMOVNO
See Also:
Constant Field Values

CMOVS

public static final int CMOVS
See Also:
Constant Field Values

CMOVNS

public static final int CMOVNS
See Also:
Constant Field Values

CMOVP

public static final int CMOVP
See Also:
Constant Field Values

CMOVPE

public static final int CMOVPE
See Also:
Constant Field Values

CMOVNP

public static final int CMOVNP
See Also:
Constant Field Values

CMOVPO

public static final int CMOVPO
See Also:
Constant Field Values

XCHG

public static final int XCHG
See Also:
Constant Field Values

BSWAP

public static final int BSWAP
See Also:
Constant Field Values

XADD

public static final int XADD
See Also:
Constant Field Values

CMPXCHG

public static final int CMPXCHG
See Also:
Constant Field Values

CMPXCHG8B

public static final int CMPXCHG8B
See Also:
Constant Field Values

PUSH

public static final int PUSH
See Also:
Constant Field Values

POP

public static final int POP
See Also:
Constant Field Values

PUSHA

public static final int PUSHA
See Also:
Constant Field Values

PUSHAD

public static final int PUSHAD
See Also:
Constant Field Values

POPA

public static final int POPA
See Also:
Constant Field Values

POPAD

public static final int POPAD
See Also:
Constant Field Values

IN

public static final int IN
See Also:
Constant Field Values

OUT

public static final int OUT
See Also:
Constant Field Values

CWD

public static final int CWD
See Also:
Constant Field Values

CDQ

public static final int CDQ
See Also:
Constant Field Values

CBW

public static final int CBW
See Also:
Constant Field Values

CWDE

public static final int CWDE
See Also:
Constant Field Values

MOVSX

public static final int MOVSX
See Also:
Constant Field Values

MOVZX

public static final int MOVZX
See Also:
Constant Field Values

ADD

public static final int ADD
See Also:
Constant Field Values

ADC

public static final int ADC
See Also:
Constant Field Values

SUB

public static final int SUB
See Also:
Constant Field Values

SBB

public static final int SBB
See Also:
Constant Field Values

IMUL

public static final int IMUL
See Also:
Constant Field Values

MUL

public static final int MUL
See Also:
Constant Field Values

IDIV

public static final int IDIV
See Also:
Constant Field Values

DIV

public static final int DIV
See Also:
Constant Field Values

INC

public static final int INC
See Also:
Constant Field Values

DEC

public static final int DEC
See Also:
Constant Field Values

NEG

public static final int NEG
See Also:
Constant Field Values

CMP

public static final int CMP
See Also:
Constant Field Values

DAA

public static final int DAA
See Also:
Constant Field Values

DAS

public static final int DAS
See Also:
Constant Field Values

AAA

public static final int AAA
See Also:
Constant Field Values

AAS

public static final int AAS
See Also:
Constant Field Values

AAM

public static final int AAM
See Also:
Constant Field Values

AAD

public static final int AAD
See Also:
Constant Field Values

AND

public static final int AND
See Also:
Constant Field Values

OR

public static final int OR
See Also:
Constant Field Values

XOR

public static final int XOR
See Also:
Constant Field Values

NOT

public static final int NOT
See Also:
Constant Field Values

SAR

public static final int SAR
See Also:
Constant Field Values

SHR

public static final int SHR
See Also:
Constant Field Values

SAL

public static final int SAL
See Also:
Constant Field Values

SHL

public static final int SHL
See Also:
Constant Field Values

SHRD

public static final int SHRD
See Also:
Constant Field Values

SHLD

public static final int SHLD
See Also:
Constant Field Values

ROR

public static final int ROR
See Also:
Constant Field Values

ROL

public static final int ROL
See Also:
Constant Field Values

RCR

public static final int RCR
See Also:
Constant Field Values

RCL

public static final int RCL
See Also:
Constant Field Values

BT

public static final int BT
See Also:
Constant Field Values

BTS

public static final int BTS
See Also:
Constant Field Values

BTR

public static final int BTR
See Also:
Constant Field Values

BTC

public static final int BTC
See Also:
Constant Field Values

BSF

public static final int BSF
See Also:
Constant Field Values

BSR

public static final int BSR
See Also:
Constant Field Values

SETE

public static final int SETE
See Also:
Constant Field Values

SETZ

public static final int SETZ
See Also:
Constant Field Values

SETNE

public static final int SETNE
See Also:
Constant Field Values

SETNZ

public static final int SETNZ
See Also:
Constant Field Values

SETA

public static final int SETA
See Also:
Constant Field Values

SETNBE

public static final int SETNBE
See Also:
Constant Field Values

SETAE

public static final int SETAE
See Also:
Constant Field Values

SETNB

public static final int SETNB
See Also:
Constant Field Values

SETNC

public static final int SETNC
See Also:
Constant Field Values

SETB

public static final int SETB
See Also:
Constant Field Values

SETNAE

public static final int SETNAE
See Also:
Constant Field Values

SETC

public static final int SETC
See Also:
Constant Field Values

SETBE

public static final int SETBE
See Also:
Constant Field Values

SETNA

public static final int SETNA
See Also:
Constant Field Values

SETG

public static final int SETG
See Also:
Constant Field Values

SETNLE

public static final int SETNLE
See Also:
Constant Field Values

SETGE

public static final int SETGE
See Also:
Constant Field Values

SETNL

public static final int SETNL
See Also:
Constant Field Values

SETL

public static final int SETL
See Also:
Constant Field Values

SETNGE

public static final int SETNGE
See Also:
Constant Field Values

SETLE

public static final int SETLE
See Also:
Constant Field Values

SETNG

public static final int SETNG
See Also:
Constant Field Values

SETS

public static final int SETS
See Also:
Constant Field Values

SETNS

public static final int SETNS
See Also:
Constant Field Values

SETO

public static final int SETO
See Also:
Constant Field Values

SETNO

public static final int SETNO
See Also:
Constant Field Values

SETPE

public static final int SETPE
See Also:
Constant Field Values

SETP

public static final int SETP
See Also:
Constant Field Values

SETPO

public static final int SETPO
See Also:
Constant Field Values

SETNP

public static final int SETNP
See Also:
Constant Field Values

TEST

public static final int TEST
See Also:
Constant Field Values

JMP

public static final int JMP
See Also:
Constant Field Values

JE

public static final int JE
See Also:
Constant Field Values

JZ

public static final int JZ
See Also:
Constant Field Values

JNE

public static final int JNE
See Also:
Constant Field Values

JNZ

public static final int JNZ
See Also:
Constant Field Values

JA

public static final int JA
See Also:
Constant Field Values

JNBE

public static final int JNBE
See Also:
Constant Field Values

JAE

public static final int JAE
See Also:
Constant Field Values

JNB

public static final int JNB
See Also:
Constant Field Values

JB

public static final int JB
See Also:
Constant Field Values

JNAE

public static final int JNAE
See Also:
Constant Field Values

JBE

public static final int JBE
See Also:
Constant Field Values

JNA

public static final int JNA
See Also:
Constant Field Values

JG

public static final int JG
See Also:
Constant Field Values

JNLE

public static final int JNLE
See Also:
Constant Field Values

JGE

public static final int JGE
See Also:
Constant Field Values

JNL

public static final int JNL
See Also:
Constant Field Values

JL

public static final int JL
See Also:
Constant Field Values

JNGE

public static final int JNGE
See Also:
Constant Field Values

JLE

public static final int JLE
See Also:
Constant Field Values

JNG

public static final int JNG
See Also:
Constant Field Values

JC

public static final int JC
See Also:
Constant Field Values

JNC

public static final int JNC
See Also:
Constant Field Values

JO

public static final int JO
See Also:
Constant Field Values

JNO

public static final int JNO
See Also:
Constant Field Values

JS

public static final int JS
See Also:
Constant Field Values

JNS

public static final int JNS
See Also:
Constant Field Values

JPO

public static final int JPO
See Also:
Constant Field Values

JNP

public static final int JNP
See Also:
Constant Field Values

JPE

public static final int JPE
See Also:
Constant Field Values

JP

public static final int JP
See Also:
Constant Field Values

JCXZ

public static final int JCXZ
See Also:
Constant Field Values

JECXZ

public static final int JECXZ
See Also:
Constant Field Values

LOOP

public static final int LOOP
See Also:
Constant Field Values

LOOPZ

public static final int LOOPZ
See Also:
Constant Field Values

LOOPE

public static final int LOOPE
See Also:
Constant Field Values

LOOPNZ

public static final int LOOPNZ
See Also:
Constant Field Values

LOOPNE

public static final int LOOPNE
See Also:
Constant Field Values

CALL

public static final int CALL
See Also:
Constant Field Values

RET

public static final int RET
See Also:
Constant Field Values

IRET

public static final int IRET
See Also:
Constant Field Values

INT

public static final int INT
See Also:
Constant Field Values

INTO

public static final int INTO
See Also:
Constant Field Values

BOUND

public static final int BOUND
See Also:
Constant Field Values

ENTER

public static final int ENTER
See Also:
Constant Field Values

LEAVE

public static final int LEAVE
See Also:
Constant Field Values

UN00

public static final int UN00
See Also:
Constant Field Values

MOVSB

public static final int MOVSB
See Also:
Constant Field Values

UN01

public static final int UN01
See Also:
Constant Field Values

MOVSW

public static final int MOVSW
See Also:
Constant Field Values

UN02

public static final int UN02
See Also:
Constant Field Values

MOVSD

public static final int MOVSD
See Also:
Constant Field Values

UN03

public static final int UN03
See Also:
Constant Field Values

CMPSB

public static final int CMPSB
See Also:
Constant Field Values

UN04

public static final int UN04
See Also:
Constant Field Values

CMPSW

public static final int CMPSW
See Also:
Constant Field Values

UN05

public static final int UN05
See Also:
Constant Field Values

CMPSD

public static final int CMPSD
See Also:
Constant Field Values

UN06

public static final int UN06
See Also:
Constant Field Values

SCASB

public static final int SCASB
See Also:
Constant Field Values

UN07

public static final int UN07
See Also:
Constant Field Values

SCASW

public static final int SCASW
See Also:
Constant Field Values

UN08

public static final int UN08
See Also:
Constant Field Values

SCASD

public static final int SCASD
See Also:
Constant Field Values

UN09

public static final int UN09
See Also:
Constant Field Values

LODSB

public static final int LODSB
See Also:
Constant Field Values

UN10

public static final int UN10
See Also:
Constant Field Values

LODSW

public static final int LODSW
See Also:
Constant Field Values

UN11

public static final int UN11
See Also:
Constant Field Values

LODSD

public static final int LODSD
See Also:
Constant Field Values

UN12

public static final int UN12
See Also:
Constant Field Values

STOSB

public static final int STOSB
See Also:
Constant Field Values

UN13

public static final int UN13
See Also:
Constant Field Values

STOSW

public static final int STOSW
See Also:
Constant Field Values

UN14

public static final int UN14
See Also:
Constant Field Values

STOSD

public static final int STOSD
See Also:
Constant Field Values

REP

public static final int REP
See Also:
Constant Field Values

REPE

public static final int REPE
See Also:
Constant Field Values

REPZ

public static final int REPZ
See Also:
Constant Field Values

REPNE

public static final int REPNE
See Also:
Constant Field Values

REPNZ

public static final int REPNZ
See Also:
Constant Field Values

UN15

public static final int UN15
See Also:
Constant Field Values

INSB

public static final int INSB
See Also:
Constant Field Values

UN16

public static final int UN16
See Also:
Constant Field Values

INSW

public static final int INSW
See Also:
Constant Field Values

UN17

public static final int UN17
See Also:
Constant Field Values

INSD

public static final int INSD
See Also:
Constant Field Values

UN18

public static final int UN18
See Also:
Constant Field Values

OUTSB

public static final int OUTSB
See Also:
Constant Field Values

UN19

public static final int UN19
See Also:
Constant Field Values

OUTSW

public static final int OUTSW
See Also:
Constant Field Values

UN20

public static final int UN20
See Also:
Constant Field Values

OUTSD

public static final int OUTSD
See Also:
Constant Field Values

STC

public static final int STC
See Also:
Constant Field Values

CLC

public static final int CLC
See Also:
Constant Field Values

CMC

public static final int CMC
See Also:
Constant Field Values

CLD

public static final int CLD
See Also:
Constant Field Values

STD

public static final int STD
See Also:
Constant Field Values

LAHF

public static final int LAHF
See Also:
Constant Field Values

SAHF

public static final int SAHF
See Also:
Constant Field Values

PUSHF

public static final int PUSHF
See Also:
Constant Field Values

PUSHFD

public static final int PUSHFD
See Also:
Constant Field Values

POPF

public static final int POPF
See Also:
Constant Field Values

POPFD

public static final int POPFD
See Also:
Constant Field Values

STI

public static final int STI
See Also:
Constant Field Values

CLI

public static final int CLI
See Also:
Constant Field Values

LDS

public static final int LDS
See Also:
Constant Field Values

LES

public static final int LES
See Also:
Constant Field Values

LFS

public static final int LFS
See Also:
Constant Field Values

LGS

public static final int LGS
See Also:
Constant Field Values

LSS

public static final int LSS
See Also:
Constant Field Values

LEA

public static final int LEA
See Also:
Constant Field Values

NOP

public static final int NOP
See Also:
Constant Field Values

UB2

public static final int UB2
See Also:
Constant Field Values

XLAT

public static final int XLAT
See Also:
Constant Field Values

XLATB

public static final int XLATB
See Also:
Constant Field Values

CPUID

public static final int CPUID
See Also:
Constant Field Values

MOVD

public static final int MOVD
See Also:
Constant Field Values

MOVQ

public static final int MOVQ
See Also:
Constant Field Values

PACKSSWB

public static final int PACKSSWB
See Also:
Constant Field Values

PACKSSDW

public static final int PACKSSDW
See Also:
Constant Field Values

PACKUSWB

public static final int PACKUSWB
See Also:
Constant Field Values

PUNPCKHBW

public static final int PUNPCKHBW
See Also:
Constant Field Values

PUNPCKHWD

public static final int PUNPCKHWD
See Also:
Constant Field Values

PUNPCKHDQ

public static final int PUNPCKHDQ
See Also:
Constant Field Values

PUNPCKLBW

public static final int PUNPCKLBW
See Also:
Constant Field Values

PUNPCKLWD

public static final int PUNPCKLWD
See Also:
Constant Field Values

PUNPCKLDQ

public static final int PUNPCKLDQ
See Also:
Constant Field Values

PADDB

public static final int PADDB
See Also:
Constant Field Values

PADDW

public static final int PADDW
See Also:
Constant Field Values

PADDD

public static final int PADDD
See Also:
Constant Field Values

PADDSB

public static final int PADDSB
See Also:
Constant Field Values

PADDSW

public static final int PADDSW
See Also:
Constant Field Values

PADDUSB

public static final int PADDUSB
See Also:
Constant Field Values

PADDUSW

public static final int PADDUSW
See Also:
Constant Field Values

PSUBB

public static final int PSUBB
See Also:
Constant Field Values

PSUBW

public static final int PSUBW
See Also:
Constant Field Values

PSUBD

public static final int PSUBD
See Also:
Constant Field Values

PSUBSB

public static final int PSUBSB
See Also:
Constant Field Values

PSUBSW

public static final int PSUBSW
See Also:
Constant Field Values

PSUBUSB

public static final int PSUBUSB
See Also:
Constant Field Values

PSUBUSW

public static final int PSUBUSW
See Also:
Constant Field Values

PMULHW

public static final int PMULHW
See Also:
Constant Field Values

PMULLW

public static final int PMULLW
See Also:
Constant Field Values

PMADDWD

public static final int PMADDWD
See Also:
Constant Field Values

PCMPEQB

public static final int PCMPEQB
See Also:
Constant Field Values

PCMPEQW

public static final int PCMPEQW
See Also:
Constant Field Values

PCMPEQD

public static final int PCMPEQD
See Also:
Constant Field Values

PCMPGTB

public static final int PCMPGTB
See Also:
Constant Field Values

PCMPGTW

public static final int PCMPGTW
See Also:
Constant Field Values

PCMPGTD

public static final int PCMPGTD
See Also:
Constant Field Values

PAND

public static final int PAND
See Also:
Constant Field Values

PANDN

public static final int PANDN
See Also:
Constant Field Values

POR

public static final int POR
See Also:
Constant Field Values

PXOR

public static final int PXOR
See Also:
Constant Field Values

PSLLW

public static final int PSLLW
See Also:
Constant Field Values

PSLLD

public static final int PSLLD
See Also:
Constant Field Values

PSLLQ

public static final int PSLLQ
See Also:
Constant Field Values

PSRLW

public static final int PSRLW
See Also:
Constant Field Values

PSRLD

public static final int PSRLD
See Also:
Constant Field Values

PSRLQ

public static final int PSRLQ
See Also:
Constant Field Values

PSRAW

public static final int PSRAW
See Also:
Constant Field Values

PSRAD

public static final int PSRAD
See Also:
Constant Field Values

EMMS

public static final int EMMS
See Also:
Constant Field Values

FLD

public static final int FLD
See Also:
Constant Field Values

FST

public static final int FST
See Also:
Constant Field Values

FSTP

public static final int FSTP
See Also:
Constant Field Values

FILD

public static final int FILD
See Also:
Constant Field Values

FIST

public static final int FIST
See Also:
Constant Field Values

FISTP

public static final int FISTP
See Also:
Constant Field Values

FBLD

public static final int FBLD
See Also:
Constant Field Values

FBSTP

public static final int FBSTP
See Also:
Constant Field Values

FXCH

public static final int FXCH
See Also:
Constant Field Values

FCMOVE

public static final int FCMOVE
See Also:
Constant Field Values

FCMOVNE

public static final int FCMOVNE
See Also:
Constant Field Values

FCMOVB

public static final int FCMOVB
See Also:
Constant Field Values

FCMOVBE

public static final int FCMOVBE
See Also:
Constant Field Values

FCMOVNB

public static final int FCMOVNB
See Also:
Constant Field Values

FCMOVNBE

public static final int FCMOVNBE
See Also:
Constant Field Values

FCMOVU

public static final int FCMOVU
See Also:
Constant Field Values

FCMOVNU

public static final int FCMOVNU
See Also:
Constant Field Values

FADD

public static final int FADD
See Also:
Constant Field Values

FADDP

public static final int FADDP
See Also:
Constant Field Values

FIADD

public static final int FIADD
See Also:
Constant Field Values

FSUB

public static final int FSUB
See Also:
Constant Field Values

FSUBP

public static final int FSUBP
See Also:
Constant Field Values

FISUB

public static final int FISUB
See Also:
Constant Field Values

FSUBR

public static final int FSUBR
See Also:
Constant Field Values

FSUBRP

public static final int FSUBRP
See Also:
Constant Field Values

FISUBR

public static final int FISUBR
See Also:
Constant Field Values

FMUL

public static final int FMUL
See Also:
Constant Field Values

FMULP

public static final int FMULP
See Also:
Constant Field Values

FIMUL

public static final int FIMUL
See Also:
Constant Field Values

FDIV

public static final int FDIV
See Also:
Constant Field Values

FDIVP

public static final int FDIVP
See Also:
Constant Field Values

FIDIV

public static final int FIDIV
See Also:
Constant Field Values

FDIVR

public static final int FDIVR
See Also:
Constant Field Values

FDIVRP

public static final int FDIVRP
See Also:
Constant Field Values

FIDIVR

public static final int FIDIVR
See Also:
Constant Field Values

FPREM

public static final int FPREM
See Also:
Constant Field Values

FPREMI

public static final int FPREMI
See Also:
Constant Field Values

FABS

public static final int FABS
See Also:
Constant Field Values

FCHS

public static final int FCHS
See Also:
Constant Field Values

FRNDINT

public static final int FRNDINT
See Also:
Constant Field Values

FSCALE

public static final int FSCALE
See Also:
Constant Field Values

FSQRT

public static final int FSQRT
See Also:
Constant Field Values

FXTRACT

public static final int FXTRACT
See Also:
Constant Field Values

FCOM

public static final int FCOM
See Also:
Constant Field Values

FCOMP

public static final int FCOMP
See Also:
Constant Field Values

FCOMPP

public static final int FCOMPP
See Also:
Constant Field Values

FUCOM

public static final int FUCOM
See Also:
Constant Field Values

FUCOMP

public static final int FUCOMP
See Also:
Constant Field Values

FUCOMPP

public static final int FUCOMPP
See Also:
Constant Field Values

FICOM

public static final int FICOM
See Also:
Constant Field Values

FICOMP

public static final int FICOMP
See Also:
Constant Field Values

FCOMI

public static final int FCOMI
See Also:
Constant Field Values

FUCOMI

public static final int FUCOMI
See Also:
Constant Field Values

FCOMIP

public static final int FCOMIP
See Also:
Constant Field Values

FUCOMIP

public static final int FUCOMIP
See Also:
Constant Field Values

FTST

public static final int FTST
See Also:
Constant Field Values

FXAM

public static final int FXAM
See Also:
Constant Field Values

FSIN

public static final int FSIN
See Also:
Constant Field Values

FCOS

public static final int FCOS
See Also:
Constant Field Values

FSINCOS

public static final int FSINCOS
See Also:
Constant Field Values

FPTAN

public static final int FPTAN
See Also:
Constant Field Values

FPATAN

public static final int FPATAN
See Also:
Constant Field Values

F2XM1

public static final int F2XM1
See Also:
Constant Field Values

FYL2X

public static final int FYL2X
See Also:
Constant Field Values

FYL2XP1

public static final int FYL2XP1
See Also:
Constant Field Values

FLD1

public static final int FLD1
See Also:
Constant Field Values

FLDZ

public static final int FLDZ
See Also:
Constant Field Values

FLDPI

public static final int FLDPI
See Also:
Constant Field Values

FLDL2E

public static final int FLDL2E
See Also:
Constant Field Values

FLDLN2

public static final int FLDLN2
See Also:
Constant Field Values

FLDL2T

public static final int FLDL2T
See Also:
Constant Field Values

FLDLG2

public static final int FLDLG2
See Also:
Constant Field Values

FINCSTP

public static final int FINCSTP
See Also:
Constant Field Values

FDECSTP

public static final int FDECSTP
See Also:
Constant Field Values

FFREE

public static final int FFREE
See Also:
Constant Field Values

FINIT

public static final int FINIT
See Also:
Constant Field Values

FNINIT

public static final int FNINIT
See Also:
Constant Field Values

FCLEX

public static final int FCLEX
See Also:
Constant Field Values

FNCLEX

public static final int FNCLEX
See Also:
Constant Field Values

FSTCW

public static final int FSTCW
See Also:
Constant Field Values

FNSTCW

public static final int FNSTCW
See Also:
Constant Field Values

FLDCW

public static final int FLDCW
See Also:
Constant Field Values

FSTENV

public static final int FSTENV
See Also:
Constant Field Values

FNSTENV

public static final int FNSTENV
See Also:
Constant Field Values

FLDENV

public static final int FLDENV
See Also:
Constant Field Values

FSAVE

public static final int FSAVE
See Also:
Constant Field Values

FNSAVE

public static final int FNSAVE
See Also:
Constant Field Values

FRSTOR

public static final int FRSTOR
See Also:
Constant Field Values

FSTSW

public static final int FSTSW
See Also:
Constant Field Values

FNSTSW

public static final int FNSTSW
See Also:
Constant Field Values

WAIT

public static final int WAIT
See Also:
Constant Field Values

FWAIT

public static final int FWAIT
See Also:
Constant Field Values

FNOP

public static final int FNOP
See Also:
Constant Field Values

LGDT

public static final int LGDT
See Also:
Constant Field Values

SGDT

public static final int SGDT
See Also:
Constant Field Values

LLDT

public static final int LLDT
See Also:
Constant Field Values

SLDT

public static final int SLDT
See Also:
Constant Field Values

LTR

public static final int LTR
See Also:
Constant Field Values

STR

public static final int STR
See Also:
Constant Field Values

LIDT

public static final int LIDT
See Also:
Constant Field Values

SIDT

public static final int SIDT
See Also:
Constant Field Values

LMSW

public static final int LMSW
See Also:
Constant Field Values

SMSW

public static final int SMSW
See Also:
Constant Field Values

CLTS

public static final int CLTS
See Also:
Constant Field Values

ARPL

public static final int ARPL
See Also:
Constant Field Values

LAR

public static final int LAR
See Also:
Constant Field Values

LSL

public static final int LSL
See Also:
Constant Field Values

VERR

public static final int VERR
See Also:
Constant Field Values

VERW

public static final int VERW
See Also:
Constant Field Values

INVD

public static final int INVD
See Also:
Constant Field Values

WBINVD

public static final int WBINVD
See Also:
Constant Field Values

INVLPG

public static final int INVLPG
See Also:
Constant Field Values

LOCK

public static final int LOCK
See Also:
Constant Field Values

HLT

public static final int HLT
See Also:
Constant Field Values

RSM

public static final int RSM
See Also:
Constant Field Values

RDMSR

public static final int RDMSR
See Also:
Constant Field Values

WRMSR

public static final int WRMSR
See Also:
Constant Field Values

RDPMC

public static final int RDPMC
See Also:
Constant Field Values

RDTSC

public static final int RDTSC
See Also:
Constant Field Values

LDDR

public static final int LDDR
See Also:
Constant Field Values

STDR

public static final int STDR
See Also:
Constant Field Values

LDCR

public static final int LDCR
See Also:
Constant Field Values

STCR

public static final int STCR
See Also:
Constant Field Values

opnames

public static final java.lang.String[] opnames
Constructor Detail

Opcodes

public Opcodes()
Method Detail

getOp

public static java.lang.String getOp(X86Instruction inst)
Return the symbolic string for the instruction.


getOp

public static java.lang.String getOp(X86Branch inst)
Return the symbolic string for the instruction.


getOp

public static java.lang.String getOp(int opcode)
Return the symbolic string for the instruction.


getScale

public static int getScale(int opcode)
Return 1, 2, 4, or 8 depending on the scale factor specified for the instruction.


setScale

public static int setScale(int opcode,
                           int scale)
Set the scale factor specified for the instruction. The value must be 1, 2, 4, or 8.

Returns:
the new opcode

getOperandSize

public static int getOperandSize(int opcode)
Return 1, 2, 4, or 8 depending on the size of the operand, in bytes, specified for the instruction.


getOperandSizeLabel

public static char getOperandSizeLabel(int opcode)
Return 'b', 'w', 'l', or 'x' depending on the size of the operand specified for the instruction.


setOperandSize

public static int setOperandSize(int opcode,
                                 int size)
Set the operand size specified for the instruction. The value must be 1, 2, 4, or 8.

Returns:
the new opcode