diff options
author | iximeow <me@iximeow.net> | 2021-07-03 16:18:28 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-07-03 16:18:28 -0700 |
commit | 3a1de246641e14e51dc138120d67842448c2bf21 (patch) | |
tree | 0702a788bf16db67b0559aa49f44604564dd9ebb /src/protected_mode | |
parent | 282645e18ac920b2c1051a0bdf3e3236ee5839d6 (diff) |
factor out MemoryAccessSize
Diffstat (limited to 'src/protected_mode')
-rw-r--r-- | src/protected_mode/display.rs | 13 | ||||
-rw-r--r-- | src/protected_mode/mod.rs | 30 |
2 files changed, 4 insertions, 39 deletions
diff --git a/src/protected_mode/display.rs b/src/protected_mode/display.rs index ac869aa..32eeace 100644 --- a/src/protected_mode/display.rs +++ b/src/protected_mode/display.rs @@ -1,5 +1,7 @@ extern crate yaxpeax_arch; +use MEM_SIZE_STRINGS; + use core::fmt; use yaxpeax_arch::{Colorize, ShowContextual, NoColors, YaxColors}; @@ -3321,17 +3323,6 @@ impl Instruction { } } -const MEM_SIZE_STRINGS: [&'static str; 64] = [ - "byte", "word", "BUG", "dword", "far", "ptr", "BUG", "qword", - "BUG", "mword", "BUG", "BUG", "BUG", "BUG", "BUG", "xmmword", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ymmword", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ptr", "zmmword", -]; - fn contextualize_intel<T: fmt::Write, Y: YaxColors>(instr: &Instruction, colors: &Y, _address: u32, _context: Option<&NoContext>, out: &mut T) -> fmt::Result { if instr.prefixes.lock() { write!(out, "lock ")?; diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs index a088ad6..5e19676 100644 --- a/src/protected_mode/mod.rs +++ b/src/protected_mode/mod.rs @@ -4,6 +4,8 @@ mod evex; mod display; pub mod uarch; +use MemoryAccessSize; + #[cfg(feature = "fmt")] pub use self::display::DisplayStyle; @@ -4112,34 +4114,6 @@ impl Default for Instruction { } } -const MEM_SIZE_STRINGS: [&'static str; 64] = [ - "byte", "word", "BUG", "dword", "far", "ptr", "BUG", "qword", - "BUG", "mword", "BUG", "BUG", "BUG", "BUG", "BUG", "xmmword", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ymmword", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", - "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ptr", "zmmword", -]; - -pub struct MemoryAccessSize { - size: u8, -} -impl MemoryAccessSize { - pub fn bytes_size(&self) -> Option<u8> { - if self.size == 63 { - None - } else { - Some(self.size) - } - } - - pub fn size_name(&self) -> &'static str { - MEM_SIZE_STRINGS[self.size as usize - 1] - } -} - impl Instruction { pub fn opcode(&self) -> Opcode { self.opcode |