ft(interpreter): impl mov

This commit is contained in:
2025-06-11 16:49:49 +09:00
parent 269c4cc54b
commit e5e0edd713
4 changed files with 65 additions and 5 deletions

View File

@@ -260,6 +260,22 @@ impl Computer {
}
}
}
/// Write an [`ImmediateOperand`] into [`Self::memory`] or [`Self::regs`].
pub fn write_modrm(&mut self, target: ModRmTarget, val: ImmediateOperand) {
match target {
ModRmTarget::Memory(idx) => self.memory.write(&self.regs, idx, val),
ModRmTarget::Register(reg) => self.regs.write(reg, val),
};
}
/// Read an [`ImmediateOperand`] from [`Self::memory`] or [`Self::regs`].
pub fn read_modrm(&self, target: ModRmTarget) -> ImmediateOperand {
match target {
ModRmTarget::Memory(idx) => self.memory.read(&self.regs, idx),
ModRmTarget::Register(reg) => self.regs.read(reg),
}
}
}
impl fmt::Display for Computer {