From dbf8142e61a195c3c264337a3a27c6c4e985ff5b Mon Sep 17 00:00:00 2001 From: Takashi Toyoshima Date: Sun, 7 Dec 2014 15:51:59 +0900 Subject: [PATCH] Bug fix on shift operations again. Other macros broke T0. --- 6502.S | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/6502.S b/6502.S index 933b7e0..762086f 100644 --- a/6502.S +++ b/6502.S @@ -372,14 +372,15 @@ bics r0, r0, r1 __se FLAG_C 1: - lsls T0, r0, #1 + lsls r0, r0, #1 bne 1f __se FLAG_Z 1: - tst T0, r1 + tst r0, r1 beq 1f __se FLAG_N 1: + mov T0, r0 adds PC, PC, #1 .endm @@ -491,15 +492,16 @@ beq 1f __se FLAG_C 1: - lsrs T0, r0, #1 + lsrs r0, r0, #1 bne 1f __se FLAG_Z 1: movs r1, #FLAG_N - tst T0, r1 + tst r0, r1 beq 1f __se FLAG_N 1: + mov T0, r0 adds PC, PC, #1 .endm @@ -518,14 +520,15 @@ 1: lsls r0, r0, #1 uxtb r0, r0 - adds T0, r0, r2 + adds r0, r0, r2 bne 1f __se FLAG_Z 1: - tst T0, r1 + tst r0, r1 beq 1f __se FLAG_N 1: + mov T0, r0 adds PC, PC, #1 .endm @@ -540,15 +543,16 @@ __se FLAG_C 1: lsrs r0, r0, #1 - adds T0, r0, r2 + adds r0, r0, r2 bne 1f __se FLAG_Z 1: movs r1, #FLAG_N - tst T0, r1 + tst r0, r1 beq 1f __se FLAG_N 1: + mov T0, r0 adds PC, PC, #1 .endm