Fix THUMB 1
I didn't send this through the ALU :/ Former-commit-id: 40b4d23dcd769496e9dcd47bbf8d472b91e6a7bf
This commit is contained in:
parent
f7b2b48e5d
commit
9421281381
|
@ -21,13 +21,19 @@ impl Core {
|
|||
_bus: &mut Bus,
|
||||
insn: ThumbInstruction,
|
||||
) -> CpuExecResult {
|
||||
let result = self
|
||||
let op2 = self
|
||||
.register_shift(
|
||||
insn.rs(),
|
||||
ShiftedRegister::ByAmount(insn.offset5() as u8 as u32, insn.format1_op()),
|
||||
)
|
||||
.unwrap();
|
||||
self.gpr[insn.rd()] = result as u32;
|
||||
|
||||
let rd = insn.rd();
|
||||
let op1 = self.get_reg(rd) as i32;
|
||||
let result = self.alu(AluOpCode::MOV, op1, op2, true);
|
||||
if let Some(result) = result {
|
||||
self.set_reg(rd, result as u32);
|
||||
}
|
||||
|
||||
Ok(CpuPipelineAction::IncPC)
|
||||
}
|
||||
|
|
Reference in a new issue