chore: replace unnecessarily complex sign extension implementation
This commit is contained in:
@@ -4,13 +4,13 @@ const Bus = @import("../../Bus.zig");
|
||||
const Arm7tdmi = @import("../../cpu.zig").Arm7tdmi;
|
||||
const InstrFn = @import("../../cpu.zig").ArmInstrFn;
|
||||
|
||||
const u32SignExtend = @import("../../util.zig").u32SignExtend;
|
||||
const sext = @import("../../util.zig").sext;
|
||||
|
||||
pub fn branch(comptime L: bool) InstrFn {
|
||||
return struct {
|
||||
fn inner(cpu: *Arm7tdmi, _: *Bus, opcode: u32) void {
|
||||
if (L) cpu.r[14] = cpu.r[15];
|
||||
cpu.r[15] = cpu.fakePC() +% u32SignExtend(24, opcode << 2);
|
||||
cpu.r[15] = cpu.fakePC() +% sext(24, opcode << 2);
|
||||
}
|
||||
}.inner;
|
||||
}
|
||||
|
Reference in New Issue
Block a user