aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/long_mode/mod.rs')
-rw-r--r--src/long_mode/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs
index fab8fde..3c25506 100644
--- a/src/long_mode/mod.rs
+++ b/src/long_mode/mod.rs
@@ -7660,6 +7660,8 @@ fn read_operands<
.with_id(modrm_start - 8)
);
if instruction.operands[0] == OperandSpec::RegMMM {
+ // in 64-bit mode, operand size overrides do not actually shink the operand for
+ // `call`/`jmp`.
if opcode == Opcode::CALL || opcode == Opcode::JMP {
instruction.regs[1].bank = RegisterBank::Q;
if opcode == Opcode::CALL {