chore: remove unnecessary @as calls
This commit is contained in:
@@ -10,9 +10,9 @@ pub fn format14(comptime L: bool, comptime R: bool) InstrFn {
|
||||
// POP
|
||||
address = cpu.r[13];
|
||||
|
||||
var i: usize = 0;
|
||||
var i: u4 = 0;
|
||||
while (i < 8) : (i += 1) {
|
||||
if ((opcode >> @truncate(u3, i)) & 1 == 1) {
|
||||
if ((opcode >> i) & 1 == 1) {
|
||||
cpu.r[i] = bus.read32(address);
|
||||
address += 4;
|
||||
}
|
||||
@@ -31,11 +31,11 @@ pub fn format14(comptime L: bool, comptime R: bool) InstrFn {
|
||||
address -= 4;
|
||||
}
|
||||
|
||||
var i: usize = 8;
|
||||
var i: u4 = 8;
|
||||
while (i > 0) : (i -= 1) {
|
||||
const j = i - 1;
|
||||
|
||||
if ((opcode >> @truncate(u3, j)) & 1 == 1) {
|
||||
if ((opcode >> j) & 1 == 1) {
|
||||
bus.write32(address, cpu.r[j]);
|
||||
address -= 4;
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@ pub fn format19(comptime is_low: bool) InstrFn {
|
||||
cpu.r[14] = old_pc | 1;
|
||||
} else {
|
||||
// Instruction 1
|
||||
cpu.r[14] = (cpu.r[15] + 2) +% (u32SignExtend(11, @as(u32, offset)) << 12);
|
||||
cpu.r[14] = (cpu.r[15] + 2) +% (u32SignExtend(11, offset) << 12);
|
||||
}
|
||||
}
|
||||
}.inner;
|
||||
|
@@ -60,14 +60,14 @@ pub fn format2(comptime I: bool, is_sub: bool, rn: u3) InstrFn {
|
||||
if (is_sub) {
|
||||
// SUB
|
||||
cpu.r[rd] = if (I) blk: {
|
||||
break :blk sub(true, cpu, cpu.r[rs], @as(u32, rn));
|
||||
break :blk sub(true, cpu, cpu.r[rs], rn);
|
||||
} else blk: {
|
||||
break :blk sub(true, cpu, cpu.r[rs], cpu.r[rn]);
|
||||
};
|
||||
} else {
|
||||
// ADD
|
||||
cpu.r[rd] = if (I) blk: {
|
||||
break :blk add(true, cpu, cpu.r[rs], @as(u32, rn));
|
||||
break :blk add(true, cpu, cpu.r[rs], rn);
|
||||
} else blk: {
|
||||
break :blk add(true, cpu, cpu.r[rs], cpu.r[rn]);
|
||||
};
|
||||
|
@@ -36,12 +36,12 @@ pub fn format78(comptime op: u2, comptime T: bool) InstrFn {
|
||||
},
|
||||
0b01 => {
|
||||
// LDSB
|
||||
cpu.r[rd] = u32SignExtend(8, @as(u32, bus.read8(address)));
|
||||
cpu.r[rd] = u32SignExtend(8, bus.read8(address));
|
||||
},
|
||||
0b10 => {
|
||||
// LDRH
|
||||
const value = bus.read16(address & 0xFFFF_FFFE);
|
||||
cpu.r[rd] = std.math.rotr(u32, @as(u32, value), 8 * (address & 1));
|
||||
cpu.r[rd] = std.math.rotr(u32, value, 8 * (address & 1));
|
||||
},
|
||||
0b11 => {
|
||||
// LDRSH
|
||||
@@ -123,7 +123,7 @@ pub fn format10(comptime L: bool, comptime offset: u5) InstrFn {
|
||||
if (L) {
|
||||
// LDRH
|
||||
const value = bus.read16(address & 0xFFFF_FFFE);
|
||||
cpu.r[rd] = std.math.rotr(u32, @as(u32, value), 8 * (address & 1));
|
||||
cpu.r[rd] = std.math.rotr(u32, value, 8 * (address & 1));
|
||||
} else {
|
||||
// STRH
|
||||
bus.write16(address & 0xFFFF_FFFE, @truncate(u16, cpu.r[rd]));
|
||||
|
Reference in New Issue
Block a user