{-# LANGUAGE DeriveGeneric #-}

module Data.X86.Opcode where

import           GHC.Generics (Generic)
import qualified Data.Serialize as Cereal
import           Control.DeepSeq


-- | Opcodes / mnemonics
data Opcode =
    InvalidOpcode
  | AAA
  | AAD
  | AAM
  | AAS
  | ADC
  | ADD
  | ADDPD
  | ADDPS
  | ADDSD
  | ADDSS
  | ADDSUBPD
  | ADDUBPS
  | AND
  | ANDNPD
  | ANDNPS
  | ANDPD
  | ANDPS
  | ARPL
  | BLENDVPD
  | BLENDVPS
  | BOUND
  | BSF
  | BSR
  | BT
  | BTC
  | BTR
  | BTS
  | CALL
  | CALLF
  | CBW
  | CDQ
  | CDQE
  | CLC
  | CLD
  | CLFLUSH
  | CLI
  | CLTS
  | CMC
  | CMOVA
  | CMOVAE
  | CMOVB
  | CMOVBE
  | CMOVC
  | CMOVE
  | CMOVG
  | CMOVGE
  | CMOVL
  | CMOVLE
  | CMOVNA
  | CMOVNAE
  | CMOVNB
  | CMOVNBE
  | CMOVNC
  | CMOVNE
  | CMOVNG
  | CMOVNGE
  | CMOVNL
  | CMOVNLE
  | CMOVNO
  | CMOVNP
  | CMOVNS
  | CMOVNZ
  | CMOVO
  | CMOVP
  | CMOVPE
  | CMOVPO
  | CMOVS
  | CMOVZ
  | CMP
  | CMPEQSD
  | CMPNEQSD
  | CMPNLESD
  | CMPNLESS
  | CMPLTSD
  | CMPLTSS
  | CMPS
  | CMPSB
  | CMPSD
  | CMPSS
  | CMPSW
  | CMPXCHG
  | CMPXCHG16B
  | CMPXCHG8B
  | COMISD
  | COMISS
  | CPUID
  | CQO
  | CVTDQ2PD
  | CVTSD2SS
  | CVTSI2SD
  | CVTSI2SS
  | CVTSS2SD
  | CVTTSD2SI
  | CVTTSS2SI
  | CVTTPD2DQ
  | CWD
  | CWDE
  | DAA
  | DAS
  | DEC
  | DIV
  | DIV_LO
  | DIV_HI
  | DIVPD
  | DIVPS
  | DIVSD
  | DIVSS
  | EMMS
  | ENDBR64
  | ENTER
  | EXTRACTPS
  | FABS
  | FADD
  | FADDP
  | FBLD
  | FBSTP
  | FCHS
  | FCLEX
  | FCMOVB
  | FCMOVBE
  | FCMOVE
  | FCMOVNB
  | FCMOVNBE
  | FCMOVNE
  | FCMOVNU
  | FCMOVU
  | FCOM
  | FCOMI
  | FCOMIP
  | FCOMP
  | FCOMPI
  | FCOMPP
  | FCOS
  | FDIV
  | FDIVP
  | FDIVR
  | FDIVRP
  | FFREE
  | FRNDINT
  | FIADD
  | FICOM
  | FICOMP
  | FIDIV
  | FIDIVR
  | FILD
  | FIMUL
  | FINIT
  | FIST
  | FISTP
  | FISTPP
  | FISTTP
  | FISUB
  | FISUBR
  | FLD
  | FLD1
  | FLDCW
  | FLDENV
  | FLDL2E
  | FLDL2T
  | FLDLG2
  | FLDLN2
  | FLDPI
  | FLDZ
  | FMUL
  | FMULP
  | FNOP
  | FNINIT
  | FNSTCW
  | FPREM1
  | FRSTOR
  | FSAVE
  | FSIN
  | FSINCOS
  | FSCALE
  | FSQRT
  | FST
  | FSTCW
  | FSTENV
  | FSTP
  | FSTSW
  | FSUB
  | FSUBP
  | FSUBR
  | FSUBRP
  | FTST
  | FUCOM
  | FUCOMI
  | FUCOMIP
  | FUCOMP
  | FUCOMPI
  | FUCOMPP
  | FXAM
  | FXCH
  | FXRSTOR
  | FXSAVE
  | FXTRACT
  | HADDPD
  | HADDPS
  | HLT
  | HSUBPD
  | HSUBPS
  | IDIV
  | IDIV_LO
  | IDIV_HI
  | IMUL
  | IMUL_LO
  | IMUL_HI
  | BSWAP
  | IN
  | INC
  | INS
  | INSD
  | INT
  | INT3
  | INTO
  | INVD
  | INVLPG
  | INVPCID
  | IRET
  | IRETD
  | IRETQ
  | JA
  | JAE
  | JB
  | JBE
  | JC
  | JCXZ
  | JE
  | JECXZ
  | JG
  | JGE
  | JL
  | JLE
  | JMP
  | JMPF
  | JMPN
  | JNAE
  | JNA
  | JNB
  | JNBE
  | JNC
  | JNG
  | JNE
  | JNGE
  | JNLE
  | JNL
  | JNO
  | JNP
  | JNS
  | JNZ
  | JO
  | JP
  | JPE
  | JPO
  | JRCXZ
  | JS
  | JZ
  | LAHF
  | LAR
  | LDDQU
  | LDMXCSR
  | LDS
  | LEA
  | LEAVE
  | LES
  | LFENCE
  | LFS
  | LGDT
  | LGS
  | LIDT
  | LLDT
  | LMSW
  | LODS
  | LODSB
  | LODSD
  | LODSW
  | LOOP
  | LOOPE
  | LOOPNE
  | LSL
  | LSS
  | LTR
  | MASKMOVQ
  | MAXPD
  | MAXPS
  | MAXSD
  | MAXSS
  | MFENCE
  | MINPD
  | MINPS
  | MINSD
  | MINSS
  | MONITOR
  | MOV
  | MOVABS
  | MOVAPD
  | MOVAPS
  | MOVD
  | MOVDDUP
  | MOVDQA
  | MOVDQU
  | MOVHLPS
  | MOVHPD
  | MOVHPS
  | MOVLHPS
  | MOVLPD
  | MOVLPS
  | MOVLSDUP
  | MOVMSKPD
  | MOVMSKPS
  | MOVNTDQ
  | MOVNTPD
  | MOVNTPS
  | MOVNTQ
  | MOVQ
  | MOVS
  | MOVSB
  | MOVSD
  | MOVSLDUP
  | MOVSS
  | MOVSW
  | MOVSQ
  | MOVSX
  | MOVSXB
  | MOVSXD
  | MOVSXW
  | MOVUPD
  | MOVUPS
  | MOVZX
  | MOVZXB
  | MOVZXW
  | MUL
  | MUL_LO
  | MUL_HI
  | MULPD
  | MULPS
  | MULSD
  | MULSS
  | MWAIT
  | NEG
  | NOP
  | NOT
  | OR
  | ORPD
  | ORPS
  | OUT
  | OUTS
  | PALIGNR
  | PACKSSDW
  | PACKSSWB
  | PADDB
  | PADDD
  | PADDQ
  | PADDSB
  | PADDSW
  | PADDUSB
  | PADDUSW
  | PADDW
  | PAND
  | PANDN
  | PAUSE
  | PAVGB
  | PAVGW
  | PBLENDW
  | PCLMULQDQ
  | PCMPEQB
  | PCMPEQD
  | PCMPGTB
  | PCMPGTD
  | PEXTRB
  | PEXTRD
  | PEXTRQ
  | PHADDD
  | PINSRB
  | PINSRD
  | PINSRQ
  | PMADDWD
  | PMAXSD
  | PMAXSW
  | PMAXUB
  | PMAXUD
  | PMAXUQ
  | PMINSD
  | PMINSW
  | PMINUB
  | PMINUD
  | PMOVMSKB
  | PMOVSXDQ
  | PMOVZXDQ
  | PMOVSXBD
  | PMOVZXBD
  | PMULLD
  | PMULLQ
  | PMULHUW
  | PMULHW
  | PMULLW
  | PMULUDQ
  | POP
  | POPA
  | POPAD
  | POPF
  | POPFD
  | POPFQ
  | POR
  | PREFETCHNTA
  | PREFETCHT0
  | PREFETCHT1
  | PREFETCHT2
  | PSADBW
  | PSHUFB
  | PSHUFD
  | PSHUFLW
  | PSLLD
  | PSLLDQ
  | PSLLQ
  | PSLLW
  | PSRAD
  | PSRAW
  | PSRLD
  | PSRLDQ
  | PSRLQ
  | PSRLW
  | PSUBB
  | PSUBD
  | PSUBQ
  | PSUBSB
  | PSUBSQ
  | PSUBUSB
  | PSUBUSW
  | PSUBW
  | PTEST
  | PUNPCKLBW
  | PUNPCKLWD
  | PUNPCKLDQ
  | PUNPCKLQDQ
  | PUSH
  | PUSHA
  | PUSHAD
  | PUSHF
  | PUSHFD
  | PUSHFQ
  | PXOR
  | RCL
  | RCPPS
  | RCPSS
  | RCR
  | RDMSR
  | RDPMC
  | RDTSC
  | RET
  | RETF
  | RETN
  | ROL
  | ROR
  | ROUNDSD
  | ROUNDSS
  | RSM
  | RSQRTPS
  | RSQRTSS
  | SAHF
  | SAL
  | SAR
  | SBB
  | SCAS
  | SCASB
  | SCASD
  | SETA
  | SETAE
  | SETB
  | SETBE
  | SETC
  | SETE
  | SETG
  | SETGE
  | SETL
  | SETLE
  | SETNA
  | SETNAE
  | SETNB
  | SETNBE
  | SETNC
  | SETNE
  | SETNG
  | SETNGE
  | SETNL
  | SETNLE
  | SETNO
  | SETNP
  | SETNS
  | SETNZ
  | SETO
  | SETP
  | SETPE
  | SETPO
  | SETS
  | SETZ
  | SFENCE
  | SGDT
  | SHL
  | SHLD
  | SHR
  | SHRD
  | SHUFPS
  | SIDT
  | SLDT
  | SMSW
  | SQRTPD
  | SQRTPS
  | SQRTSD
  | SQRTSS
  | STC
  | STD
  | STI
  | STMXCSR
  | STOS
  | STOSB
  | STOSD
  | STOSW
  | STOSQ
  | STR
  | SUB
  | SUBPD
  | SUBPS
  | SUBSD
  | SUBSS
  | SWAPGS
  | SYSCALL
  | SYSENTER
  | SYSEXIT
  | SYSRET
  | TEST
  | UCOMISD
  | UCOMISS
  | UD2
  | UNPCKHPD
  | UNPCKHPS
  | UNPCKLPD
  | UNPCKLPS
  | VANDPD
  | VANDPS
  | VADDPD
  | VADDPS
  | VBLENDPS
  | VERR
  | VERW
  | VEXTRACTI128
  | VEXTRACTF128
  | VINSERTF128
  | VMCALL
  | VMCLEAR
  | VMLAUNCH
  | VMOVAPD
  | VMOVAPS
  | VMOVHPS
  | VMOVD
  | VMOVDQA
  | VMOVDQU
  | VMOVLHPS
  | VMPTRLD
  | VMPTRST
  | VMREAD
  | VMRESUME
  | VMWRITE
  | VMULPD
  | VMULPS
  | VMXOFF
  | VMXON
  | VPALIGNR
  | VPAND
  | VPANDN
  | VPCMPEQB
  | VPCMPEQW
  | VPERM2F128
  | VPERM2I128
  | VPERMILPS
  | VPOR
  | VPSHUFB
  | VPSHUFD
  | VPSLLW
  | VSHUFPS
  | VSHUFPD
  | VPXOR
  | VPUNPCKLWD
  | VPUNPCKHWD
  | VSUBPD
  | VSUBPS
  | VUNPCKHPS
  | VUNPCKLPS
  | VXORPD
  | VXORPS
  | VZEROUPPER
  | WAIT
  | WBINVD
  | WRFSBASE
  | WRGSBASE
  | WRMSR
  | XADD
  | XCHG
  | XGETBV
  | XLAT
  | XLATB
  | XSETBV
  | XSAVEOPT
  | XRSTOR
  | XOR
  | XORPD
  | XORPS
  deriving (Int -> Opcode -> ShowS
[Opcode] -> ShowS
Opcode -> String
(Int -> Opcode -> ShowS)
-> (Opcode -> String) -> ([Opcode] -> ShowS) -> Show Opcode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Opcode -> ShowS
showsPrec :: Int -> Opcode -> ShowS
$cshow :: Opcode -> String
show :: Opcode -> String
$cshowList :: [Opcode] -> ShowS
showList :: [Opcode] -> ShowS
Show, Opcode -> Opcode -> Bool
(Opcode -> Opcode -> Bool)
-> (Opcode -> Opcode -> Bool) -> Eq Opcode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Opcode -> Opcode -> Bool
== :: Opcode -> Opcode -> Bool
$c/= :: Opcode -> Opcode -> Bool
/= :: Opcode -> Opcode -> Bool
Eq, Eq Opcode
Eq Opcode =>
(Opcode -> Opcode -> Ordering)
-> (Opcode -> Opcode -> Bool)
-> (Opcode -> Opcode -> Bool)
-> (Opcode -> Opcode -> Bool)
-> (Opcode -> Opcode -> Bool)
-> (Opcode -> Opcode -> Opcode)
-> (Opcode -> Opcode -> Opcode)
-> Ord Opcode
Opcode -> Opcode -> Bool
Opcode -> Opcode -> Ordering
Opcode -> Opcode -> Opcode
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Opcode -> Opcode -> Ordering
compare :: Opcode -> Opcode -> Ordering
$c< :: Opcode -> Opcode -> Bool
< :: Opcode -> Opcode -> Bool
$c<= :: Opcode -> Opcode -> Bool
<= :: Opcode -> Opcode -> Bool
$c> :: Opcode -> Opcode -> Bool
> :: Opcode -> Opcode -> Bool
$c>= :: Opcode -> Opcode -> Bool
>= :: Opcode -> Opcode -> Bool
$cmax :: Opcode -> Opcode -> Opcode
max :: Opcode -> Opcode -> Opcode
$cmin :: Opcode -> Opcode -> Opcode
min :: Opcode -> Opcode -> Opcode
Ord, (forall x. Opcode -> Rep Opcode x)
-> (forall x. Rep Opcode x -> Opcode) -> Generic Opcode
forall x. Rep Opcode x -> Opcode
forall x. Opcode -> Rep Opcode x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Opcode -> Rep Opcode x
from :: forall x. Opcode -> Rep Opcode x
$cto :: forall x. Rep Opcode x -> Opcode
to :: forall x. Rep Opcode x -> Opcode
Generic)

instance Cereal.Serialize Opcode
instance NFData Opcode

-- | Returns true iff m is the mnemonic of a conditional jump
isCondJump :: Opcode -> Bool
isCondJump :: Opcode -> Bool
isCondJump Opcode
m = Opcode
m
  Opcode -> [Opcode] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [ Opcode
JO
         , Opcode
JNO
         , Opcode
JS
         , Opcode
JNS
         , Opcode
JE
         , Opcode
JZ
         , Opcode
JNE
         , Opcode
JNZ
         , Opcode
JB
         , Opcode
JNAE
         , Opcode
JC
         , Opcode
JNB
         , Opcode
JAE
         , Opcode
JNC
         , Opcode
JBE
         , Opcode
JNA
         , Opcode
JA
         , Opcode
JNBE
         , Opcode
JL
         , Opcode
JNGE
         , Opcode
JGE
         , Opcode
JNL
         , Opcode
JLE
         , Opcode
JNG
         , Opcode
JG
         , Opcode
JNLE
         , Opcode
JP
         , Opcode
JPE
         , Opcode
JNP
         , Opcode
JPO
         , Opcode
JCXZ
         , Opcode
JECXZ
         , Opcode
JRCXZ
         , Opcode
LOOP
         , Opcode
LOOPE
         , Opcode
LOOPNE ]

-- | Returns true iff m is the mnemonic of a halting instruction
isHalt :: Opcode -> Bool
isHalt :: Opcode -> Bool
isHalt Opcode
m = Opcode
m Opcode -> [Opcode] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [Opcode
HLT, Opcode
UD2]

-- | Returns true iff m is the mnemonic of a jump
isJump :: Opcode -> Bool
isJump :: Opcode -> Bool
isJump Opcode
m = Opcode
m Opcode -> [Opcode] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [Opcode
JMP, Opcode
JMPF, Opcode
JMPN]

-- | Returns true iff m is the mnemonic of a call
isCall :: Opcode -> Bool
isCall :: Opcode -> Bool
isCall Opcode
m = Opcode
m Opcode -> [Opcode] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [Opcode
CALL, Opcode
CALLF]

-- | Returns true iff m is the mnemonic of a return
isRet :: Opcode -> Bool
isRet :: Opcode -> Bool
isRet Opcode
m = Opcode
m Opcode -> [Opcode] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [Opcode
RET, Opcode
RETF, Opcode
RET, Opcode
RETN, Opcode
IRET, Opcode
IRETD, Opcode
IRETQ]



read_opcode :: String -> Opcode
read_opcode String
"AAA" = Opcode
AAA
read_opcode String
"AAD" = Opcode
AAD
read_opcode String
"AAM" = Opcode
AAM
read_opcode String
"AAS" = Opcode
AAS
read_opcode String
"ADC" = Opcode
ADC
read_opcode String
"ADD" = Opcode
ADD
read_opcode String
"ADDPD" = Opcode
ADDPD
read_opcode String
"ADDPS" = Opcode
ADDPS
read_opcode String
"ADDSD" = Opcode
ADDSD
read_opcode String
"ADDSS" = Opcode
ADDSS
read_opcode String
"ADDSUBPD" = Opcode
ADDSUBPD
read_opcode String
"ADDUBPS" = Opcode
ADDUBPS
read_opcode String
"AND" = Opcode
AND
read_opcode String
"ANDNPD" = Opcode
ANDNPD
read_opcode String
"ANDNPS" = Opcode
ANDNPS
read_opcode String
"ANDPD" = Opcode
ANDPD
read_opcode String
"ANDPS" = Opcode
ANDPS
read_opcode String
"ARPL" = Opcode
ARPL
read_opcode String
"BLENDVPD" = Opcode
BLENDVPD
read_opcode String
"BLENDVPS" = Opcode
BLENDVPS
read_opcode String
"BOUND" = Opcode
BOUND
read_opcode String
"BSF" = Opcode
BSF
read_opcode String
"BSR" = Opcode
BSR
read_opcode String
"BT" = Opcode
BT
read_opcode String
"BTC" = Opcode
BTC
read_opcode String
"BTR" = Opcode
BTR
read_opcode String
"BTS" = Opcode
BTS
read_opcode String
"CALL" = Opcode
CALL
read_opcode String
"CALLF" = Opcode
CALLF
read_opcode String
"CBW" = Opcode
CBW
read_opcode String
"CDQ" = Opcode
CDQ
read_opcode String
"CDQE" = Opcode
CDQE
read_opcode String
"CLC" = Opcode
CLC
read_opcode String
"CLD" = Opcode
CLD
read_opcode String
"CLFLUSH" = Opcode
CLFLUSH
read_opcode String
"CLI" = Opcode
CLI
read_opcode String
"CLTS" = Opcode
CLTS
read_opcode String
"CMC" = Opcode
CMC
read_opcode String
"CMOVA" = Opcode
CMOVA
read_opcode String
"CMOVAE" = Opcode
CMOVAE
read_opcode String
"CMOVB" = Opcode
CMOVB
read_opcode String
"CMOVBE" = Opcode
CMOVBE
read_opcode String
"CMOVC" = Opcode
CMOVC
read_opcode String
"CMOVE" = Opcode
CMOVE
read_opcode String
"CMOVG" = Opcode
CMOVG
read_opcode String
"CMOVGE" = Opcode
CMOVGE
read_opcode String
"CMOVL" = Opcode
CMOVL
read_opcode String
"CMOVLE" = Opcode
CMOVLE
read_opcode String
"CMOVNA" = Opcode
CMOVNA
read_opcode String
"CMOVNAE" = Opcode
CMOVNAE
read_opcode String
"CMOVNB" = Opcode
CMOVNB
read_opcode String
"CMOVNBE" = Opcode
CMOVNBE
read_opcode String
"CMOVNC" = Opcode
CMOVNC
read_opcode String
"CMOVNE" = Opcode
CMOVNE
read_opcode String
"CMOVNG" = Opcode
CMOVNG
read_opcode String
"CMOVNGE" = Opcode
CMOVNGE
read_opcode String
"CMOVNL" = Opcode
CMOVNL
read_opcode String
"CMOVNLE" = Opcode
CMOVNLE
read_opcode String
"CMOVNO" = Opcode
CMOVNO
read_opcode String
"CMOVNP" = Opcode
CMOVNP
read_opcode String
"CMOVNS" = Opcode
CMOVNS
read_opcode String
"CMOVNZ" = Opcode
CMOVNZ
read_opcode String
"CMOVO" = Opcode
CMOVO
read_opcode String
"CMOVP" = Opcode
CMOVP
read_opcode String
"CMOVPE" = Opcode
CMOVPE
read_opcode String
"CMOVPO" = Opcode
CMOVPO
read_opcode String
"CMOVS" = Opcode
CMOVS
read_opcode String
"CMOVZ" = Opcode
CMOVZ
read_opcode String
"CMP" = Opcode
CMP
read_opcode String
"CMPEQSD" = Opcode
CMPEQSD
read_opcode String
"CMPNEQSD" = Opcode
CMPNEQSD
read_opcode String
"CMPNLESD" = Opcode
CMPNLESD
read_opcode String
"CMPNLESS" = Opcode
CMPNLESS
read_opcode String
"CMPLTSD" = Opcode
CMPLTSD
read_opcode String
"CMPLTSS" = Opcode
CMPLTSS
read_opcode String
"CMPS" = Opcode
CMPS
read_opcode String
"CMPSB" = Opcode
CMPSB
read_opcode String
"CMPSD" = Opcode
CMPSD
read_opcode String
"CMPSS" = Opcode
CMPSS
read_opcode String
"CMPSW" = Opcode
CMPSW
read_opcode String
"CMPXCHG" = Opcode
CMPXCHG
read_opcode String
"CMPXCHG16B" = Opcode
CMPXCHG16B
read_opcode String
"CMPXCHG8B" = Opcode
CMPXCHG8B
read_opcode String
"COMISD" = Opcode
COMISD
read_opcode String
"COMISS" = Opcode
COMISS
read_opcode String
"CPUID" = Opcode
CPUID
read_opcode String
"CQO" = Opcode
CQO
read_opcode String
"CVTDQ2PD" = Opcode
CVTDQ2PD
read_opcode String
"CVTSD2SS" = Opcode
CVTSD2SS
read_opcode String
"CVTSI2SD" = Opcode
CVTSI2SD
read_opcode String
"CVTSI2SS" = Opcode
CVTSI2SS
read_opcode String
"CVTSS2SD" = Opcode
CVTSS2SD
read_opcode String
"CVTTSD2SI" = Opcode
CVTTSD2SI
read_opcode String
"CVTTSS2SI" = Opcode
CVTTSS2SI
read_opcode String
"CVTTPD2DQ" = Opcode
CVTTPD2DQ
read_opcode String
"CWD" = Opcode
CWD
read_opcode String
"CWDE" = Opcode
CWDE
read_opcode String
"DAA" = Opcode
DAA
read_opcode String
"DAS" = Opcode
DAS
read_opcode String
"DEC" = Opcode
DEC
read_opcode String
"DIV" = Opcode
DIV
read_opcode String
"DIVPD" = Opcode
DIVPD
read_opcode String
"DIVPS" = Opcode
DIVPS
read_opcode String
"DIVSD" = Opcode
DIVSD
read_opcode String
"DIVSS" = Opcode
DIVSS
read_opcode String
"EMMS" = Opcode
EMMS
read_opcode String
"ENDBR64" = Opcode
ENDBR64
read_opcode String
"ENTER" = Opcode
ENTER
read_opcode String
"EXTRACTPS" = Opcode
EXTRACTPS
read_opcode String
"FABS" = Opcode
FABS
read_opcode String
"FADD" = Opcode
FADD
read_opcode String
"FADDP" = Opcode
FADDP
read_opcode String
"FBLD" = Opcode
FBLD
read_opcode String
"FBSTP" = Opcode
FBSTP
read_opcode String
"FCHS" = Opcode
FCHS
read_opcode String
"FCLEX" = Opcode
FCLEX
read_opcode String
"FCMOVB" = Opcode
FCMOVB
read_opcode String
"FCMOVBE" = Opcode
FCMOVBE
read_opcode String
"FCMOVE" = Opcode
FCMOVE
read_opcode String
"FCMOVNB" = Opcode
FCMOVNB
read_opcode String
"FCMOVNBE" = Opcode
FCMOVNBE
read_opcode String
"FCMOVNE" = Opcode
FCMOVNE
read_opcode String
"FCMOVNU" = Opcode
FCMOVNU
read_opcode String
"FCMOVU" = Opcode
FCMOVU
read_opcode String
"FCOM" = Opcode
FCOM
read_opcode String
"FCOMI" = Opcode
FCOMI
read_opcode String
"FCOMIP" = Opcode
FCOMIP
read_opcode String
"FCOMP" = Opcode
FCOMP
read_opcode String
"FCOMPI" = Opcode
FCOMPI
read_opcode String
"FCOMPP" = Opcode
FCOMPP
read_opcode String
"FCOS" = Opcode
FCOS
read_opcode String
"FDIV" = Opcode
FDIV
read_opcode String
"FDIVP" = Opcode
FDIVP
read_opcode String
"FDIVR" = Opcode
FDIVR
read_opcode String
"FDIVRP" = Opcode
FDIVRP
read_opcode String
"FFREE" = Opcode
FFREE
read_opcode String
"FRNDINT" = Opcode
FRNDINT
read_opcode String
"FIADD" = Opcode
FIADD
read_opcode String
"FICOM" = Opcode
FICOM
read_opcode String
"FICOMP" = Opcode
FICOMP
read_opcode String
"FIDIV" = Opcode
FIDIV
read_opcode String
"FIDIVR" = Opcode
FIDIVR
read_opcode String
"FILD" = Opcode
FILD
read_opcode String
"FIMUL" = Opcode
FIMUL
read_opcode String
"FINIT" = Opcode
FINIT
read_opcode String
"FIST" = Opcode
FIST
read_opcode String
"FISTP" = Opcode
FISTP
read_opcode String
"FISTPP" = Opcode
FISTPP
read_opcode String
"FISTTP" = Opcode
FISTTP
read_opcode String
"FISUB" = Opcode
FISUB
read_opcode String
"FISUBR" = Opcode
FISUBR
read_opcode String
"FLD" = Opcode
FLD
read_opcode String
"FLD1" = Opcode
FLD1
read_opcode String
"FLDCW" = Opcode
FLDCW
read_opcode String
"FLDENV" = Opcode
FLDENV
read_opcode String
"FLDL2E" = Opcode
FLDL2E
read_opcode String
"FLDL2T" = Opcode
FLDL2T
read_opcode String
"FLDLG2" = Opcode
FLDLG2
read_opcode String
"FLDLN2" = Opcode
FLDLN2
read_opcode String
"FLDPI" = Opcode
FLDPI
read_opcode String
"FLDZ" = Opcode
FLDZ
read_opcode String
"FMUL" = Opcode
FMUL
read_opcode String
"FMULP" = Opcode
FMULP
read_opcode String
"FNOP" = Opcode
FNOP
read_opcode String
"FNINIT" = Opcode
FNINIT
read_opcode String
"FNSTCW" = Opcode
FNSTCW
read_opcode String
"FPREM1" = Opcode
FPREM1
read_opcode String
"FRSTOR" = Opcode
FRSTOR
read_opcode String
"FSAVE" = Opcode
FSAVE
read_opcode String
"FSIN" = Opcode
FSIN
read_opcode String
"FSINCOS" = Opcode
FSINCOS
read_opcode String
"FSCALE" = Opcode
FSCALE
read_opcode String
"FSQRT" = Opcode
FSQRT
read_opcode String
"FST" = Opcode
FST
read_opcode String
"FSTCW" = Opcode
FSTCW
read_opcode String
"FSTENV" = Opcode
FSTENV
read_opcode String
"FSTP" = Opcode
FSTP
read_opcode String
"FSTSW" = Opcode
FSTSW
read_opcode String
"FSUB" = Opcode
FSUB
read_opcode String
"FSUBP" = Opcode
FSUBP
read_opcode String
"FSUBR" = Opcode
FSUBR
read_opcode String
"FSUBRP" = Opcode
FSUBRP
read_opcode String
"FTST" = Opcode
FTST
read_opcode String
"FUCOM" = Opcode
FUCOM
read_opcode String
"FUCOMI" = Opcode
FUCOMI
read_opcode String
"FUCOMIP" = Opcode
FUCOMIP
read_opcode String
"FUCOMP" = Opcode
FUCOMP
read_opcode String
"FUCOMPI" = Opcode
FUCOMPI
read_opcode String
"FUCOMPP" = Opcode
FUCOMPP
read_opcode String
"FXAM" = Opcode
FXAM
read_opcode String
"FXCH" = Opcode
FXCH
read_opcode String
"FXRSTOR" = Opcode
FXRSTOR
read_opcode String
"FXSAVE" = Opcode
FXSAVE
read_opcode String
"FXTRACT" = Opcode
FXTRACT
read_opcode String
"HADDPD" = Opcode
HADDPD
read_opcode String
"HADDPS" = Opcode
HADDPS
read_opcode String
"HLT" = Opcode
HLT
read_opcode String
"HSUBPD" = Opcode
HSUBPD
read_opcode String
"HSUBPS" = Opcode
HSUBPS
read_opcode String
"IDIV" = Opcode
IDIV
read_opcode String
"IMUL" = Opcode
IMUL
read_opcode String
"BSWAP" = Opcode
BSWAP
read_opcode String
"IN" = Opcode
IN
read_opcode String
"INC" = Opcode
INC
read_opcode String
"INS" = Opcode
INS
read_opcode String
"INSD" = Opcode
INSD
read_opcode String
"INT" = Opcode
INT
read_opcode String
"INT3" = Opcode
INT3
read_opcode String
"INTO" = Opcode
INTO
read_opcode String
"INVD" = Opcode
INVD
read_opcode String
"INVLPG" = Opcode
INVLPG
read_opcode String
"INVPCID" = Opcode
INVPCID
read_opcode String
"IRET" = Opcode
IRET
read_opcode String
"IRETD" = Opcode
IRETD
read_opcode String
"IRETQ" = Opcode
IRETQ
read_opcode String
"JA" = Opcode
JA
read_opcode String
"JAE" = Opcode
JAE
read_opcode String
"JB" = Opcode
JB
read_opcode String
"JBE" = Opcode
JBE
read_opcode String
"JC" = Opcode
JC
read_opcode String
"JCXZ" = Opcode
JCXZ
read_opcode String
"JE" = Opcode
JE
read_opcode String
"JECXZ" = Opcode
JECXZ
read_opcode String
"JG" = Opcode
JG
read_opcode String
"JGE" = Opcode
JGE
read_opcode String
"JL" = Opcode
JL
read_opcode String
"JLE" = Opcode
JLE
read_opcode String
"JMP" = Opcode
JMP
read_opcode String
"JMPF" = Opcode
JMPF
read_opcode String
"JMPN" = Opcode
JMPN
read_opcode String
"JNAE" = Opcode
JNAE
read_opcode String
"JNA" = Opcode
JNA
read_opcode String
"JNB" = Opcode
JNB
read_opcode String
"JNBE" = Opcode
JNBE
read_opcode String
"JNC" = Opcode
JNC
read_opcode String
"JNG" = Opcode
JNG
read_opcode String
"JNE" = Opcode
JNE
read_opcode String
"JNGE" = Opcode
JNGE
read_opcode String
"JNLE" = Opcode
JNLE
read_opcode String
"JNL" = Opcode
JNL
read_opcode String
"JNO" = Opcode
JNO
read_opcode String
"JNP" = Opcode
JNP
read_opcode String
"JNS" = Opcode
JNS
read_opcode String
"JNZ" = Opcode
JNZ
read_opcode String
"JO" = Opcode
JO
read_opcode String
"JP" = Opcode
JP
read_opcode String
"JPE" = Opcode
JPE
read_opcode String
"JPO" = Opcode
JPO
read_opcode String
"JRCXZ" = Opcode
JRCXZ
read_opcode String
"JS" = Opcode
JS
read_opcode String
"JZ" = Opcode
JZ
read_opcode String
"LAHF" = Opcode
LAHF
read_opcode String
"LAR" = Opcode
LAR
read_opcode String
"LDDQU" = Opcode
LDDQU
read_opcode String
"LDMXCSR" = Opcode
LDMXCSR
read_opcode String
"LDS" = Opcode
LDS
read_opcode String
"LEA" = Opcode
LEA
read_opcode String
"LEAVE" = Opcode
LEAVE
read_opcode String
"LES" = Opcode
LES
read_opcode String
"LFENCE" = Opcode
LFENCE
read_opcode String
"LFS" = Opcode
LFS
read_opcode String
"LGDT" = Opcode
LGDT
read_opcode String
"LGS" = Opcode
LGS
read_opcode String
"LIDT" = Opcode
LIDT
read_opcode String
"LLDT" = Opcode
LLDT
read_opcode String
"LMSW" = Opcode
LMSW
read_opcode String
"LODS" = Opcode
LODS
read_opcode String
"LODSB" = Opcode
LODSB
read_opcode String
"LODSD" = Opcode
LODSD
read_opcode String
"LODSW" = Opcode
LODSW
read_opcode String
"LOOP" = Opcode
LOOP
read_opcode String
"LOOPE" = Opcode
LOOPE
read_opcode String
"LOOPNE" = Opcode
LOOPNE
read_opcode String
"LSL" = Opcode
LSL
read_opcode String
"LSS" = Opcode
LSS
read_opcode String
"LTR" = Opcode
LTR
read_opcode String
"MASKMOVQ" = Opcode
MASKMOVQ
read_opcode String
"MAXPD" = Opcode
MAXPD
read_opcode String
"MAXPS" = Opcode
MAXPS
read_opcode String
"MAXSD" = Opcode
MAXSD
read_opcode String
"MAXSS" = Opcode
MAXSS
read_opcode String
"MFENCE" = Opcode
MFENCE
read_opcode String
"MINPD" = Opcode
MINPD
read_opcode String
"MINPS" = Opcode
MINPS
read_opcode String
"MINSD" = Opcode
MINSD
read_opcode String
"MINSS" = Opcode
MINSS
read_opcode String
"MONITOR" = Opcode
MONITOR
read_opcode String
"MOV" = Opcode
MOV
read_opcode String
"MOVABS" = Opcode
MOVABS
read_opcode String
"MOVAPD" = Opcode
MOVAPD
read_opcode String
"MOVAPS" = Opcode
MOVAPS
read_opcode String
"MOVD" = Opcode
MOVD
read_opcode String
"MOVDDUP" = Opcode
MOVDDUP
read_opcode String
"MOVDQA" = Opcode
MOVDQA
read_opcode String
"MOVDQU" = Opcode
MOVDQU
read_opcode String
"MOVHLPS" = Opcode
MOVHLPS
read_opcode String
"MOVHPD" = Opcode
MOVHPD
read_opcode String
"MOVHPS" = Opcode
MOVHPS
read_opcode String
"MOVLHPS" = Opcode
MOVLHPS
read_opcode String
"MOVLPD" = Opcode
MOVLPD
read_opcode String
"MOVLPS" = Opcode
MOVLPS
read_opcode String
"MOVLSDUP" = Opcode
MOVLSDUP
read_opcode String
"MOVMSKPD" = Opcode
MOVMSKPD
read_opcode String
"MOVMSKPS" = Opcode
MOVMSKPS
read_opcode String
"MOVNTDQ" = Opcode
MOVNTDQ
read_opcode String
"MOVNTPD" = Opcode
MOVNTPD
read_opcode String
"MOVNTPS" = Opcode
MOVNTPS
read_opcode String
"MOVNTQ" = Opcode
MOVNTQ
read_opcode String
"MOVQ" = Opcode
MOVQ
read_opcode String
"MOVS" = Opcode
MOVS
read_opcode String
"MOVSB" = Opcode
MOVSB
read_opcode String
"MOVSD" = Opcode
MOVSD
read_opcode String
"MOVSW" = Opcode
MOVSW
read_opcode String
"MOVSLDUP" = Opcode
MOVSLDUP
read_opcode String
"MOVSS" = Opcode
MOVSS
read_opcode String
"MOVSQ" = Opcode
MOVSQ
read_opcode String
"MOVSX" = Opcode
MOVSX
read_opcode String
"MOVSXB" = Opcode
MOVSXB
read_opcode String
"MOVSXD" = Opcode
MOVSXD
read_opcode String
"MOVSXW" = Opcode
MOVSXW
read_opcode String
"MOVUPD" = Opcode
MOVUPD
read_opcode String
"MOVUPS" = Opcode
MOVUPS
read_opcode String
"MOVZX" = Opcode
MOVZX
read_opcode String
"MOVZXB" = Opcode
MOVZXB
read_opcode String
"MOVZXW" = Opcode
MOVZXW
read_opcode String
"MUL" = Opcode
MUL
read_opcode String
"MULPD" = Opcode
MULPD
read_opcode String
"MULPS" = Opcode
MULPS
read_opcode String
"MULSD" = Opcode
MULSD
read_opcode String
"MULSS" = Opcode
MULSS
read_opcode String
"MWAIT" = Opcode
MWAIT
read_opcode String
"NEG" = Opcode
NEG
read_opcode String
"NOP" = Opcode
NOP
read_opcode String
"NOT" = Opcode
NOT
read_opcode String
"OR" = Opcode
OR
read_opcode String
"ORPD" = Opcode
ORPD
read_opcode String
"ORPS" = Opcode
ORPS
read_opcode String
"OUT" = Opcode
OUT
read_opcode String
"OUTS" = Opcode
OUTS
read_opcode String
"PALIGNR" = Opcode
PALIGNR
read_opcode String
"PACKSSDW" = Opcode
PACKSSDW
read_opcode String
"PACKSSWB" = Opcode
PACKSSWB
read_opcode String
"PADDB" = Opcode
PADDB
read_opcode String
"PADDD" = Opcode
PADDD
read_opcode String
"PADDQ" = Opcode
PADDQ
read_opcode String
"PADDSB" = Opcode
PADDSB
read_opcode String
"PADDSW" = Opcode
PADDSW
read_opcode String
"PADDUSB" = Opcode
PADDUSB
read_opcode String
"PADDUSW" = Opcode
PADDUSW
read_opcode String
"PADDW" = Opcode
PADDW
read_opcode String
"PAND" = Opcode
PAND
read_opcode String
"PANDN" = Opcode
PANDN
read_opcode String
"PAUSE" = Opcode
PAUSE
read_opcode String
"PAVGB" = Opcode
PAVGB
read_opcode String
"PAVGW" = Opcode
PAVGW
read_opcode String
"PBLENDW" = Opcode
PBLENDW
read_opcode String
"PCLMULQDQ" = Opcode
PCLMULQDQ
read_opcode String
"PCMPEQB" = Opcode
PCMPEQB
read_opcode String
"PCMPEQD" = Opcode
PCMPEQD
read_opcode String
"PCMPGTB" = Opcode
PCMPGTB
read_opcode String
"PCMPGTD" = Opcode
PCMPGTD
read_opcode String
"PEXTRB" = Opcode
PEXTRB
read_opcode String
"PEXTRD" = Opcode
PEXTRD
read_opcode String
"PEXTRQ" = Opcode
PEXTRQ
read_opcode String
"PHADDD" = Opcode
PHADDD
read_opcode String
"PINSRB" = Opcode
PINSRB
read_opcode String
"PINSRD" = Opcode
PINSRD
read_opcode String
"PINSRQ" = Opcode
PINSRQ
read_opcode String
"PMADDWD" = Opcode
PMADDWD
read_opcode String
"PMAXSD" = Opcode
PMAXSD
read_opcode String
"PMAXSW" = Opcode
PMAXSW
read_opcode String
"PMAXUB" = Opcode
PMAXUB
read_opcode String
"PMAXUD" = Opcode
PMAXUD
read_opcode String
"PMAXUQ" = Opcode
PMAXUQ
read_opcode String
"PMINSD" = Opcode
PMINSD
read_opcode String
"PMINSW" = Opcode
PMINSW
read_opcode String
"PMINUB" = Opcode
PMINUB
read_opcode String
"PMINUD" = Opcode
PMINUD
read_opcode String
"PMOVMSKB" = Opcode
PMOVMSKB
read_opcode String
"PMOVSXDQ" = Opcode
PMOVSXDQ
read_opcode String
"PMOVZXDQ" = Opcode
PMOVZXDQ
read_opcode String
"PMOVSXBD" = Opcode
PMOVSXBD
read_opcode String
"PMOVZXBD" = Opcode
PMOVZXBD
read_opcode String
"PMULLD" = Opcode
PMULLD
read_opcode String
"PMULLQ" = Opcode
PMULLQ
read_opcode String
"PMULHUW" = Opcode
PMULHUW
read_opcode String
"PMULHW" = Opcode
PMULHW
read_opcode String
"PMULLW" = Opcode
PMULLW
read_opcode String
"PMULUDQ" = Opcode
PMULUDQ
read_opcode String
"POP" = Opcode
POP
read_opcode String
"POPA" = Opcode
POPA
read_opcode String
"POPAD" = Opcode
POPAD
read_opcode String
"POPF" = Opcode
POPF
read_opcode String
"POPFD" = Opcode
POPFD
read_opcode String
"POPFQ" = Opcode
POPFQ
read_opcode String
"POR" = Opcode
POR
read_opcode String
"PREFETCHNTA" = Opcode
PREFETCHNTA
read_opcode String
"PREFETCHT0" = Opcode
PREFETCHT0
read_opcode String
"PREFETCHT1" = Opcode
PREFETCHT1
read_opcode String
"PREFETCHT2" = Opcode
PREFETCHT2
read_opcode String
"PSADBW" = Opcode
PSADBW
read_opcode String
"PSHUFB" = Opcode
PSHUFB
read_opcode String
"PSHUFD" = Opcode
PSHUFD
read_opcode String
"PSHUFLW" = Opcode
PSHUFLW
read_opcode String
"PSLLD" = Opcode
PSLLD
read_opcode String
"PSLLDQ" = Opcode
PSLLDQ
read_opcode String
"PSLLQ" = Opcode
PSLLQ
read_opcode String
"PSLLW" = Opcode
PSLLW
read_opcode String
"PSRAD" = Opcode
PSRAD
read_opcode String
"PSRAW" = Opcode
PSRAW
read_opcode String
"PSRLD" = Opcode
PSRLD
read_opcode String
"PSRLDQ" = Opcode
PSRLDQ
read_opcode String
"PSRLQ" = Opcode
PSRLQ
read_opcode String
"PSRLW" = Opcode
PSRLW
read_opcode String
"PSUBB" = Opcode
PSUBB
read_opcode String
"PSUBD" = Opcode
PSUBD
read_opcode String
"PSUBQ" = Opcode
PSUBQ
read_opcode String
"PSUBSB" = Opcode
PSUBSB
read_opcode String
"PSUBSQ" = Opcode
PSUBSQ
read_opcode String
"PSUBUSB" = Opcode
PSUBUSB
read_opcode String
"PSUBUSW" = Opcode
PSUBUSW
read_opcode String
"PSUBW" = Opcode
PSUBW
read_opcode String
"PTEST" = Opcode
PTEST
read_opcode String
"PUNPCKLBW" = Opcode
PUNPCKLBW
read_opcode String
"PUNPCKLWD" = Opcode
PUNPCKLWD
read_opcode String
"PUNPCKLDQ" = Opcode
PUNPCKLDQ
read_opcode String
"PUNPCKLQDQ" = Opcode
PUNPCKLQDQ
read_opcode String
"PUSH" = Opcode
PUSH
read_opcode String
"PUSHA" = Opcode
PUSHA
read_opcode String
"PUSHAD" = Opcode
PUSHAD
read_opcode String
"PUSHF" = Opcode
PUSHF
read_opcode String
"PUSHFD" = Opcode
PUSHFD
read_opcode String
"PUSHFQ" = Opcode
PUSHFQ
read_opcode String
"PXOR" = Opcode
PXOR
read_opcode String
"RCL" = Opcode
RCL
read_opcode String
"RCPPS" = Opcode
RCPPS
read_opcode String
"RCPSS" = Opcode
RCPSS
read_opcode String
"RCR" = Opcode
RCR
read_opcode String
"RDMSR" = Opcode
RDMSR
read_opcode String
"RDPMC" = Opcode
RDPMC
read_opcode String
"RDTSC" = Opcode
RDTSC
read_opcode String
"RET" = Opcode
RET
read_opcode String
"RETF" = Opcode
RETF
read_opcode String
"RETN" = Opcode
RETN
read_opcode String
"ROL" = Opcode
ROL
read_opcode String
"ROR" = Opcode
ROR
read_opcode String
"ROUNDSD" = Opcode
ROUNDSD
read_opcode String
"ROUNDSS" = Opcode
ROUNDSS
read_opcode String
"RSM" = Opcode
RSM
read_opcode String
"RSQRTPS" = Opcode
RSQRTPS
read_opcode String
"RSQRTSS" = Opcode
RSQRTSS
read_opcode String
"SAHF" = Opcode
SAHF
read_opcode String
"SAL" = Opcode
SAL
read_opcode String
"SAR" = Opcode
SAR
read_opcode String
"SBB" = Opcode
SBB
read_opcode String
"SCAS" = Opcode
SCAS
read_opcode String
"SCASB" = Opcode
SCASB
read_opcode String
"SCASD" = Opcode
SCASD
read_opcode String
"SETA" = Opcode
SETA
read_opcode String
"SETAE" = Opcode
SETAE
read_opcode String
"SETB" = Opcode
SETB
read_opcode String
"SETBE" = Opcode
SETBE
read_opcode String
"SETC" = Opcode
SETC
read_opcode String
"SETE" = Opcode
SETE
read_opcode String
"SETG" = Opcode
SETG
read_opcode String
"SETGE" = Opcode
SETGE
read_opcode String
"SETL" = Opcode
SETL
read_opcode String
"SETLE" = Opcode
SETLE
read_opcode String
"SETNA" = Opcode
SETNA
read_opcode String
"SETNAE" = Opcode
SETNAE
read_opcode String
"SETNB" = Opcode
SETNB
read_opcode String
"SETNBE" = Opcode
SETNBE
read_opcode String
"SETNC" = Opcode
SETNC
read_opcode String
"SETNE" = Opcode
SETNE
read_opcode String
"SETNG" = Opcode
SETNG
read_opcode String
"SETNGE" = Opcode
SETNGE
read_opcode String
"SETNL" = Opcode
SETNL
read_opcode String
"SETNLE" = Opcode
SETNLE
read_opcode String
"SETNO" = Opcode
SETNO
read_opcode String
"SETNP" = Opcode
SETNP
read_opcode String
"SETNS" = Opcode
SETNS
read_opcode String
"SETNZ" = Opcode
SETNZ
read_opcode String
"SETO" = Opcode
SETO
read_opcode String
"SETP" = Opcode
SETP
read_opcode String
"SETPE" = Opcode
SETPE
read_opcode String
"SETPO" = Opcode
SETPO
read_opcode String
"SETS" = Opcode
SETS
read_opcode String
"SETZ" = Opcode
SETZ
read_opcode String
"SFENCE" = Opcode
SFENCE
read_opcode String
"SGDT" = Opcode
SGDT
read_opcode String
"SHL" = Opcode
SHL
read_opcode String
"SHLD" = Opcode
SHLD
read_opcode String
"SHR" = Opcode
SHR
read_opcode String
"SHRD" = Opcode
SHRD
read_opcode String
"SHUFPS" = Opcode
SHUFPS
read_opcode String
"SIDT" = Opcode
SIDT
read_opcode String
"SLDT" = Opcode
SLDT
read_opcode String
"SMSW" = Opcode
SMSW
read_opcode String
"SQRTPD" = Opcode
SQRTPD
read_opcode String
"SQRTPS" = Opcode
SQRTPS
read_opcode String
"SQRTSD" = Opcode
SQRTSD
read_opcode String
"SQRTSS" = Opcode
SQRTSS
read_opcode String
"STC" = Opcode
STC
read_opcode String
"STD" = Opcode
STD
read_opcode String
"STI" = Opcode
STI
read_opcode String
"STMXCSR" = Opcode
STMXCSR
read_opcode String
"STOS" = Opcode
STOS
read_opcode String
"STOSB" = Opcode
STOSB
read_opcode String
"STOSW" = Opcode
STOSW
read_opcode String
"STOSD" = Opcode
STOSD
read_opcode String
"STOSQ" = Opcode
STOSQ
read_opcode String
"STR" = Opcode
STR
read_opcode String
"SUB" = Opcode
SUB
read_opcode String
"SUBPD" = Opcode
SUBPD
read_opcode String
"SUBPS" = Opcode
SUBPS
read_opcode String
"SUBSD" = Opcode
SUBSD
read_opcode String
"SUBSS" = Opcode
SUBSS
read_opcode String
"SWAPGS" = Opcode
SWAPGS
read_opcode String
"SYSCALL" = Opcode
SYSCALL
read_opcode String
"SYSENTER" = Opcode
SYSENTER
read_opcode String
"SYSEXIT" = Opcode
SYSEXIT
read_opcode String
"SYSRET" = Opcode
SYSRET
read_opcode String
"TEST" = Opcode
TEST
read_opcode String
"UCOMISD" = Opcode
UCOMISD
read_opcode String
"UCOMISS" = Opcode
UCOMISS
read_opcode String
"UD2" = Opcode
UD2
read_opcode String
"UNPCKHPD" = Opcode
UNPCKHPD
read_opcode String
"UNPCKHPS" = Opcode
UNPCKHPS
read_opcode String
"UNPCKLPD" = Opcode
UNPCKLPD
read_opcode String
"UNPCKLPS" = Opcode
UNPCKLPS
read_opcode String
"VANDPD" = Opcode
VANDPD
read_opcode String
"VANDPS" = Opcode
VANDPS
read_opcode String
"VADDPD" = Opcode
VADDPD
read_opcode String
"VADDPS" = Opcode
VADDPS
read_opcode String
"VBLENDPS" = Opcode
VBLENDPS
read_opcode String
"VERR" = Opcode
VERR
read_opcode String
"VERW" = Opcode
VERW
read_opcode String
"VEXTRACTI128" = Opcode
VEXTRACTI128
read_opcode String
"VEXTRACTF128" = Opcode
VEXTRACTF128
read_opcode String
"VINSERTF128" = Opcode
VINSERTF128
read_opcode String
"VMCALL" = Opcode
VMCALL
read_opcode String
"VMCLEAR" = Opcode
VMCLEAR
read_opcode String
"VMLAUNCH" = Opcode
VMLAUNCH
read_opcode String
"VMOVAPD" = Opcode
VMOVAPD
read_opcode String
"VMOVAPS" = Opcode
VMOVAPS
read_opcode String
"VMOVHPS" = Opcode
VMOVHPS
read_opcode String
"VMOVD" = Opcode
VMOVD
read_opcode String
"VMOVDQA" = Opcode
VMOVDQA
read_opcode String
"VMOVDQU" = Opcode
VMOVDQU
read_opcode String
"VMOVLHPS" = Opcode
VMOVLHPS
read_opcode String
"VMPTRLD" = Opcode
VMPTRLD
read_opcode String
"VMPTRST" = Opcode
VMPTRST
read_opcode String
"VMREAD" = Opcode
VMREAD
read_opcode String
"VMRESUME" = Opcode
VMRESUME
read_opcode String
"VMWRITE" = Opcode
VMWRITE
read_opcode String
"VMULPD" = Opcode
VMULPD
read_opcode String
"VMULPS" = Opcode
VMULPS
read_opcode String
"VMXOFF" = Opcode
VMXOFF
read_opcode String
"VMXON" = Opcode
VMXON
read_opcode String
"VPALIGNR" = Opcode
VPALIGNR
read_opcode String
"VPAND" = Opcode
VPAND
read_opcode String
"VPANDN" = Opcode
VPANDN
read_opcode String
"VPCMPEQB" = Opcode
VPCMPEQB
read_opcode String
"VPCMPEQW" = Opcode
VPCMPEQW
read_opcode String
"VPERM2F128" = Opcode
VPERM2F128
read_opcode String
"VPERM2I128" = Opcode
VPERM2I128
read_opcode String
"VPERMILPS" = Opcode
VPERMILPS
read_opcode String
"VPOR" = Opcode
VPOR
read_opcode String
"VPSHUFB" = Opcode
VPSHUFB
read_opcode String
"VPSHUFD" = Opcode
VPSHUFD
read_opcode String
"VPSLLW" = Opcode
VPSLLW
read_opcode String
"VSHUFPS" = Opcode
VSHUFPS
read_opcode String
"VSHUFPD" = Opcode
VSHUFPD
read_opcode String
"VPXOR" = Opcode
VPXOR
read_opcode String
"VPUNPCKLWD" = Opcode
VPUNPCKLWD
read_opcode String
"VPUNPCKHWD" = Opcode
VPUNPCKHWD
read_opcode String
"VSUBPD" = Opcode
VSUBPD
read_opcode String
"VSUBPS" = Opcode
VSUBPS
read_opcode String
"VUNPCKHPS" = Opcode
VUNPCKHPS
read_opcode String
"VUNPCKLPS" = Opcode
VUNPCKLPS
read_opcode String
"VXORPD" = Opcode
VXORPD
read_opcode String
"VXORPS" = Opcode
VXORPS
read_opcode String
"VZEROUPPER" = Opcode
VZEROUPPER
read_opcode String
"WAIT" = Opcode
WAIT
read_opcode String
"WBINVD" = Opcode
WBINVD
read_opcode String
"WRFSBASE" = Opcode
WRFSBASE
read_opcode String
"WRGSBASE" = Opcode
WRGSBASE
read_opcode String
"WRMSR" = Opcode
WRMSR
read_opcode String
"XADD" = Opcode
XADD
read_opcode String
"XCHG" = Opcode
XCHG
read_opcode String
"XGETBV" = Opcode
XGETBV
read_opcode String
"XLAT" = Opcode
XLAT
read_opcode String
"XLATB" = Opcode
XLATB
read_opcode String
"XSETBV" = Opcode
XSETBV
read_opcode String
"XSAVEOPT" = Opcode
XSAVEOPT
read_opcode String
"XRSTOR" = Opcode
XRSTOR
read_opcode String
"XOR" = Opcode
XOR
read_opcode String
"XORPD" = Opcode
XORPD
read_opcode String
"XORPS" = Opcode
XORPS
read_opcode String
op = String -> Opcode
forall a. HasCallStack => String -> a
error (String -> Opcode) -> String -> Opcode
forall a b. (a -> b) -> a -> b
$ String
"UNKOWN OPCODE: " String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
op -- InvalidOpcode