aboutsummaryrefslogtreecommitdiff
path: root/src/display.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2019-03-30 20:02:20 -0700
committeriximeow <me@iximeow.net>2020-01-12 16:10:13 -0800
commit7a45abbef5a1158e3ab676e666cbe69a2d57e36a (patch)
treedeac9cc0078e44d7003861b6314d95dfcd076b18 /src/display.rs
parentf1c54efa783918bd300f894958ad48026afc7e1e (diff)
fix incorrectly showing decode errors, add more system instructions
Diffstat (limited to 'src/display.rs')
-rw-r--r--src/display.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/display.rs b/src/display.rs
index 3a73225..b500992 100644
--- a/src/display.rs
+++ b/src/display.rs
@@ -174,6 +174,13 @@ impl <T: std::fmt::Write> Colorize<T> for Operand {
impl fmt::Display for Opcode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
+ &Opcode::SLDT => write!(f, "{}", "sldt"),
+ &Opcode::STR => write!(f, "{}", "str"),
+ &Opcode::LLDT => write!(f, "{}", "lldt"),
+ &Opcode::LTR => write!(f, "{}", "ltr"),
+ &Opcode::VERR => write!(f, "{}", "verr"),
+ &Opcode::VERW => write!(f, "{}", "verw"),
+ &Opcode::JMPE => write!(f, "{}", "jmpe"),
&Opcode::WRMSR => write!(f, "{}", "wrmsr"),
&Opcode::RDMSR => write!(f, "{}", "rdmsr"),
&Opcode::RDTSC => write!(f, "{}", "rdtsc"),
@@ -470,6 +477,13 @@ impl <T: std::fmt::Write> Colorize<T> for Opcode {
Opcode::CLTS |
Opcode::SYSCALL |
Opcode::LSL |
+ Opcode::SLDT |
+ Opcode::STR |
+ Opcode::LLDT |
+ Opcode::LTR |
+ Opcode::VERR |
+ Opcode::VERW |
+ Opcode::JMPE |
Opcode::LAR => { write!(out, "{}", colors.platform_op(self)) }
Opcode::UD2 |