From bda71cafc2410f7d2782c4f37e8043db451c1c04 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sun, 7 Apr 2013 02:01:14 -0700 Subject: [PATCH] ALU instructions can write to PC --- src/arm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/arm.c b/src/arm.c index 60deac5bb..16f033439 100644 --- a/src/arm.c +++ b/src/arm.c @@ -207,7 +207,10 @@ void ARMStep(struct ARMCore* cpu) { SHIFTER(cpu, opcode); \ BODY; \ S_BODY; \ - POST_BODY;) + POST_BODY; \ + if (rd == ARM_PC) { \ + ARM_WRITE_PC; \ + }) #define DEFINE_ALU_INSTRUCTION_ARM(NAME, S_BODY, BODY, POST_BODY) \ DEFINE_ALU_INSTRUCTION_EX_ARM(NAME, , _barrelShift, BODY, POST_BODY) \