From 2c84821ee0d9807d20ea82b8550edde09426a867 Mon Sep 17 00:00:00 2001 From: iximeow Date: Sun, 4 Jul 2021 12:55:21 -0700 Subject: add real-mode decoder --- src/real_mode/evex.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/real_mode/evex.rs (limited to 'src/real_mode/evex.rs') 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"); -- cgit v1.1