2018-01-31 16:20:20 +00:00
|
|
|
|
NEW
|
|
|
|
|
PREFIX /A2OSX.BUILD
|
|
|
|
|
AUTO 4,1
|
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.Init lda #20
|
|
|
|
|
>STA.G OUT.LineCnt
|
|
|
|
|
rts
|
2018-03-23 15:57:35 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.Reset ldx #4
|
|
|
|
|
|
|
|
|
|
ldy #ASM.PC
|
|
|
|
|
|
|
|
|
|
.1 lda (pData),y
|
|
|
|
|
pha
|
|
|
|
|
iny
|
|
|
|
|
dex
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
ldx #4
|
|
|
|
|
|
|
|
|
|
ldy #OUT.PC+3
|
|
|
|
|
|
|
|
|
|
.2 pla
|
|
|
|
|
sta (pData),y
|
|
|
|
|
dey
|
|
|
|
|
dex
|
|
|
|
|
bne .2
|
2018-01-31 16:20:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
>STZ.G OUT.Buf
|
|
|
|
|
>STA.G OUT.bEquate
|
|
|
|
|
|
|
|
|
|
rts
|
2018-02-02 15:55:20 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.PrintLineErr
|
|
|
|
|
>STA.G DIR.Byte Save Error code
|
2018-02-02 15:55:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
jsr OUT.PrintLine.1
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
.1 >PUSHB.G DIR.Byte
|
|
|
|
|
>LDYA L.MSG.ERROR
|
|
|
|
|
>SYSCALL PrintF.YA
|
|
|
|
|
|
|
|
|
|
ldx ZPLinePtr
|
|
|
|
|
cpx ZPLineBuf
|
|
|
|
|
beq .4
|
|
|
|
|
|
|
|
|
|
.3 phx
|
|
|
|
|
lda #'-'
|
|
|
|
|
>SYSCALL PutChar.A
|
|
|
|
|
plx
|
|
|
|
|
bcs .9
|
|
|
|
|
dex
|
|
|
|
|
cpx ZPLineBuf
|
|
|
|
|
bne .3
|
|
|
|
|
|
|
|
|
|
.4 lda #'^'
|
|
|
|
|
phy
|
|
|
|
|
>SYSCALL PutChar.A
|
|
|
|
|
ply
|
|
|
|
|
bcs .9
|
2018-02-02 15:55:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.5 lda #13
|
|
|
|
|
>SYSCALL PutChar.A
|
|
|
|
|
lda #10
|
|
|
|
|
>SYSCALL PutChar.A
|
|
|
|
|
|
|
|
|
|
.9 rts
|
2018-02-02 15:55:20 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.PrintLine jsr OUT.PrintLineOn
|
|
|
|
|
bcs OUT.PrintLine.9
|
|
|
|
|
|
|
|
|
|
OUT.PrintLine.1 jsr OUT.PrintLineOutBuf
|
|
|
|
|
bcs OUT.PrintLine.9
|
|
|
|
|
|
|
|
|
|
>PUSHW ZPLineBuf
|
|
|
|
|
>PUSHW.G SRC.LINENUM
|
|
|
|
|
>LDYA L.MSG.SRCLINE
|
|
|
|
|
jmp OUT.Print
|
|
|
|
|
OUT.PrintLine.9 rts
|
2018-02-02 15:55:20 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.PrintLineOn clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
>LDA.G ASM.LI.ON
|
|
|
|
|
bpl .9
|
|
|
|
|
|
2018-04-06 15:10:02 +00:00
|
|
|
|
>LDA.G ASM.MA.ON MACRO Mode ?
|
2018-03-28 15:23:32 +00:00
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
>LDA.G ASM.LI.MON
|
|
|
|
|
bpl .9
|
|
|
|
|
bmi .8
|
|
|
|
|
|
|
|
|
|
.1 >LDA.G ASM.DO.StackPtr within a DO/ELSE ?
|
|
|
|
|
beq .2
|
|
|
|
|
|
|
|
|
|
clc
|
|
|
|
|
adc #ASM.DO.Stack-1
|
|
|
|
|
tay
|
|
|
|
|
lda (pData),y TRUE ?
|
|
|
|
|
bne .8 yes, print always
|
|
|
|
|
|
|
|
|
|
>LDA.G ASM.LI.CON FALSE, check CON flag...
|
|
|
|
|
bpl .9
|
|
|
|
|
bmi .8
|
|
|
|
|
|
2018-02-05 07:09:38 +00:00
|
|
|
|
.2
|
2018-03-28 15:23:32 +00:00
|
|
|
|
|
|
|
|
|
.8 clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.9 sec
|
|
|
|
|
rts
|
2018-02-02 15:55:20 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.PrintLineOutBuf
|
|
|
|
|
>LDA.G OUT.bEquate
|
|
|
|
|
bne OUT.PrintLineAcc
|
|
|
|
|
|
|
|
|
|
>LDA.G OUT.Buf
|
|
|
|
|
beq .2
|
|
|
|
|
|
|
|
|
|
tax
|
|
|
|
|
clc
|
|
|
|
|
adc #OUT.Buf
|
|
|
|
|
tay
|
|
|
|
|
|
|
|
|
|
.1 >PUSHB (pData),y
|
|
|
|
|
dey
|
|
|
|
|
dex
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
.2 ldy #OUT.PC+1
|
|
|
|
|
>PUSHB (pData),y
|
|
|
|
|
dey
|
|
|
|
|
>PUSHB (pData),y
|
|
|
|
|
|
|
|
|
|
>LDA.G OUT.Buf
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
ldy L.MSG.OUT0,x
|
|
|
|
|
lda L.MSG.OUT0+1,x
|
|
|
|
|
>SYSCALL PrintF.YA
|
|
|
|
|
rts
|
2018-02-02 15:55:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.PrintLineAcc
|
|
|
|
|
ldx SRC.ACC.SIZE
|
|
|
|
|
beq .2
|
|
|
|
|
|
|
|
|
|
ldy #0
|
|
|
|
|
|
|
|
|
|
.1 >PUSHB SRC.ACC,y
|
|
|
|
|
iny
|
|
|
|
|
dex
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
lda SRC.ACC.SIZE
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
|
|
|
|
|
.2 ldy L.MSG.EQU0,x
|
|
|
|
|
lda L.MSG.EQU0+1,x
|
|
|
|
|
>SYSCALL PrintF.YA
|
|
|
|
|
rts
|
2018-03-23 15:57:35 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.Print >SYSCALL PrintF.YA
|
|
|
|
|
bra OUT.Print1
|
|
|
|
|
|
|
|
|
|
OUT.PrintCR lda #13
|
|
|
|
|
>SYSCALL PutChar.A
|
|
|
|
|
lda #10
|
|
|
|
|
>SYSCALL PutChar.A
|
2018-03-23 15:57:35 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.Print1 >DEC.G OUT.LineCnt
|
|
|
|
|
bne .8
|
|
|
|
|
|
|
|
|
|
lda #20
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
2018-04-06 15:10:02 +00:00
|
|
|
|
lda #$80
|
|
|
|
|
>STA.G bPause
|
2018-03-23 15:57:35 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.8 rts
|
2018-01-31 16:20:20 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
OUT.EmitByte phy
|
|
|
|
|
phx
|
|
|
|
|
pha
|
2018-03-19 16:48:41 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
>LDA.G OUT.Buf
|
|
|
|
|
cmp #3
|
|
|
|
|
bne .2
|
2018-01-31 16:20:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
jsr OUT.PrintLineOn
|
|
|
|
|
bcs .1
|
|
|
|
|
|
|
|
|
|
>LDA.G ASM.LI.XON
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
jsr OUT.PrintLineOutBuf
|
|
|
|
|
jsr OUT.PrintCR
|
|
|
|
|
|
|
|
|
|
.1 jsr OUT.Reset
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
ldy #OUT.Buf
|
|
|
|
|
|
|
|
|
|
.2 inc
|
|
|
|
|
sta (pData),y
|
|
|
|
|
clc
|
|
|
|
|
adc #OUT.Buf
|
|
|
|
|
tay
|
|
|
|
|
|
|
|
|
|
pla
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
|
|
|
|
.8 >INC.G ASM.PC
|
|
|
|
|
bne .80
|
|
|
|
|
>INC.G ASM.PC+1
|
|
|
|
|
bne .80
|
|
|
|
|
>INC.G ASM.PC+2
|
|
|
|
|
bne .80
|
|
|
|
|
>INC.G ASM.PC+3
|
2018-01-31 16:20:20 +00:00
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.80 plx
|
|
|
|
|
ply
|
|
|
|
|
clc
|
|
|
|
|
rts
|
2018-01-31 16:20:20 +00:00
|
|
|
|
*---------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.OUT
|
|
|
|
|
LOAD /A2OSX.BUILD/BIN/DEV/ASM.S
|
|
|
|
|
ASM
|