aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/long_mode/evex.rs2
-rw-r--r--src/protected_mode/evex.rs2
-rw-r--r--src/real_mode/evex.rs2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/long_mode/evex.rs b/src/long_mode/evex.rs
index 7f456e7..5c0967b 100644
--- a/src/long_mode/evex.rs
+++ b/src/long_mode/evex.rs
@@ -11,7 +11,7 @@ fn isa_has_qwords() -> bool {
}
fn apply_disp_scale(inst: &mut Instruction) {
- inst.disp *= inst.mem_size as u64;
+ inst.disp = ((inst.disp as i64) * (inst.mem_size as i64)) as u64;
}
include!("../shared/generated_evex.in");
diff --git a/src/protected_mode/evex.rs b/src/protected_mode/evex.rs
index cb0a4ba..2ef91b6 100644
--- a/src/protected_mode/evex.rs
+++ b/src/protected_mode/evex.rs
@@ -11,7 +11,7 @@ fn isa_has_qwords() -> bool {
}
fn apply_disp_scale(inst: &mut Instruction) {
- inst.disp *= inst.mem_size as u32;
+ inst.disp = ((inst.disp as i32) * (inst.mem_size as i32)) as u32;
}
include!("../shared/generated_evex.in");
diff --git a/src/real_mode/evex.rs b/src/real_mode/evex.rs
index 9840b35..b63c08d 100644
--- a/src/real_mode/evex.rs
+++ b/src/real_mode/evex.rs
@@ -11,7 +11,7 @@ fn isa_has_qwords() -> bool {
}
fn apply_disp_scale(inst: &mut Instruction) {
- inst.disp *= inst.mem_size as u32;
+ inst.disp = ((inst.disp as i32) * (inst.mem_size as i32)) as u32;
}
include!("../shared/generated_evex.in");