diff --git a/src/cpu/arm/half_signed_data_transfer.zig b/src/cpu/arm/half_signed_data_transfer.zig index e30570a..6e3bf86 100644 --- a/src/cpu/arm/half_signed_data_transfer.zig +++ b/src/cpu/arm/half_signed_data_transfer.zig @@ -58,7 +58,7 @@ pub fn halfAndSignedDataTransfer(comptime P: bool, comptime U: bool, comptime I: } else { if (opcode >> 5 & 0x01 == 0x01) { // STRH - bus.write16(address, @truncate(u16, cpu.r[rd])); + bus.write16(address & 0xFFFF_FFFE, @truncate(u16, cpu.r[rd])); } else unreachable; // SWP }