mirror of
https://github.com/toyoshim/Applerm-II.git
synced 2025-02-21 09:29:08 +00:00
Implement op -0x0f
This commit is contained in:
parent
ef36502777
commit
e12f4260f3
68
6502.S
68
6502.S
@ -17,6 +17,7 @@
|
|||||||
#define RX r9
|
#define RX r9
|
||||||
#define RY r10
|
#define RY r10
|
||||||
#define SP r11
|
#define SP r11
|
||||||
|
#define ADDR r12
|
||||||
|
|
||||||
#define FLAG_N (1 << 7)
|
#define FLAG_N (1 << 7)
|
||||||
#define FLAG_V (1 << 6)
|
#define FLAG_V (1 << 6)
|
||||||
@ -79,6 +80,14 @@
|
|||||||
b decode
|
b decode
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro _fromAbsb
|
||||||
|
adds PC, PC, #1
|
||||||
|
mov r0, PC
|
||||||
|
_ldw
|
||||||
|
mov ADDR, r0
|
||||||
|
_ldb
|
||||||
|
.endm
|
||||||
|
|
||||||
.macro _fromImm8
|
.macro _fromImm8
|
||||||
adds PC, PC, #1
|
adds PC, PC, #1
|
||||||
mov r0, PC
|
mov r0, PC
|
||||||
@ -98,14 +107,30 @@
|
|||||||
_ldb
|
_ldb
|
||||||
lsls r0, r0, #8
|
lsls r0, r0, #8
|
||||||
adds r0, r0, T1
|
adds r0, r0, T1
|
||||||
|
mov ADDR, r0
|
||||||
_ldb
|
_ldb
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro _fromReg reg
|
||||||
|
mov r0, \reg
|
||||||
|
.endm
|
||||||
|
|
||||||
.macro _fromZero
|
.macro _fromZero
|
||||||
_fromImm8
|
_fromImm8
|
||||||
|
mov ADDR, r0
|
||||||
_ldb
|
_ldb
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro _toAddr
|
||||||
|
mov r0, ADDR
|
||||||
|
mov r1, T0
|
||||||
|
_stb
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro _toReg reg
|
||||||
|
mov \reg, T0
|
||||||
|
.endm
|
||||||
|
|
||||||
.macro _toZero
|
.macro _toZero
|
||||||
_fromImm8
|
_fromImm8
|
||||||
mov r1, T0
|
mov r1, T0
|
||||||
@ -232,6 +257,9 @@ op02:
|
|||||||
op03:
|
op03:
|
||||||
op04:
|
op04:
|
||||||
op07:
|
op07:
|
||||||
|
op0b:
|
||||||
|
op0c:
|
||||||
|
op0f:
|
||||||
_nop
|
_nop
|
||||||
_decode
|
_decode
|
||||||
|
|
||||||
@ -259,7 +287,7 @@ op05: // ORA - Zero Page
|
|||||||
op06: // ASL - Zero Page
|
op06: // ASL - Zero Page
|
||||||
_fromZero
|
_fromZero
|
||||||
_asl
|
_asl
|
||||||
_toZero
|
_toAddr
|
||||||
_decode
|
_decode
|
||||||
|
|
||||||
op08: // PHP
|
op08: // PHP
|
||||||
@ -267,20 +295,29 @@ op08: // PHP
|
|||||||
adds PC, PC, #1
|
adds PC, PC, #1
|
||||||
_decode
|
_decode
|
||||||
|
|
||||||
op09:
|
op09: // ORA - Immediate
|
||||||
b quit
|
_fromImm8
|
||||||
op0a:
|
_lop orrs
|
||||||
b quit
|
_decode
|
||||||
op0b:
|
|
||||||
b quit
|
op0a: // ASL - Accumulator
|
||||||
op0c:
|
_fromReg RA
|
||||||
b quit
|
_asl
|
||||||
op0d:
|
_toReg RA
|
||||||
b quit
|
_decode
|
||||||
op0e:
|
|
||||||
b quit
|
op0d: // ORA - Absolute
|
||||||
op0f:
|
_fromAbsb
|
||||||
b quit
|
_lop orrs
|
||||||
|
_toAddr
|
||||||
|
_decode
|
||||||
|
|
||||||
|
op0e: // ASL - Absolute
|
||||||
|
_fromAbsb
|
||||||
|
_asl
|
||||||
|
_toAddr
|
||||||
|
_decode
|
||||||
|
|
||||||
op10:
|
op10:
|
||||||
b quit
|
b quit
|
||||||
op11:
|
op11:
|
||||||
@ -526,6 +563,7 @@ op84: // STY - Zero Page
|
|||||||
mov T0, RY
|
mov T0, RY
|
||||||
_toZero
|
_toZero
|
||||||
_decode
|
_decode
|
||||||
|
|
||||||
op85:
|
op85:
|
||||||
b quit
|
b quit
|
||||||
op86:
|
op86:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user