Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gdsl-toolkit
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tanzeem Haque
gdsl-toolkit
Commits
24f372f9
Commit
24f372f9
authored
Sep 17, 2012
by
Julian Kranz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
X86 Pretty Printer
X86 RREIL Translator
parent
90acd5e9
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1066 additions
and
145 deletions
+1066
-145
specifications/x86/x86-pretty.ml
specifications/x86/x86-pretty.ml
+17
-17
specifications/x86/x86-rreil-translator.ml
specifications/x86/x86-rreil-translator.ml
+1047
-126
specifications/x86/x86.ml
specifications/x86/x86.ml
+2
-2
No files found.
specifications/x86/x86-pretty.ml
View file @
24f372f9
...
...
@@ -238,7 +238,7 @@ val show/instruction insn =
|
BTS
x
:
"BTS"
-++
show
/
arity2
x
|
CALL
x
:
"CALL"
-++
show
/
flow1
x
|
CBW
:
"CBW"
|
CDQ
|
CDQ
:
"CDQ"
|
CDQE
:
"CDQE"
|
CLC
:
"CLC"
|
CLD
:
"CLD"
...
...
@@ -329,7 +329,7 @@ val show/instruction insn =
|
EMMS
:
"EMMS"
|
ENTER
x
:
"ENTER"
-++
show
/
arity2
x
|
EXTRACTPS
x
:
"EXTRACTPS"
-++
show
/
arity3
x
|
F2XM1
|
F2XM1
:
"F2XM1"
|
FABS
:
"FABS"
|
FADD
x
:
"FADD"
-++
show
/
arity2
x
|
FADDP
x
:
"FADDP"
-++
show
/
arity2
x
...
...
@@ -372,13 +372,13 @@ val show/instruction insn =
|
FISUB
x
:
"FISUB"
-++
show
/
arity1
x
|
FISUBR
x
:
"FISUBR"
-++
show
/
arity1
x
|
FLD
x
:
"FLD"
-++
show
/
arity1
x
|
FLD1
|
FLD1
:
"FLD1"
|
FLDCW
x
:
"FLDCW"
-++
show
/
arity1
x
|
FLDENV
x
:
"FLDENV"
-++
show
/
arity1
x
|
FLDL2E
|
FLDL2T
|
FLDLG2
|
FLDLN2
|
FLDL2E
:
"FLDL2E"
|
FLDL2T
:
"FLDL2T"
|
FLDLG2
:
"FLDLG2"
|
FLDLN2
:
"FLDLN2"
|
FLDPI
:
"FLDPI"
|
FLDZ
:
"FLDZ"
|
FMUL
x
:
"FMUL"
-++
show
/
arity2
x
...
...
@@ -392,7 +392,7 @@ val show/instruction insn =
|
FNSTSW
x
:
"FNSTSW"
-++
show
/
arity1
x
|
FPATAN
:
"FPATAN"
|
FPREM
:
"FPREM"
|
FPREM1
|
FPREM1
:
"FPREM1"
|
FPTAN
:
"FPTAN"
|
FRNDINT
:
"FRNDINT"
|
FRSTOR
x
:
"FRSTOR"
-++
show
/
arity1
x
...
...
@@ -423,8 +423,8 @@ val show/instruction insn =
|
FXSAVE64
x
:
"FXSAVE64"
-++
show
/
arity1
x
|
FXSAVE
x
:
"FXSAVE"
-++
show
/
arity1
x
|
FXTRACT
:
"FXTRACT"
|
FYL2X
|
FYL2XP1
|
FYL2X
:
"FYL2X"
|
FYL2XP1
:
"FYL2XP1"
|
HADDPD
x
:
"HADDPD"
-++
show
/
arity2
x
|
HADDPS
x
:
"HADDPS"
-++
show
/
arity2
x
|
HLT
:
"HLT"
...
...
@@ -436,8 +436,8 @@ val show/instruction insn =
|
INC
x
:
"INC"
-++
show
/
arity1
x
|
INSERTPS
x
:
"INSERTPS"
-++
show
/
arity3
x
|
INT
x
:
"INT"
-++
show
/
arity1
x
|
INT0
|
INT3
|
INT0
:
"INT0"
|
INT3
:
"INT3"
|
INVD
:
"INVD"
|
INVLPG
x
:
"INVLPG"
-++
show
/
arity1
x
|
INVPCID
x
:
"INVPCID"
-++
show
/
arity2
x
...
...
@@ -699,7 +699,7 @@ val show/instruction insn =
|
PSUBW
x
:
"PSUBW"
-++
show
/
arity2
x
|
PTEST
x
:
"PTEST"
-++
show
/
arity2
x
|
PUNPCKHBW
x
:
"PUNPCKHBW"
-++
show
/
arity2
x
|
PUNPCKHDQ
x
:
"PUNPCKHDQ"
-++
show
/
arity
3
x
|
PUNPCKHDQ
x
:
"PUNPCKHDQ"
-++
show
/
arity
2
x
|
PUNPCKHQDQ
x
:
"PUNPCKHQDQ"
-++
show
/
arity2
x
|
PUNPCKHWD
x
:
"PUNPCKHWD"
-++
show
/
arity2
x
|
PUNPCKLBW
x
:
"PUNPCKLBW"
-++
show
/
arity2
x
...
...
@@ -810,7 +810,7 @@ val show/instruction insn =
|
TEST
x
:
"TEST"
-++
show
/
arity2
x
|
UCOMISD
x
:
"UCOMISD"
-++
show
/
arity2
x
|
UCOMISS
x
:
"UCOMISS"
-++
show
/
arity2
x
|
UD2
|
UD2
:
"UD2"
|
UNPCKHPD
x
:
"UNPCKHPD"
-++
show
/
arity2
x
|
UNPCKHPS
x
:
"UNPCKHPS"
-++
show
/
arity2
x
|
UNPCKLPD
x
:
"UNPCKLPD"
-++
show
/
arity2
x
...
...
@@ -1103,5 +1103,5 @@ val show/instruction insn =
#|
PSLRDQ
x
:
"PSLRDQ"
-++
show
/
arity2
x
#|
VPSLRDQ
x
:
"VPSLRDQ"
-++
show
/
varity
x
end
#
%
s
/^
\
(
...
\
)
\
([
^
\
s
]
*
\
)
$/
\
1
\
2
:
"
\
2"
/
#
%
s
/^
\
(
...
\
)
\
([
^
\
s
]
*
\
)
of
\
(
.*
\
)
/
\
1
\
2
x
:
"
\
2"
-++
show
\
/
\
3
x
/
#
s
/^
\
(
...
\
)
\
(
\
S
*
\
)
\
s
*
$/
\
1
\
2
:
"
\
2"
/
#
s
/^
\
(
...
\
)
\
(
\
S
*
\
)
of
\
(
\
S
*
\
)
\
s
*$
/
\
1
\
2
x
:
"
\
2"
-++
show
\
/
\
3
x
/
specifications/x86/x86-rreil-translator.ml
View file @
24f372f9
...
...
@@ -139,6 +139,24 @@ val fAF = return (var//0 (ARCH_R ~3)) # AF
val
zero
=
return
(
SEM_LIN_IMM
{
imm
=
0
})
val
sem
-
undef
-
arity0
x
=
do
end
val
sem
-
undef
-
arity1
x
=
do
end
val
sem
-
undef
-
arity2
x
=
do
end
val
sem
-
undef
-
arity3
x
=
do
end
val
sem
-
undef
-
varity
x
=
do
end
val
sem
-
undef
-
flow1
x
=
do
end
val
emit
-
add
-
flags
sz
a
b
c
=
do
eq
<-
fEQ
;
les
<-
fLES
;
...
...
@@ -186,10 +204,8 @@ val emit-sub-flags sz a b c =
xorb
1
ov
(
var
lts
)
(
var
sf
)
end
val
semantics
insn
=
case
insn
of
ADD
x
:
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
val
sem
-
add
x
=
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
a
<-
write
sz
x
.
opnd1
;
b
<-
read
sz
x
.
opnd1
;
c
<-
read
sz
x
.
opnd2
;
...
...
@@ -197,27 +213,27 @@ val semantics insn =
add
sz
t
b
c
;
emit
-
add
-
flags
sz
(
var
t
)
b
c
;
commit
sz
a
(
var
t
)
end
end
|
CMP
x
:
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
val
sem
-
cmp
x
=
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
a
<-
write
sz
x
.
opnd1
;
b
<-
read
sz
x
.
opnd1
;
c
<-
read
sz
x
.
opnd2
;
t
<-
mktemp
;
sub
sz
t
b
c
;
emit
-
sub
-
flags
sz
(
var
t
)
b
c
end
end
|
MOV
x
:
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
val
sem
-
mov
x
=
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
a
<-
write
sz
x
.
opnd1
;
b
<-
read
sz
x
.
opnd1
;
commit
sz
a
b
end
end
|
SHL
x
:
do
sz
<-
guess
-
sizeof1
x
.
opnd1
;
val
sem
-
shl
x
=
do
sz
<-
guess
-
sizeof1
x
.
opnd1
;
szOp2
<-
guess
-
sizeof1
x
.
opnd2
;
a
<-
write
sz
x
.
opnd1
;
b
<-
read
sz
x
.
opnd1
;
...
...
@@ -265,10 +281,10 @@ val semantics insn =
commit
sz
a
(
var
t2
);
label
nop
;
cmpeq
sz
eq
b
zer0
end
end
|
SUB
x
:
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
val
sem
-
sub
x
=
do
sz
<-
guess
-
sizeof
x
.
opnd1
x
.
opnd2
;
a
<-
write
sz
x
.
opnd1
;
b
<-
read
sz
x
.
opnd1
;
c
<-
read
sz
x
.
opnd2
;
...
...
@@ -276,52 +292,957 @@ val semantics insn =
sub
sz
t
b
c
;
emit
-
sub
-
flags
sz
(
var
t
)
b
c
;
commit
sz
a
(
var
t
)
end
end
|
JE
x
:
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
val
sem
-
je
x
=
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
target
<-
read
-
flow
sz
x
.
opnd1
;
eq
<-
fEQ
;
ifgoto
(
var
eq
)
sz
target
end
end
|
JB
x
:
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
val
sem
-
jb
x
=
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
target
<-
read
-
flow
sz
x
.
opnd1
;
cf
<-
fCF
;
ifgoto
(
var
cf
)
sz
target
end
end
|
JC
x
:
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
val
sem
-
jc
x
=
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
target
<-
read
-
flow
sz
x
.
opnd1
;
cf
<-
fCF
;
ifgoto
(
var
cf
)
sz
target
end
end
|
JMP
x
:
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
val
sem
-
jmp
x
=
do
sz
<-
guess
-
sizeof
-
flow
x
.
opnd1
;
target
<-
read
-
flow
sz
x
.
opnd1
;
on3
<-
const
1
;
ifgoto
on3
sz
target
end
end
|
CDQE
x
:
do
a
<-
return
(
semantic
-
register
-
of
RAX
);
val
sem
-
cdqe
x
=
do
a
<-
return
(
semantic
-
register
-
of
RAX
);
movsx
64
a
32
(
var
a
)
end
end
|
PUSH
x
:
val
sem
-
push
x
=
do
#
FIXME
:
This
ignores
many
details
of
{
PUSH
}
do
sz
<-
guess
-
sizeof1
x
.
opnd1
;
sz
<-
guess
-
sizeof1
x
.
opnd1
;
a
<-
read
sz
x
.
opnd1
;
sp
<-
return
(
semantic
-
register
-
of
RSP
);
eight
<-
const
8
;
sub
64
sp
(
var
sp
)
eight
;
store
{
size
=
64
,
address
=
var
sp
}
a
end
end
val
semantics
insn
=
case
insn
of
AAA
:
sem
-
undef
-
arity0
|
AAD
x
:
sem
-
undef
-
arity1
x
|
AAM
x
:
sem
-
undef
-
arity1
x
|
AAS
:
sem
-
undef
-
arity0
|
ADC
x
:
sem
-
undef
-
arity2
x
|
ADD
x
:
sem
-
add
x
|
ADDPD
x
:
sem
-
undef
-
arity2
x
|
ADDPS
x
:
sem
-
undef
-
arity2
x
|
ADDSD
x
:
sem
-
undef
-
arity2
x
|
ADDSS
x
:
sem
-
undef
-
arity2
x
|
ADDSUBPD
x
:
sem
-
undef
-
arity2
x
|
ADDSUBPS
x
:
sem
-
undef
-
arity2
x
|
AESDEC
x
:
sem
-
undef
-
arity2
x
|
AESDECLAST
x
:
sem
-
undef
-
arity2
x
|
AESENC
x
:
sem
-
undef
-
arity2
x
|
AESENCLAST
x
:
sem
-
undef
-
arity2
x
|
AESIMC
x
:
sem
-
undef
-
arity2
x
|
AESKEYGENASSIST
x
:
sem
-
undef
-
arity3
x
|
AND
x
:
sem
-
undef
-
arity2
x
|
ANDNPD
x
:
sem
-
undef
-
arity2
x
|
ANDNPS
x
:
sem
-
undef
-
arity2
x
|
ANDPD
x
:
sem
-
undef
-
arity2
x
|
ANDPS
x
:
sem
-
undef
-
arity2
x
|
ARPL
x
:
sem
-
undef
-
arity2
x
|
BLENDPD
x
:
sem
-
undef
-
arity3
x
|
BLENDPS
x
:
sem
-
undef
-
arity3
x
|
BLENDVPD
x
:
sem
-
undef
-
arity3
x
|
BLENDVPS
x
:
sem
-
undef
-
arity3
x
|
BOUND
x
:
sem
-
undef
-
arity2
x
|
BSF
x
:
sem
-
undef
-
arity2
x
|
BSR
x
:
sem
-
undef
-
arity2
x
|
BSWAP
x
:
sem
-
undef
-
arity1
x
|
BT
x
:
sem
-
undef
-
arity2
x
|
BTC
x
:
sem
-
undef
-
arity2
x
|
BTR
x
:
sem
-
undef
-
arity2
x
|
BTS
x
:
sem
-
undef
-
arity2
x
|
CALL
x
:
sem
-
undef
-
flow1
x
|
CBW
:
sem
-
undef
-
arity0
|
CDQ
:
sem
-
undef
-
arity0
|
CDQE
x
:
sem
-
cdqe
x
|
CLC
:
sem
-
undef
-
arity0
|
CLD
:
sem
-
undef
-
arity0
|
CLFLUSH
x
:
sem
-
undef
-
arity1
x
|
CLI
:
sem
-
undef
-
arity0
|
CLTS
:
sem
-
undef
-
arity0
|
CMC
:
sem
-
undef
-
arity0
|
CMOVA
x
:
sem
-
undef
-
arity2
x
|
CMOVAE
x
:
sem
-
undef
-
arity2
x
|
CMOVB
x
:
sem
-
undef
-
arity2
x
|
CMOVBE
x
:
sem
-
undef
-
arity2
x
|
CMOVC
x
:
sem
-
undef
-
arity2
x
|
CMOVE
x
:
sem
-
undef
-
arity2
x
|
CMOVG
x
:
sem
-
undef
-
arity2
x
|
CMOVGE
x
:
sem
-
undef
-
arity2
x
|
CMOVL
x
:
sem
-
undef
-
arity2
x
|
CMOVLE
x
:
sem
-
undef
-
arity2
x
|
CMOVNA
x
:
sem
-
undef
-
arity2
x
|
CMOVNAE
x
:
sem
-
undef
-
arity2
x
|
CMOVNB
x
:
sem
-
undef
-
arity2
x
|
CMOVNBE
x
:
sem
-
undef
-
arity2
x
|
CMOVNC
x
:
sem
-
undef
-
arity2
x
|
CMOVNE
x
:
sem
-
undef
-
arity2
x
|
CMOVNG
x
:
sem
-
undef
-
arity2
x
|
CMOVNGE
x
:
sem
-
undef
-
arity2
x
|
CMOVNL
x
:
sem
-
undef
-
arity2
x
|
CMOVNLE
x
:
sem
-
undef
-
arity2
x
|
CMOVNO
x
:
sem
-
undef
-
arity2
x
|
CMOVNP
x
:
sem
-
undef
-
arity2
x
|
CMOVNS
x
:
sem
-
undef
-
arity2
x
|
CMOVNZ
x
:
sem
-
undef
-
arity2
x
|
CMOVO
x
:
sem
-
undef
-
arity2
x
|
CMOVP
x
:
sem
-
undef
-
arity2
x
|
CMOVPE
x
:
sem
-
undef
-
arity2
x
|
CMOVPO
x
:
sem
-
undef
-
arity2
x
|
CMOVS
x
:
sem
-
undef
-
arity2
x
|
CMOVZ
x
:
sem
-
undef
-
arity2
x
|
CMP
x
:
sem
-
cmp
x
|
CMPPD
x
:
sem
-
undef
-
arity3
x
|
CMPPS
x
:
sem
-
undef
-
arity3
x
|
CMPSB
:
sem
-
undef
-
arity0
|
CMPSD
x
:
sem
-
undef
-
varity
x
|
CMPSQ
:
sem
-
undef
-
arity0
|
CMPSS
x
:
sem
-
undef
-
arity3
x
|
CMPSW
:
sem
-
undef
-
arity0
|
CMPXCHG
x
:
sem
-
undef
-
arity2
x
|
CMPXCHG16B
x
:
sem
-
undef
-
arity1
x
|
CMPXCHG8B
x
:
sem
-
undef
-
arity1
x
|
COMISD
x
:
sem
-
undef
-
arity2
x
|
COMISS
x
:
sem
-
undef
-
arity2
x
|
CPUID
:
sem
-
undef
-
arity0
|
CQO
:
sem
-
undef
-
arity0
|
CRC32
x
:
sem
-
undef
-
arity2
x
|
CVTDQ2PD
x
:
sem
-
undef
-
arity2
x
|
CVTDQ2PS
x
:
sem
-
undef
-
arity2
x
|
CVTPD2DQ
x
:
sem
-
undef
-
arity2
x
|
CVTPD2PI
x
:
sem
-
undef
-
arity2
x
|
CVTPD2PS
x
:
sem
-
undef
-
arity2
x
|
CVTPI2PD
x
:
sem
-
undef
-
arity2
x
|
CVTPI2PS
x
:
sem
-
undef
-
arity2
x
|
CVTPS2DQ
x
:
sem
-
undef
-
arity2
x
|
CVTPS2PD
x
:
sem
-
undef
-
arity2
x
|
CVTPS2PI
x
:
sem
-
undef
-
arity2
x
|
CVTSD2SI
x
:
sem
-
undef
-
arity2
x
|
CVTSD2SS
x
:
sem
-
undef
-
arity2
x
|
CVTSI2SD
x
:
sem
-
undef
-
arity2
x
|
CVTSI2SS
x
:
sem
-
undef
-
arity2
x
|
CVTSS2SD
x
:
sem
-
undef
-
arity2
x
|
CVTSS2SI
x
:
sem
-
undef
-
arity2
x
|
CVTTPD2DQ
x
:
sem
-
undef
-
arity2
x
|
CVTTPD2PI
x
:
sem
-
undef
-
arity2
x
|
CVTTPS2DQ
x
:
sem
-
undef
-
arity2
x
|
CVTTPS2PI
x
:
sem
-
undef
-
arity2
x
|
CVTTSD2SI
x
:
sem
-
undef
-
arity2
x
|
CVTTSS2SI
x
:
sem
-
undef
-
arity2
x
|
CWD
:
sem
-
undef
-
arity0
|
CWDE
:
sem
-
undef
-
arity0
|
DAA
:
sem
-
undef
-
arity0
|
DAS
:
sem
-
undef
-
arity0
|
DEC
x
:
sem
-
undef
-
arity1
x
|
DIV
x
:
sem
-
undef
-
arity1
x
|
DIVPD
x
:
sem
-
undef
-
arity2
x
|
DIVPS
x
:
sem
-
undef
-
arity2
x
|
DIVSD
x
:
sem
-
undef
-
arity2
x
|
DIVSS
x
:
sem
-
undef
-
arity2
x
|
DPPD
x
:
sem
-
undef
-
arity3
x
|
DPPS
x
:
sem
-
undef
-
arity3
x
|
EMMS
:
sem
-
undef
-
arity0
|
ENTER
x
:
sem
-
undef
-
arity2
x
|
EXTRACTPS
x
:
sem
-
undef
-
arity3
x
|
F2XM1
:
sem
-
undef
-
arity0
|
FABS
:
sem
-
undef
-
arity0
|
FADD
x
:
sem
-
undef
-
arity2
x
|
FADDP
x
:
sem
-
undef
-
arity2
x
|
FBLD
x
:
sem
-
undef
-
arity1
x
|
FBSTP
x
:
sem
-
undef
-
arity1
x
|
FCHS
:
sem
-
undef
-
arity0
|
FCLEX
:
sem
-
undef
-
arity0
|
FCMOVB
x
:
sem
-
undef
-
arity2
x
|
FCMOVBE
x
:
sem
-
undef
-
arity2
x
|
FCMOVE
x
:
sem
-
undef
-
arity2
x
|
FCMOVNB
x
:
sem
-
undef
-
arity2
x
|
FCMOVNBE
x
:
sem
-
undef
-
arity2
x
|
FCMOVNE
x
:
sem
-
undef
-
arity2
x
|
FCMOVNU
x
:
sem
-
undef
-
arity2
x
|
FCMOVU
x
:
sem
-
undef
-
arity2
x
|
FCOM
x
:
sem
-
undef
-
arity1
x
|
FCOMI
x
:
sem
-
undef
-
arity2
x
|
FCOMIP
x
:
sem
-
undef
-
arity2
x
|
FCOMP
x
:
sem
-
undef
-
arity1
x
|
FCOMPP
:
sem
-
undef
-
arity0
|
FCOS
:
sem
-
undef
-
arity0
|
FDECSTP
:
sem
-
undef
-
arity0
|
FDIV
x
:
sem
-
undef
-
arity2
x
|
FDIVP
x
:
sem
-
undef
-
arity2
x
|
FDIVR
x
:
sem
-
undef
-
arity2
x
|
FDIVRP
x
:
sem
-
undef
-
arity2
x
|
FFREE
x
:
sem
-
undef
-
arity1
x
|
FIADD
x
:
sem
-
undef
-
arity1
x
|
FICOM
x
:
sem
-
undef
-
arity1
x
|
FICOMP
x
:
sem
-
undef
-
arity1
x
|
FIDIV
x
:
sem
-
undef
-
arity2
x
|
FIDIVR
x
:
sem
-
undef
-
arity1
x
|
FILD
x
:
sem
-
undef
-
arity1
x
|
FIMUL
x
:
sem
-
undef
-
arity1
x
|
FINCSTP
:
sem
-
undef
-
arity0
|
FINIT
:
sem
-
undef
-
arity0
|
FIST
x
:
sem
-
undef
-
arity1
x
|
FISTP
x
:
sem
-
undef
-
arity1
x
|
FISTTP
x
:
sem
-
undef
-
arity1
x
|
FISUB
x
:
sem
-
undef
-
arity1
x
|
FISUBR
x
:
sem
-
undef
-
arity1
x
|
FLD
x
:
sem
-
undef
-
arity1
x
|
FLD1
:
sem
-
undef
-
arity0
|
FLDCW
x
:
sem
-
undef
-
arity1
x
|
FLDENV
x
:
sem
-
undef
-
arity1
x
|
FLDL2E
:
sem
-
undef
-
arity0
|
FLDL2T
:
sem
-
undef
-
arity0
|
FLDLG2
:
sem
-
undef
-
arity0
|
FLDLN2
:
sem
-
undef
-
arity0
|
FLDPI
:
sem
-
undef
-
arity0
|
FLDZ
:
sem
-
undef
-
arity0
|
FMUL
x
:
sem
-
undef
-
arity2
x
|
FMULP
x
:
sem
-
undef
-
arity2
x
|
FNCLEX
:
sem
-
undef
-
arity0
|
FNINIT
:
sem
-
undef
-
arity0
|
FNOP
:
sem
-
undef
-
arity0
|
FNSAVE
x
:
sem
-
undef
-
arity1
x
|
FNSTCW
x
:
sem
-
undef
-
arity1
x
|
FNSTENV
x
:
sem
-
undef
-
arity1
x
|
FNSTSW
x
:
sem
-
undef
-
arity1
x
|
FPATAN
:
sem
-
undef
-
arity0
|
FPREM
:
sem
-
undef
-
arity0
|
FPREM1
:
sem
-
undef
-
arity0
|
FPTAN
:
sem
-
undef
-
arity0
|
FRNDINT
:
sem
-
undef
-
arity0
|
FRSTOR
x
:
sem
-
undef
-
arity1
x
|
FSAVE
x
:
sem
-
undef
-
arity1
x
|
FSCALE
:
sem
-
undef
-
arity0
|
FSIN
:
sem
-
undef
-
arity0
|
FSINCOS
:
sem
-
undef
-
arity0
|
FSQRT
:
sem
-
undef
-
arity0
|
FST
x
:
sem
-
undef
-
arity1
x
|
FSTCW
x
:
sem
-
undef
-
arity1
x
|
FSTENV
x
:
sem
-
undef
-
arity1
x
|
FSTP
x
:
sem
-
undef
-
arity1
x
|
FSTSW
x
:
sem
-
undef
-
arity1
x
|
FSUB
x
:
sem
-
undef
-
arity2
x
|
FSUBP
x
:
sem
-
undef
-
arity2
x
|
FSUBR
x
:
sem
-
undef
-
arity2
x
|
FSUBRP
x
:
sem
-
undef
-
arity2
x
|
FTST
:
sem
-
undef
-
arity0
|
FUCOM
x
:
sem
-
undef
-
arity1
x
|
FUCOMI
x
:
sem
-
undef
-
arity1
x
|
FUCOMIP
x
:
sem
-
undef
-
arity1
x
|
FUCOMP
x
:
sem
-
undef
-
arity1
x
|
FUCOMPP
:
sem
-
undef
-
arity0
|
FXAM
:
sem
-
undef
-
arity0
|
FXCH
x
:
sem
-
undef
-
arity1
x
|
FXRSTOR64
x
:
sem
-
undef
-
arity1
x
|
FXRSTOR
x
:
sem
-
undef
-
arity1
x
|
FXSAVE64
x
:
sem
-
undef
-
arity1
x
|
FXSAVE
x
:
sem
-
undef
-
arity1
x
|
FXTRACT
:
sem
-
undef
-
arity0
|
FYL2X
:
sem
-
undef
-
arity0
|
FYL2XP1
:
sem
-
undef
-
arity0
|
HADDPD
x
:
sem
-
undef
-
arity2
x
|
HADDPS
x
:
sem
-
undef
-
arity2
x
|
HLT
:
sem
-
undef
-
arity0
|
HSUBPD
x
:
sem
-
undef
-
arity2
x
|
HSUBPS
x
:
sem
-
undef
-
arity2
x
|
IDIV
x
:
sem
-
undef
-
arity1
x
|
IMUL
x
:
sem
-
undef
-
varity
x
|
IN
x
:
sem
-
undef
-
arity2
x
|
INC
x
:
sem
-
undef
-
arity1
x
|
INSERTPS
x
:
sem
-
undef
-
arity3
x
|
INT
x
:
sem
-
undef
-
arity1
x
|
INT0
:
sem
-
undef
-
arity0
|
INT3
:
sem
-
undef
-
arity0
|
INVD
:
sem
-
undef
-
arity0
|
INVLPG
x
:
sem
-
undef
-
arity1
x
|
INVPCID
x
:
sem
-
undef
-
arity2
x
|
IRET
:
sem
-
undef
-
arity0
|
IRETD
:
sem
-
undef
-
arity0
|
IRETQ
:
sem
-
undef
-
arity0
|
JA
x
:
sem
-
undef
-
flow1
x
|
JAE
x
:
sem
-
undef
-
flow1
x
|
JB
x
:
sem
-
jb
x
|
JBE
x
:
sem
-
undef
-
flow1
x
|
JC
x
:
sem
-
jc
x
|
JCXZ
x
:
sem
-
undef
-
flow1
x
|
JE
x
:
sem
-
je
x
|
JECXZ
x
:
sem
-
undef
-
flow1
x
|
JG
x
:
sem
-
undef
-
flow1
x
|
JGE
x
:
sem
-
undef
-
flow1
x
|
JL
x
:
sem
-
undef
-
flow1
x
|
JLE
x
:
sem
-
undef
-
flow1
x
|
JMP
x
:
sem
-
jmp
x
|
JNA
x
:
sem
-
undef
-
flow1
x
|
JNAE
x
:
sem
-
undef
-
flow1
x
|
JNB
x
:
sem
-
undef
-
flow1
x
|
JNBE
x
:
sem
-
undef
-
flow1
x
|
JNC
x
:
sem
-
undef
-
flow1
x
|
JNE
x
:
sem
-
undef
-
flow1
x
|
JNG
x
:
sem
-
undef
-
flow1
x
|
JNGE
x
:
sem
-
undef
-
flow1
x
|
JNL
x
:
sem
-
undef
-
flow1
x
|
JNLE
x
:
sem
-
undef
-
flow1
x
|
JNO
x
:
sem
-
undef
-
flow1
x
|
JNP
x
:
sem
-
undef
-
flow1
x
|
JNS
x
:
sem
-
undef
-
flow1
x
|
JNZ
x
:
sem
-
undef
-
flow1
x
|
JO
x
:
sem
-
undef
-
flow1
x
|
JP
x
:
sem
-
undef
-
flow1
x
|
JPE
x
:
sem
-
undef
-
flow1
x
|
JPO
x
:
sem
-
undef
-
flow1
x
|
JRCXZ
x
:
sem
-
undef
-
flow1
x
|
JS
x
:
sem
-
undef
-
flow1
x
|
JZ
x
:
sem
-
undef
-
flow1
x
|
LAHF
:
sem
-
undef
-
arity0
|
LAR
x
:
sem
-
undef
-
arity2
x
|
LDDQU
x
:
sem
-
undef
-
arity2
x
|
LDMXCSR
x
:
sem
-
undef
-
arity1
x
|
LDS
x
:
sem
-
undef
-
arity2
x
|
LEA
x
:
sem
-
undef
-
arity2
x
|
LEAVE
:
sem
-
undef
-
arity0
|
LES
x
:
sem
-
undef
-
arity2
x
|
LFENCE
:
sem
-
undef
-
arity0
|
LFS
x
:
sem
-
undef
-
arity2
x
|
LGDT
x
:
sem
-
undef
-
arity1
x
|
LGS
x
:
sem
-
undef
-
arity2
x
|
LIDT
x
:
sem
-
undef
-
arity1
x
|
LLDT
x
:
sem
-
undef
-
arity1
x
|
LMSW
x
:
sem
-
undef
-
arity1
x
|
LOCK
:
sem
-
undef
-
arity0
|
LODSB
:
sem
-
undef
-
arity0
|
LODSD
:
sem
-
undef
-
arity0
|
LODSQ
:
sem
-
undef
-
arity0
|
LODSW
:
sem
-
undef
-
arity0
|
LOOP
x
:
sem
-
undef
-
flow1
x
|
LOOPE
x
:
sem
-
undef
-
flow1
x
|
LOOPNE
x
:
sem
-
undef
-
flow1
x
|
LSL
x
:
sem
-
undef
-
arity2
x
|
LSS
x
:
sem
-
undef
-
arity2
x
|
LTR
x
:
sem
-
undef
-
arity1
x
|
MASKMOVDQU
x
:
sem
-
undef
-
arity2
x
|
MASKMOVQ
x
:
sem
-
undef
-
arity2
x
|
MAXPD
x
:
sem
-
undef
-
arity2
x
|
MAXPS
x
:
sem
-
undef
-
arity2
x
|
MAXSD
x
:
sem
-
undef
-
arity2
x
|
MAXSS
x
:
sem
-
undef
-
arity2
x
|
MFENCE
:
sem
-
undef
-
arity0
|
MINPD
x
:
sem
-
undef
-
arity2
x
|
MINPS
x
:
sem
-
undef
-
arity2
x
|
MINSD
x
:
sem
-
undef
-
arity2
x
|
MINSS
x
:
sem
-
undef
-
arity2
x
|
MONITOR
:
sem
-
undef
-
arity0
|
MOV
x
:
sem
-
mov
x
|
MOVAPD
x
:
sem
-
undef
-
arity2
x
|
MOVAPS
x
:
sem
-
undef
-
arity2
x
|
MOVBE
x
:
sem
-
undef
-
arity2
x
|
MOVD
x
:
sem
-
undef
-
arity2
x
|
MOVDDUP
x
:
sem
-
undef
-
arity2
x
|
MOVDQ2Q
x
:
sem
-
undef
-
arity2
x
|
MOVDQA
x
:
sem
-
undef
-
arity2
x
|
MOVDQU
x
:
sem
-
undef
-
arity2
x
|
MOVHLPS
x
:
sem
-
undef
-
arity2
x
|
MOVHPD
x
:
sem
-
undef
-
arity2
x
|
MOVHPS
x
:
sem
-
undef
-
arity2
x
|
MOVLHPS
x
:
sem
-
undef
-
arity2
x
|
MOVLPD
x
:
sem
-
undef
-
arity2
x
|
MOVLPS
x
:
sem
-
undef
-
arity2
x
|
MOVMSKPD
x
:
sem
-
undef
-
arity2
x
|
MOVMSKPS
x
:
sem
-
undef
-
arity2
x
|
MOVNTDQ
x
:
sem
-
undef
-
arity2
x
|
MOVNTDQA
x
:
sem
-
undef
-
arity2
x
|
MOVNTI
x
:
sem
-
undef
-
arity2
x
|
MOVNTPD
x
:
sem
-
undef
-
arity2
x
|
MOVNTPS
x
:
sem
-
undef
-
arity2
x
|
MOVNTQ
x
:
sem
-
undef
-
arity2
x
|
MOVQ
x
:
sem
-
undef
-
arity2
x
|
MOVQ2DQ
x
:
sem
-
undef
-
arity2
x
|
MOVSB
:
sem
-
undef
-
arity0
|
MOVSD
x
:
sem
-
undef
-
varity
x
|
MOVSHDUP
x
:
sem
-
undef
-
arity2
x
|
MOVSLDUP
x
:
sem
-
undef
-
arity2
x
|
MOVSQ
:
sem
-
undef
-
arity0
|
MOVSS
x
:
sem
-
undef
-
arity2
x
|
MOVSW
x
:
sem
-
undef
-
arity2
x
|
MOVSX
x
:
sem
-
undef
-
arity2
x
|
MOVSXD
x
:
sem
-
undef
-
arity2
x
|
MOVUPD
x
:
sem
-
undef
-
arity2
x
|
MOVUPS
x
:
sem
-
undef
-
arity2
x
|
MOVZX
x
:
sem
-
undef
-
arity2
x
|
MPSADBW
x
:
sem
-
undef
-
arity3
x
|
MUL
x
:
sem
-
undef
-
arity1
x
|
MULPD
x
:
sem
-
undef
-
arity2
x
|
MULPS
x
:
sem
-
undef
-
arity2
x
|
MULSD
x
:
sem
-
undef
-
arity2
x
|
MULSS
x
:
sem
-
undef
-
arity2
x
|
MWAIT
:
sem
-
undef
-
arity0
|
NEG
x
:
sem
-
undef
-
arity1
x
|
NOP
x
:
sem
-
undef
-
varity
x
|
NOT
x
:
sem
-
undef
-
arity1
x
|
OR
x
:
sem
-
undef
-
arity2
x
|
ORPD
x
:
sem
-
undef
-
arity2
x
|
ORPS
x
:
sem
-
undef
-
arity2
x
|
OUT
x
:
sem
-
undef
-
arity2
x
|
OUTS
:
sem
-
undef
-
arity0
|
OUTSB
:
sem
-
undef
-
arity0
|
OUTSD
:
sem
-
undef
-
arity0
|
OUTSW
:
sem
-
undef
-
arity0
|
PABSB
x
:
sem
-
undef
-
arity2
x
|
PABSD
x
:
sem
-
undef
-
arity2
x
|
PABSW
x
:
sem
-
undef
-
arity2
x
|
PACKSSDW
x
:
sem
-
undef
-
arity2
x
|
PACKSSWB
x
:
sem
-
undef
-
arity2
x
|
PACKUSDW
x
:
sem
-
undef
-
arity2
x
|
PACKUSWB
x
:
sem
-
undef
-
arity2
x
|
PADDB
x
:
sem
-
undef
-
arity2
x
|
PADDD
x
:
sem
-
undef
-
arity2
x
|
PADDQ
x
:
sem
-
undef
-
arity2
x
|
PADDSB
x
:
sem
-
undef
-
arity2
x
|
PADDSW
x
:
sem
-
undef
-
arity2
x
|
PADDUSB
x
:
sem
-
undef
-
arity2
x
|
PADDUSW
x
:
sem
-
undef
-
arity2
x
|
PADDW
x
:
sem
-
undef
-
arity2
x
|
PALIGNR
x
:
sem
-
undef
-
arity3
x
|
PAND
x
:
sem
-
undef
-
arity2
x
|
PANDN
x
:
sem
-
undef
-
arity2
x
|
PAUSE
:
sem
-
undef
-
arity0
|
PAVGB
x
:
sem
-
undef
-
arity2
x
|
PAVGW
x
:
sem
-
undef
-
arity2
x
|
PBLENDVB
x
:
sem
-
undef
-
arity2
x
|
PBLENDW
x
:
sem
-
undef
-
arity3
x
|
PCLMULQDQ
x
:
sem
-
undef
-
arity3
x
|
PCMPEQB
x
:
sem
-
undef
-
arity2
x
|
PCMPEQD
x
:
sem
-
undef
-
arity2
x
|
PCMPEQQ
x
:
sem
-
undef
-
arity2
x
|
PCMPEQW
x
:
sem
-
undef
-
arity2
x
|
PCMPESTRI
x
:
sem
-
undef
-
arity3
x
|
PCMPESTRM
x
:
sem
-
undef
-
arity3
x
|
PCMPGRD
x
:
sem
-
undef
-
arity2
x
|
PCMPGTB
x
:
sem
-
undef
-
arity2
x
|
PCMPGTD
x
:
sem
-
undef
-
arity2
x
|
PCMPGTQ
x
:
sem
-
undef
-
arity2
x
|
PCMPGTW
x
:
sem
-
undef
-
arity2
x
|
PCMPISTRI
x
:
sem
-
undef
-
arity3
x
|
PCMPISTRM
x
:
sem
-
undef
-
arity3
x
|
PEXTRB
x
:
sem
-
undef
-
arity3
x
|
PEXTRD
x
:
sem
-
undef
-
arity3
x
|
PEXTRQ
x
:
sem
-
undef
-
arity3
x
|
PEXTRW
x
:
sem
-
undef
-
arity3
x
|
PHADDD
x
:
sem
-
undef
-
arity2
x
|
PHADDSW
x
:
sem
-
undef
-
arity2
x
|
PHADDW
x
:
sem
-
undef
-
arity2
x
|
PHMINPOSUW
x
:
sem
-
undef
-
arity2
x
|
PHSUBD
x
:
sem
-
undef
-
arity2
x
|
PHSUBSW
x
:
sem
-
undef
-
arity2
x
|
PHSUBW
x
:
sem
-
undef
-
arity2
x
|
PINSRB
x
:
sem
-
undef
-
arity3
x