ft(interpreter): impl mov
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user