Commit fa9069f2 authored by Julian Kranz's avatar Julian Kranz

X86 Specification

X86 RREIL Translator
X86 Pretty Printer

- Added instruction: INS/INSB/INSW/INSD
parent 4cb9d4b1
...@@ -391,8 +391,8 @@ val show/instruction insn = ...@@ -391,8 +391,8 @@ val show/instruction insn =
| FNSTENV x: "FNSTENV" -++ show/arity1 x | FNSTENV x: "FNSTENV" -++ show/arity1 x
| FNSTSW x: "FNSTSW" -++ show/arity1 x | FNSTSW x: "FNSTSW" -++ show/arity1 x
| FPATAN: "FPATAN" | FPATAN: "FPATAN"
| FPREM: "FPREM"
| FPREM1: "FPREM1" | FPREM1: "FPREM1"
| FPREM: "FPREM"
| FPTAN: "FPTAN" | FPTAN: "FPTAN"
| FRNDINT: "FRNDINT" | FRNDINT: "FRNDINT"
| FRSTOR x: "FRSTOR" -++ show/arity1 x | FRSTOR x: "FRSTOR" -++ show/arity1 x
...@@ -418,10 +418,10 @@ val show/instruction insn = ...@@ -418,10 +418,10 @@ val show/instruction insn =
| FUCOMPP: "FUCOMPP" | FUCOMPP: "FUCOMPP"
| FXAM: "FXAM" | FXAM: "FXAM"
| FXCH x: "FXCH" -++ show/arity1 x | FXCH x: "FXCH" -++ show/arity1 x
| FXRSTOR64 x: "FXRSTOR64" -++ show/arity1 x
| FXRSTOR x: "FXRSTOR" -++ show/arity1 x | FXRSTOR x: "FXRSTOR" -++ show/arity1 x
| FXSAVE64 x: "FXSAVE64" -++ show/arity1 x | FXRSTOR64 x: "FXRSTOR64" -++ show/arity1 x
| FXSAVE x: "FXSAVE" -++ show/arity1 x | FXSAVE x: "FXSAVE" -++ show/arity1 x
| FXSAVE64 x: "FXSAVE64" -++ show/arity1 x
| FXTRACT: "FXTRACT" | FXTRACT: "FXTRACT"
| FYL2X: "FYL2X" | FYL2X: "FYL2X"
| FYL2XP1: "FYL2XP1" | FYL2XP1: "FYL2XP1"
...@@ -434,7 +434,10 @@ val show/instruction insn = ...@@ -434,7 +434,10 @@ val show/instruction insn =
| IMUL x: "IMUL" -++ show/varity x | IMUL x: "IMUL" -++ show/varity x
| IN x: "IN" -++ show/arity2 x | IN x: "IN" -++ show/arity2 x
| INC x: "INC" -++ show/arity1 x | INC x: "INC" -++ show/arity1 x
| INSB: "INSB"
| INSD: "INSD"
| INSERTPS x: "INSERTPS" -++ show/arity3 x | INSERTPS x: "INSERTPS" -++ show/arity3 x
| INSW: "INSW"
| INT x: "INT" -++ show/arity1 x | INT x: "INT" -++ show/arity1 x
| INT0: "INT0" | INT0: "INT0"
| INT3: "INT3" | INT3: "INT3"
......
...@@ -559,8 +559,8 @@ val semantics insn = ...@@ -559,8 +559,8 @@ val semantics insn =
| FNSTENV x: sem-undef-arity1 x | FNSTENV x: sem-undef-arity1 x
| FNSTSW x: sem-undef-arity1 x | FNSTSW x: sem-undef-arity1 x
| FPATAN: sem-undef-arity0 | FPATAN: sem-undef-arity0
| FPREM: sem-undef-arity0
| FPREM1: sem-undef-arity0 | FPREM1: sem-undef-arity0
| FPREM: sem-undef-arity0
| FPTAN: sem-undef-arity0 | FPTAN: sem-undef-arity0
| FRNDINT: sem-undef-arity0 | FRNDINT: sem-undef-arity0
| FRSTOR x: sem-undef-arity1 x | FRSTOR x: sem-undef-arity1 x
...@@ -586,10 +586,10 @@ val semantics insn = ...@@ -586,10 +586,10 @@ val semantics insn =
| FUCOMPP: sem-undef-arity0 | FUCOMPP: sem-undef-arity0
| FXAM: sem-undef-arity0 | FXAM: sem-undef-arity0
| FXCH x: sem-undef-arity1 x | FXCH x: sem-undef-arity1 x
| FXRSTOR64 x: sem-undef-arity1 x
| FXRSTOR x: sem-undef-arity1 x | FXRSTOR x: sem-undef-arity1 x
| FXSAVE64 x: sem-undef-arity1 x | FXRSTOR64 x: sem-undef-arity1 x
| FXSAVE x: sem-undef-arity1 x | FXSAVE x: sem-undef-arity1 x
| FXSAVE64 x: sem-undef-arity1 x
| FXTRACT: sem-undef-arity0 | FXTRACT: sem-undef-arity0
| FYL2X: sem-undef-arity0 | FYL2X: sem-undef-arity0
| FYL2XP1: sem-undef-arity0 | FYL2XP1: sem-undef-arity0
...@@ -602,7 +602,10 @@ val semantics insn = ...@@ -602,7 +602,10 @@ val semantics insn =
| IMUL x: sem-undef-varity x | IMUL x: sem-undef-varity x
| IN x: sem-undef-arity2 x | IN x: sem-undef-arity2 x
| INC x: sem-undef-arity1 x | INC x: sem-undef-arity1 x
| INSB: sem-undef-arity0
| INSD: sem-undef-arity0
| INSERTPS x: sem-undef-arity3 x | INSERTPS x: sem-undef-arity3 x
| INSW: sem-undef-arity0
| INT x: sem-undef-arity1 x | INT x: sem-undef-arity1 x
| INT0: sem-undef-arity0 | INT0: sem-undef-arity0
| INT3: sem-undef-arity0 | INT3: sem-undef-arity0
......
...@@ -779,10 +779,10 @@ type insn = ...@@ -779,10 +779,10 @@ type insn =
| FUCOMPP | FUCOMPP
| FXAM | FXAM
| FXCH of arity1 | FXCH of arity1
| FXRSTOR64 of arity1
| FXRSTOR of arity1 | FXRSTOR of arity1
| FXSAVE64 of arity1 | FXRSTOR64 of arity1
| FXSAVE of arity1 | FXSAVE of arity1
| FXSAVE64 of arity1
| FXTRACT | FXTRACT
| FYL2X | FYL2X
| FYL2XP1 | FYL2XP1
...@@ -795,7 +795,10 @@ type insn = ...@@ -795,7 +795,10 @@ type insn =
| IMUL of varity | IMUL of varity
| IN of arity2 | IN of arity2
| INC of arity1 | INC of arity1
| INSB
| INSD
| INSERTPS of arity3 | INSERTPS of arity3
| INSW
| INT of arity1 | INT of arity1
| INT0 | INT0
| INT3 | INT3
...@@ -3359,7 +3362,10 @@ val / [0xff /0] ...@@ -3359,7 +3362,10 @@ val / [0xff /0]
### INS/INSB/INSW/INSD ### INS/INSB/INSW/INSD
### - Input from Port to String ### - Input from Port to String
#Todo val / [0x6c] = arity0 INSB
val / [0x6d]
| opndsz? = arity0 INSW
| otherwise = arity0 INSD
### INSERTPS ### INSERTPS
### - Insert Packed Single Precision Floating-Point Value ### - Insert Packed Single Precision Floating-Point Value
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment