aboutsummaryrefslogtreecommitdiff
path: root/src/display.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2019-06-23 16:09:26 -0700
committeriximeow <me@iximeow.net>2020-01-12 16:10:13 -0800
commit06b9d518496b90e83ad8b9857973442b978ed3e6 (patch)
tree54bd23c987510f6d726bb817979a438034d101e3 /src/display.rs
parent66bc9435b54495e24715939e119b059b06231e8b (diff)
begin supporting f30f instructions
fix issue where non-relevant prefixes on 0f opcodes may cause incorrect invalid decodes
Diffstat (limited to 'src/display.rs')
-rw-r--r--src/display.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/display.rs b/src/display.rs
index 7dba44d..ca2b2f7 100644
--- a/src/display.rs
+++ b/src/display.rs
@@ -184,6 +184,13 @@ impl fmt::Display for Opcode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
&Opcode::MOVSS => write!(f, "{}", "movss"),
+ &Opcode::SQRTSS => write!(f, "{}", "sqrtss"),
+ &Opcode::ADDSS => write!(f, "{}", "addss"),
+ &Opcode::SUBSS => write!(f, "{}", "subss"),
+ &Opcode::MULSS => write!(f, "{}", "mulss"),
+ &Opcode::DIVSS => write!(f, "{}", "divss"),
+ &Opcode::MINSS => write!(f, "{}", "minss"),
+ &Opcode::MAXSS => write!(f, "{}", "maxss"),
&Opcode::MOVSD => write!(f, "{}", "movsd"),
&Opcode::SQRTSD => write!(f, "{}", "sqrtsd"),
&Opcode::ADDSD => write!(f, "{}", "addsd"),
@@ -193,6 +200,7 @@ impl fmt::Display for Opcode {
&Opcode::MINSD => write!(f, "{}", "minsd"),
&Opcode::MAXSD => write!(f, "{}", "maxsd"),
&Opcode::MOVDDUP => write!(f, "{}", "movddup"),
+ &Opcode::MOVSLDUP => write!(f, "{}", "movsldup"),
&Opcode::HADDPS => write!(f, "{}", "haddps"),
&Opcode::HSUBPS => write!(f, "{}", "hsubps"),
&Opcode::ADDSUBPS => write!(f, "{}", "addsubps"),
@@ -201,6 +209,9 @@ impl fmt::Display for Opcode {
&Opcode::CVTTSD2SI => write!(f, "{}", "cvttsd2si"),
&Opcode::CVTSD2SI => write!(f, "{}", "cvtsd2si"),
&Opcode::CVTSD2SS => write!(f, "{}", "cvtsd2ss"),
+ &Opcode::CVTTSS2SI => write!(f, "{}", "cvttss2si"),
+ &Opcode::CVTSS2SI => write!(f, "{}", "cvtss2si"),
+ &Opcode::CVTSS2SD => write!(f, "{}", "cvtss2sd"),
&Opcode::LDDQU => write!(f, "{}", "lddqu"),
&Opcode::STI => write!(f, "{}", "sti"),
&Opcode::STD => write!(f, "{}", "std"),
@@ -371,7 +382,13 @@ impl <T: std::fmt::Write> Colorize<T> for Opcode {
Opcode::SUBSD |
Opcode::MULSD |
Opcode::DIVSD |
+ Opcode::SQRTSS |
+ Opcode::ADDSS |
+ Opcode::SUBSS |
+ Opcode::MULSS |
+ Opcode::DIVSS |
Opcode::MOVDDUP |
+ Opcode::MOVSLDUP |
Opcode::HADDPS |
Opcode::HSUBPS |
Opcode::ADDSUBPS |
@@ -444,6 +461,9 @@ impl <T: std::fmt::Write> Colorize<T> for Opcode {
Opcode::CVTTSD2SI |
Opcode::CVTSD2SI |
Opcode::CVTSD2SS |
+ Opcode::CVTTSS2SI |
+ Opcode::CVTSS2SI |
+ Opcode::CVTSS2SD |
Opcode::LDDQU |
Opcode::CLC |
Opcode::CLI |
@@ -501,6 +521,8 @@ impl <T: std::fmt::Write> Colorize<T> for Opcode {
Opcode::MINSD |
Opcode::MAXSD |
+ Opcode::MINSS |
+ Opcode::MAXSS |
Opcode::CMPS |
Opcode::SCAS |
Opcode::TEST |