mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2025-03-02 00:29:29 +00:00
- getting ready for major changes for 0.6.0. - be sure to download the 0.5.0 release to ensure proper functionality, as these rountines will not work together in the SRC or BIN folder during the transition - Beginning to significantly alter documentation
159 lines
3.3 KiB
NASM
159 lines
3.3 KiB
NASM
LOOP MAC
|
|
]PTR EQU *
|
|
STA SCRATCH
|
|
LDA #>]PTR
|
|
PHA
|
|
LDA #<]PTR
|
|
PHA
|
|
LDA SCRATCH
|
|
<<<
|
|
UNTIL MAC
|
|
STA SCRATCH
|
|
LDA ]1
|
|
CMP ]3
|
|
IF ]2,E
|
|
BEQ _LEXIT
|
|
FIN
|
|
IF ]2,N
|
|
BNE _LEXIT
|
|
FIN
|
|
IF ]2,G
|
|
BEQ SKPGT
|
|
BCS _LEXIT
|
|
SKPGT
|
|
FIN
|
|
IF ]2,L
|
|
BCC _LEXIT
|
|
FIN
|
|
IF ]2,)
|
|
BCS _LEXIT
|
|
FIN
|
|
IF ]2,(
|
|
BEQ _LEXIT
|
|
BCC _LEXIT
|
|
FIN
|
|
PLA
|
|
STA ADDR1
|
|
PLA
|
|
STA ADDR1+1
|
|
LDA SCRATCH
|
|
JMP (ADDR1)
|
|
_LEXIT
|
|
PLA
|
|
PLA
|
|
LDA SCRATCH
|
|
<<<
|
|
WHILE MAC
|
|
STA SCRATCH
|
|
LDA ]1
|
|
CMP ]3
|
|
IF ]2,E
|
|
BEQ _LJUMP
|
|
FIN
|
|
IF ]2,N
|
|
BNE _LJUMP
|
|
FIN
|
|
IF ]2,G
|
|
BEQ SKPGT
|
|
BCS _LJUMP
|
|
SKPGT
|
|
FIN
|
|
IF ]2,L
|
|
BCC _LJUMP
|
|
FIN
|
|
IF ]2,)
|
|
BCS _LJUMP
|
|
FIN
|
|
IF ]2,(
|
|
BEQ _LJUMP
|
|
BCC _LJUMP
|
|
FIN
|
|
JMP _LEXIT
|
|
_LJUMP
|
|
PLA
|
|
STA ADDR1
|
|
PLA
|
|
STA ADDR1+1
|
|
LDA SCRATCH
|
|
JMP (ADDR1)
|
|
_LEXIT
|
|
PLA
|
|
PLA
|
|
LDA SCRATCH
|
|
<<<
|
|
FOR MAC
|
|
STA SCRATCH
|
|
LDA ]1
|
|
STA ADDR4
|
|
LDA ]1/$100
|
|
STA ADDR4+1
|
|
LDY #0
|
|
LDA ]2
|
|
STA (ADDR4),Y
|
|
INY
|
|
LDA ]2/$100
|
|
STA (ADDR4),Y
|
|
LDA SCRATCH
|
|
]PTR EQU *
|
|
LDA #>]PTR
|
|
PHA
|
|
LDA #<]PTR
|
|
PHA
|
|
LDA ]1/$100
|
|
PHA
|
|
LDA ]1
|
|
PHA
|
|
LDA ]3/$100
|
|
PHA
|
|
LDA ]3
|
|
PHA
|
|
LDA ]4/$100
|
|
PHA
|
|
LDA ]4
|
|
PHA
|
|
<<<
|
|
NEXT MAC
|
|
JMP _VAR
|
|
]STEP DS 2
|
|
]HIGH DS 2
|
|
]SCRATCH DS 2
|
|
_VAR
|
|
PLA
|
|
STA ]STEP
|
|
PLA
|
|
STA ]STEP+1
|
|
PLA
|
|
STA ]HIGH
|
|
PLA
|
|
STA ]HIGH+1
|
|
PLA
|
|
STA ADDR4
|
|
PLA
|
|
STA ADDR4+1
|
|
PLA
|
|
STA ADDR2
|
|
PLA
|
|
STA ADDR2+1
|
|
LDY #0
|
|
LDA (ADDR4),Y
|
|
CMP ]HIGH
|
|
BCC LOOPER
|
|
INY
|
|
LDA (ADDR4),Y
|
|
CMP ]HIGH+1
|
|
BCC LOOPER
|
|
JMP _EXIT
|
|
LOOPER
|
|
LDY #0
|
|
LDA (ADDR4),Y
|
|
CLC
|
|
ADC ]STEP
|
|
STA (ADDR4),Y
|
|
INY
|
|
LDA (ADDR4),Y
|
|
ADC ]STEP+1
|
|
STA (ADDR4),Y
|
|
JMP (ADDR2)
|
|
_EXIT
|
|
<<<
|