aboutsummaryrefslogtreecommitdiff
path: root/src/real_mode/mod.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-05-24 21:22:13 +0000
committeriximeow <me@iximeow.net>2026-05-25 02:02:11 +0000
commit5d537aee9e68ade8701f8995135b38a9d3c7f97f (patch)
treee6fd79adaff2739dc640f0f2755eb89daa5630cf /src/real_mode/mod.rs
parent0363fd684c98ea08d8a9ee3a6f09d5c07e80d55c (diff)
gpr register size in real/protected mode
Diffstat (limited to 'src/real_mode/mod.rs')
-rw-r--r--src/real_mode/mod.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs
index 715db85..097f6e5 100644
--- a/src/real_mode/mod.rs
+++ b/src/real_mode/mod.rs
@@ -7988,7 +7988,11 @@ fn read_operands<
instruction.operand_count = 2;
if mem_oper == OperandSpec::RegMMM {
- instruction.regs[1].bank = RegisterBank::W;
+ if !instruction.prefixes.operand_size() {
+ instruction.regs[1].bank = RegisterBank::W;
+ } else {
+ instruction.regs[1].bank = RegisterBank::D;
+ }
} else {
instruction.mem_size = 2;
}