aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode/mod.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-03-09 16:36:00 +0000
committeriximeow <me@iximeow.net>2026-03-09 16:36:00 +0000
commit12d0170e9283e25709937606483af7d0af7c8e2a (patch)
tree2a96836c0210791349451ef354c92a05f8a36450 /src/long_mode/mod.rs
parent542edc60acdd5d06f46702775f966d194b615c13 (diff)
separate: more implicit operand size bits
Diffstat (limited to 'src/long_mode/mod.rs')
-rw-r--r--src/long_mode/mod.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs
index dc54506..3062783 100644
--- a/src/long_mode/mod.rs
+++ b/src/long_mode/mod.rs
@@ -6627,8 +6627,15 @@ fn read_operands<
instruction.mem_size = 8;
} else if instruction.opcode == Opcode::RETF {
instruction.mem_size = 10;
+ } else if instruction.opcode == Opcode::POPF {
+ instruction.mem_size = 8;
+ } else if instruction.opcode == Opcode::PUSHF {
+ instruction.mem_size = 8;
+ } else if instruction.opcode == Opcode::LEAVE {
+ instruction.mem_size = 8;
+ } else if instruction.opcode == Opcode::XLAT {
+ instruction.mem_size = 1;
}
- // TODO: leave?
instruction.operands[0] = OperandSpec::Nothing;
instruction.operand_count = 0;
return Ok(());