AppleIIAsm-Collection/source/d12_applechop/T.MIN.MAC.IFSTRUCT.ASM
nathanriggs 9b12b6fd9b HOUSEKEEPING
- 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
2019-12-17 17:19:24 -05:00

451 lines
8.4 KiB
NASM

IFJ MAC
STA SCRATCH
LDA ]1
CMP ]3
IF ]2,E
BEQ ]J4
FIN
IF ]2,N
BNE ]J4
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
FIN
JMP ]EXIT
]J4
LDA SCRATCH
JMP ]4
]EXIT
LDA SCRATCH
<<<
IFJE MAC
STA SCRATCH
LDA ]1
CMP ]3
IF ]2,E
BEQ ]J4
JMP ]5
FIN
IF ]2,N
BNE ]J4
JMP ]5
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
JMP ]5
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
JMP ]5
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
JMP ]5
FIN
JMP ]EXIT
]J4
LDA SCRATCH
JMP ]4
]EXIT
LDA SCRATCH
<<<
IFRJ MAC
STA SCRATCH
STX RESULT
STY RESULT+1
IF ]1,A
LDA SCRATCH
FIN
IF ]1,X
LDA RESULT
FIN
IF ]1,Y
LDA RESULT+1
FIN
CMP ]3
IF ]2,E
BEQ ]J4
FIN
IF ]2,N
BNE ]J4
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
FIN
JMP ]EXIT
]J4
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JMP ]4
]EXIT
LDA SCRATCH
LDX RESULT
LDY RESULT+1
<<<
IFRJE MAC
STA SCRATCH
STX RESULT
STY RESULT+1
IF ]1,A
LDA SCRATCH
FIN
IF ]1,X
LDA RESULT
FIN
IF ]1,Y
LDA RESULT+1
FIN
CMP ]3
IF ]2,E
BEQ ]J4
JMP ]5
FIN
IF ]2,N
BNE ]J4
JMP ]5
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
JMP ]5
FIN
IF ]2,L
BCC ]J4
JMP ]5
FIN
IF ]2,)
BCS ]J4
JMP ]5
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
JMP ]5
FIN
JMP ]EXIT
]J4
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JMP ]4
]EXIT
LDA SCRATCH
LDX RESULT
LDY RESULT+1
<<<
IFS MAC
STA SCRATCH
LDA ]1
CMP ]3
IF ]2,E
BEQ ]J4
FIN
IF ]2,N
BNE ]J4
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
FIN
LDA SCRATCH
JMP ]EXIT
]J4
LDA SCRATCH
JSR ]4
]EXIT
<<<
IFSE MAC
STA SCRATCH
LDA ]1
CMP ]3
IF ]2,E
BEQ ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,N
BNE ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
LDA SCRATCH
JSR ]5
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
LDA SCRATCH
JSR ]5
FIN
LDA SCRATCH
JMP ]EXIT
]J4
LDA SCRATCH
JSR ]4
]EXIT
<<<
IFRS MAC
STA SCRATCH
STX RESULT
STY RESULT+1
IF ]1,A
LDA SCRATCH
FIN
IF ]1,X
LDA RESULT
FIN
IF ]1,Y
LDA RESULT+1
FIN
CMP ]3
IF ]2,E
BEQ ]J4
FIN
IF ]2,N
BNE ]J4
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
FIN
IF ]2,L
BCC ]J4
FIN
IF ]2,)
BCS ]J4
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
FIN
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JMP ]EXIT
]J4
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JSR ]4
]EXIT
<<<
IFRSE MAC
STA SCRATCH
STX RESULT
STY RESULT+1
IF ]1,A
LDA SCRATCH
FIN
IF ]1,X
LDA RESULT
FIN
IF ]1,Y
LDA RESULT+1
FIN
CMP ]3
IF ]2,E
BEQ ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,N
BNE ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,G
BEQ ]SKPGT
BCS ]J4
]SKPGT
LDA SCRATCH
JSR ]5
FIN
IF ]2,L
BCC ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,)
BCS ]J4
LDA SCRATCH
JSR ]5
FIN
IF ]2,(
BEQ ]J4
BCC ]J4
LDA SCRATCH
JSR ]5
FIN
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JMP ]EXIT
]J4
LDA SCRATCH
LDX RESULT
LDY RESULT+1
JSR ]4
]EXIT
<<<
IFB MAC
STA SCRATCH
]PTR EQU *
LDA ]PTR
STA ADDR1
LDA ]PTR+1
STA ADDR1/$100
_LOOP1
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
LDY #0
LDA (ADDR1),Y
CMP #$1B
BNE _LOOP1
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
LDY #0
LDA (ADDR1),Y
CMP #$9B
BNE _LOOP1
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
LDY #0
LDA (ADDR1),Y
CMP #$18
BNE _LOOP1
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
LDY #0
LDA (ADDR1),Y
CMP #$09
BNE _LOOP1
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
LDY #0
LDA (ADDR1),Y
CMP #$06
BNE _LOOP1
LDA ADDR1
LDA ]1
CMP ]3
IF ]2,E
BEQ _IFBOD
FIN
IF ]2,N
BNE _IFBOD
FIN
IF ]2,G
BEQ SKPGT
BCS _IFBOD
SKPGT
FIN
IF ]2,L
BCC _IFBOD
FIN
IF ]2,)
BCS _IFBOD
FIN
IF ]2,(
BEQ _IFBOD
BCC _IFBOD
FIN
_PRN "NOPE",8D8D
LDA ADDR1
CLC
ADC #1
STA ADDR1
LDA ADDR1+1
ADC #0
STA ADDR1+1
JMP (ADDR1)
_IFBOD
_PRN "YEP",8D8D
LDA SCRATCH
<<<
ENDIFB MAC
JMP SKIPHEX
HEX 1B9B180906
SKIPHEX
<<<