diff options
author | iximeow <me@iximeow.net> | 2021-07-04 12:55:21 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-07-04 12:55:21 -0700 |
commit | 2c84821ee0d9807d20ea82b8550edde09426a867 (patch) | |
tree | fa178ef6cb0bbd108e1c36b30dbb150b81bfe6fa /src/real_mode/evex.rs | |
parent | 2a3b81c024c28f1676046918c2ceecee8fe7777d (diff) |
add real-mode decoder
Diffstat (limited to 'src/real_mode/evex.rs')
-rw-r--r-- | src/real_mode/evex.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/real_mode/evex.rs b/src/real_mode/evex.rs new file mode 100644 index 0000000..9840b35 --- /dev/null +++ b/src/real_mode/evex.rs @@ -0,0 +1,18 @@ +// use crate::long_mode::{OperandSpec, DecodeError, RegSpec, RegisterBank, Instruction, Opcode}; +use crate::real_mode::{Arch, DecodeError, RegSpec, RegisterBank, Instruction, Opcode}; +use crate::real_mode::{read_modrm, read_E_vex, read_imm_unsigned}; +use yaxpeax_arch::Reader; + +const DEFAULT_EVEX_REGISTER_SIZE: RegisterBank = RegisterBank::D; +const DEFAULT_EVEX_REGISTER_WIDTH: u8 = 4; + +fn isa_has_qwords() -> bool { + false +} + +fn apply_disp_scale(inst: &mut Instruction) { + inst.disp *= inst.mem_size as u32; +} + +include!("../shared/generated_evex.in"); +include!("../shared/evex.in"); |