Bug fix on shift operations again. Other macros broke T0.

This commit is contained in:
Takashi Toyoshima 2014-12-07 15:51:59 +09:00
parent e419d9da69
commit dbf8142e61

20
6502.S
View File

@ -372,14 +372,15 @@
bics r0, r0, r1 bics r0, r0, r1
__se FLAG_C __se FLAG_C
1: 1:
lsls T0, r0, #1 lsls r0, r0, #1
bne 1f bne 1f
__se FLAG_Z __se FLAG_Z
1: 1:
tst T0, r1 tst r0, r1
beq 1f beq 1f
__se FLAG_N __se FLAG_N
1: 1:
mov T0, r0
adds PC, PC, #1 adds PC, PC, #1
.endm .endm
@ -491,15 +492,16 @@
beq 1f beq 1f
__se FLAG_C __se FLAG_C
1: 1:
lsrs T0, r0, #1 lsrs r0, r0, #1
bne 1f bne 1f
__se FLAG_Z __se FLAG_Z
1: 1:
movs r1, #FLAG_N movs r1, #FLAG_N
tst T0, r1 tst r0, r1
beq 1f beq 1f
__se FLAG_N __se FLAG_N
1: 1:
mov T0, r0
adds PC, PC, #1 adds PC, PC, #1
.endm .endm
@ -518,14 +520,15 @@
1: 1:
lsls r0, r0, #1 lsls r0, r0, #1
uxtb r0, r0 uxtb r0, r0
adds T0, r0, r2 adds r0, r0, r2
bne 1f bne 1f
__se FLAG_Z __se FLAG_Z
1: 1:
tst T0, r1 tst r0, r1
beq 1f beq 1f
__se FLAG_N __se FLAG_N
1: 1:
mov T0, r0
adds PC, PC, #1 adds PC, PC, #1
.endm .endm
@ -540,15 +543,16 @@
__se FLAG_C __se FLAG_C
1: 1:
lsrs r0, r0, #1 lsrs r0, r0, #1
adds T0, r0, r2 adds r0, r0, r2
bne 1f bne 1f
__se FLAG_Z __se FLAG_Z
1: 1:
movs r1, #FLAG_N movs r1, #FLAG_N
tst T0, r1 tst r0, r1
beq 1f beq 1f
__se FLAG_N __se FLAG_N
1: 1:
mov T0, r0
adds PC, PC, #1 adds PC, PC, #1
.endm .endm