From 63a57ac954fb2120dd3ac5056244d2d63a850f7c Mon Sep 17 00:00:00 2001 From: Rekai Musuka Date: Tue, 18 Jan 2022 14:28:47 -0400 Subject: [PATCH] feat(cpu): implement BIC --- src/cpu/arm/data_processing.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/cpu/arm/data_processing.zig b/src/cpu/arm/data_processing.zig index 01e6d22..b82b58e 100644 --- a/src/cpu/arm/data_processing.zig +++ b/src/cpu/arm/data_processing.zig @@ -146,6 +146,17 @@ pub fn dataProcessing(comptime I: bool, comptime S: bool, comptime instrKind: u4 // C set by Barrel Shifter, V is unaffected } }, + 0xE => { + // BIC + const result = op1 & ~op2; + cpu.r[rd] = result; + + if (S and rd != 0xF) { + cpu.cpsr.n.write(result >> 31 & 1 == 1); + cpu.cpsr.z.write(result == 0); + // C set by Barrel Shifter, V is unaffected + } + }, 0xF => { // MVN const result = ~op2;