mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-23 04:29:01 +00:00
Kernel 0.9.1 : ASM rewrite....Addressing Modes
This commit is contained in:
parent
6d248041ae
commit
56ba5ecc08
Binary file not shown.
Binary file not shown.
1049
BIN/ASM.S.DIR.txt
1049
BIN/ASM.S.DIR.txt
File diff suppressed because it is too large
Load Diff
@ -15,364 +15,372 @@ AUTO 4,1
|
||||
* & = octal
|
||||
* * = PC
|
||||
*---------------------------------------
|
||||
EXP.Eval.Missing lda #ERR.MISSING.EXP
|
||||
sec
|
||||
rts
|
||||
EXP.Eval.Missing
|
||||
lda #ERR.MISSING.EXP
|
||||
sec
|
||||
rts
|
||||
|
||||
EXP.Eval >STZ.G EXP.Modifier
|
||||
>STZ.G EXP.Prefix
|
||||
>STZ.G EXP.Operator
|
||||
|
||||
jsr SRC.GetChar
|
||||
bcs EXP.Eval.Missing
|
||||
|
||||
jsr SRC.IsMODReserved
|
||||
bcs EXP.Eval.Next
|
||||
|
||||
txa
|
||||
>STA.G EXP.Modifier
|
||||
lda #'#'
|
||||
>STA.G EXP.Prefix
|
||||
|
||||
EXP.Eval.Next0 jsr SRC.GetNextChar
|
||||
|
||||
EXP.Eval.Next lda #2
|
||||
sta SRC.ACC.SIZE Default To WORD (2 bytes)
|
||||
|
||||
stz SRC.ACC
|
||||
stz SRC.ACC+1
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
|
||||
jsr SRC.GetChar
|
||||
bcs EXP.Eval.Missing
|
||||
|
||||
cmp #'.' Local Label?
|
||||
bne .12
|
||||
|
||||
jsr EXP.GetLSymIDInAcc
|
||||
bcs .14
|
||||
|
||||
jmp EXP.EvalOperator
|
||||
.14 rts
|
||||
EXP.Eval >STZ.G EXP.Modifier
|
||||
>STZ.G EXP.Prefix
|
||||
>STZ.G EXP.Operator
|
||||
|
||||
.12 cmp #'*'
|
||||
bne .10
|
||||
jsr SRC.GetChar
|
||||
bcs EXP.Eval.Missing
|
||||
|
||||
jsr SRC.IsMODReserved
|
||||
bcs EXP.Eval.Next
|
||||
|
||||
txa
|
||||
>STA.G EXP.Modifier
|
||||
lda #'#'
|
||||
>STA.G EXP.Prefix
|
||||
|
||||
EXP.Eval.Next0 jsr SRC.GetNextChar
|
||||
|
||||
EXP.Eval.Next lda #2
|
||||
sta SRC.ACC.SIZE Default To WORD (2 bytes)
|
||||
|
||||
ldy #ASM.PC+3
|
||||
ldx #3
|
||||
|
||||
.11 lda (pData),y
|
||||
sta SRC.ACC,x
|
||||
dey
|
||||
dex
|
||||
bpl .11
|
||||
stz SRC.ACC
|
||||
stz SRC.ACC+1
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
|
||||
jsr SRC.GetChar
|
||||
bcs EXP.Eval.Missing
|
||||
|
||||
cmp #'.' Local Label?
|
||||
bne .12
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
jmp EXP.EvalOperator
|
||||
|
||||
.10 jsr SRC.IsDigit10 Decimal constant ?
|
||||
bcs .1
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
|
||||
bcs EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.1 cmp #'$' Hex?
|
||||
bne .2
|
||||
|
||||
jsr SRC.GetHex
|
||||
|
||||
bcs EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
|
||||
|
||||
.2 cmp #'%' binary?
|
||||
bne .3
|
||||
jsr EXP.GetLSymIDInAcc
|
||||
bcs .14
|
||||
|
||||
jmp EXP.EvalOperator
|
||||
.14 rts
|
||||
|
||||
.12 cmp #'*'
|
||||
bne .10
|
||||
|
||||
jsr SRC.GetBinary
|
||||
|
||||
bcs EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
|
||||
|
||||
.3 cmp #'&' octal?
|
||||
bne .4
|
||||
jsr SRC.GetOctal
|
||||
|
||||
bcs EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.4 cmp #'''
|
||||
bne .43
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalExitSYN
|
||||
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'''
|
||||
bne EXP.EvalExitSYN
|
||||
jsr SRC.GetNextChar
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.43 cmp #'"'
|
||||
bne .42
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalExitSYN
|
||||
ora #$80
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'"'
|
||||
bne EXP.EvalExitSYN
|
||||
jsr SRC.GetNextChar
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.42 jsr SRC.IsLetter Symbol ?
|
||||
bcs EXP.EvalExitSYN
|
||||
ldy #ASM.PC+3
|
||||
ldx #3
|
||||
|
||||
.11 lda (pData),y
|
||||
sta SRC.ACC,x
|
||||
dey
|
||||
dex
|
||||
bpl .11
|
||||
|
||||
jsr EXP.GetGSymValueInAcc
|
||||
bcs EXP.EvalExitUND
|
||||
bra EXP.EvalOperator
|
||||
|
||||
EXP.EvalExitOK >LDA.G EXP.Modifier
|
||||
beq .8
|
||||
asl
|
||||
tax
|
||||
jmp (J.EXP.MOD-2,x)
|
||||
.8 clc
|
||||
EXP.EvalExitRTS rts
|
||||
|
||||
EXP.EvalExitSYN lda #ERR.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
jsr SRC.GetNextChar
|
||||
jmp EXP.EvalOperator
|
||||
|
||||
.10 jsr SRC.IsDigit10 Decimal constant ?
|
||||
bcs .1
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
|
||||
bcs EXP.EvalExitRTS
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.1 cmp #'$' Hex?
|
||||
bne .2
|
||||
|
||||
jsr SRC.GetHex
|
||||
|
||||
bcs EXP.EvalExitRTS
|
||||
bra EXP.EvalOperator
|
||||
|
||||
|
||||
.2 cmp #'%' binary?
|
||||
bne .3
|
||||
|
||||
EXP.EvalExitUND lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
rts
|
||||
|
||||
EXP.EvalOperator >LDA.G EXP.Operator
|
||||
beq .7
|
||||
|
||||
jsr EXP.Compute
|
||||
bcs EXP.EvalExitRTS
|
||||
|
||||
.7 jsr SRC.GetChar
|
||||
bcs EXP.EvalExitOK
|
||||
jsr SRC.GetBinary
|
||||
|
||||
bcs EXP.EvalExitRTS
|
||||
bra EXP.EvalOperator
|
||||
|
||||
|
||||
.3 cmp #'&' octal?
|
||||
bne .4
|
||||
jsr SRC.GetOctal
|
||||
|
||||
bcs EXP.EvalExitRTS
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.4 cmp #'''
|
||||
bne .43
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalExitSYN
|
||||
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'''
|
||||
bne EXP.EvalExitSYN
|
||||
jsr SRC.GetNextChar
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.43 cmp #'"'
|
||||
bne .42
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalExitSYN
|
||||
ora #$80
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'"'
|
||||
bne EXP.EvalExitSYN
|
||||
jsr SRC.GetNextChar
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.42 jsr SRC.IsLetter Symbol ?
|
||||
bcs EXP.EvalExitSYN
|
||||
|
||||
cmp #' '
|
||||
beq EXP.EvalExitOK
|
||||
jsr EXP.GetSymG
|
||||
bcs EXP.EvalExitUND
|
||||
bra EXP.EvalOperator
|
||||
|
||||
EXP.EvalExitOK >LDA.G EXP.Modifier
|
||||
beq .8
|
||||
asl
|
||||
tax
|
||||
jmp (J.EXP.MOD-2,x)
|
||||
|
||||
.8 clc
|
||||
EXP.EvalExitRTS rts
|
||||
|
||||
EXP.EvalExitSYN lda #ERR.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
|
||||
jsr SRC.IsAMReserved
|
||||
bcc EXP.EvalExitOK
|
||||
|
||||
jsr SRC.IsEXPReserved
|
||||
bcs EXP.EvalExitSYN
|
||||
txa
|
||||
>STA.G EXP.Operator
|
||||
|
||||
ldx #4
|
||||
|
||||
.8 lda SRC.ACC.SIZE,x
|
||||
sta SRC.ARG.SIZE,x
|
||||
dex
|
||||
bpl .8
|
||||
|
||||
jmp EXP.Eval.Next0
|
||||
*---------------------------------------
|
||||
EXP.GetLSymIDInAcc jsr SRC.GetNextChar
|
||||
bcs .9
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
bcs EXP.EvalExitSYN
|
||||
lda SRC.ACC+1
|
||||
ora SRC.ACC+2
|
||||
ora SRC.ACC+3
|
||||
bne EXP.EvalExitSYN Max .255
|
||||
lda SRC.ACC
|
||||
beq EXP.EvalExitSYN .0 is not allowed
|
||||
|
||||
jsr SYM.LookupLocal
|
||||
bcs EXP.EvalExitUND
|
||||
rts
|
||||
|
||||
.9 lda #ERR.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
EXP.EvalExitUND lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.GetGSymValueInAcc
|
||||
jsr SYM.LookupGlobal
|
||||
bcs .2
|
||||
|
||||
ldy #SYM.Lookup+5
|
||||
ldx #3
|
||||
|
||||
.1 lda (pData),y
|
||||
sta SRC.ACC,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda (pData),y
|
||||
and #SYMG.F.SIZE
|
||||
sta SRC.ACC.SIZE
|
||||
* clc
|
||||
rts
|
||||
|
||||
.2 >LDA.G ASM.PASS pass#2?
|
||||
bne .99 yes, undefined symbol
|
||||
|
||||
lda #0 Mark ACC as pending
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
.3 jsr SRC.GetNextChar
|
||||
bcs .8
|
||||
|
||||
jsr SRC.IsLetterOrDigit
|
||||
bcc .3
|
||||
cmp #'.'
|
||||
beq .3
|
||||
cmp #'_'
|
||||
beq .3
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
EXP.EvalOperator
|
||||
>LDA.G EXP.Operator
|
||||
beq .7
|
||||
|
||||
jsr EXP.Compute
|
||||
bcs EXP.EvalExitRTS
|
||||
|
||||
.7 jsr SRC.GetChar
|
||||
bcs EXP.EvalExitOK
|
||||
|
||||
.99 lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
EXP.SetAccA sta SRC.ACC
|
||||
stz SRC.ACC+1
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.Compute asl
|
||||
tax
|
||||
jmp (J.EXP.OP-2,x)
|
||||
*---------------------------------------
|
||||
EXP.MOD.8.3 lda SRC.ACC+2
|
||||
bra EXP.MOD.8
|
||||
EXP.MOD.8.2 lda SRC.ACC+1
|
||||
EXP.MOD.8 sta SRC.ACC
|
||||
EXP.MOD.8.1 lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
EXP.MOD.24 lda #3
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
EXP.MOD.32 lda #4
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.EOR ldx #3
|
||||
cmp #' '
|
||||
beq EXP.EvalExitOK
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
eor SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.ORA ldx #3
|
||||
jsr SRC.IsAMReserved
|
||||
bcc EXP.EvalExitOK
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
ora SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
jsr SRC.IsEXPReserved
|
||||
bcs EXP.EvalExitSYN
|
||||
txa
|
||||
>STA.G EXP.Operator
|
||||
|
||||
ldx #5
|
||||
|
||||
.8 lda SRC.ACC.F,x
|
||||
sta SRC.ARG.F,x
|
||||
dex
|
||||
bpl .8
|
||||
|
||||
jmp EXP.Eval.Next0
|
||||
*---------------------------------------
|
||||
EXP.OP.AND ldx #3
|
||||
EXP.GetLSymIDInAcc
|
||||
jsr SRC.GetNextChar
|
||||
bcs .9
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
bcs EXP.EvalExitSYN
|
||||
lda SRC.ACC+1
|
||||
ora SRC.ACC+2
|
||||
ora SRC.ACC+3
|
||||
bne EXP.EvalExitSYN Max .255
|
||||
lda SRC.ACC
|
||||
beq EXP.EvalExitSYN .0 is not allowed
|
||||
|
||||
jsr SYM.LookupLocal
|
||||
bcs EXP.EvalExitUND
|
||||
rts
|
||||
|
||||
.9 lda #ERR.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.GetSymG jsr SYM.LookupGlobal
|
||||
bcs .2
|
||||
|
||||
jsr SYM.Lookup2Acc
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.2 >LDA.G ASM.PASS pass#2?
|
||||
bne .99 yes, undefined symbol
|
||||
|
||||
lda #0 Mark ACC as pending
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
.3 jsr SRC.GetNextChar
|
||||
bcs .8
|
||||
|
||||
jsr SRC.IsLetterOrDigit
|
||||
bcc .3
|
||||
cmp #'.'
|
||||
beq .3
|
||||
cmp #'_'
|
||||
beq .3
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
and SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
.99 lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
EXP.OP.LOW clc
|
||||
rts
|
||||
EXP.SetAccA sta SRC.ACC
|
||||
stz SRC.ACC+1
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.EQU ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
clc il not Equals, return 0
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
eor SRC.ACC,x
|
||||
bne .2
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
EXP.Compute lda SRC.ACC.F
|
||||
and SRC.ARG.F
|
||||
and #SYMG.F.RESOLVED
|
||||
beq .1
|
||||
|
||||
asl
|
||||
tax
|
||||
jmp (J.EXP.OP-2,x)
|
||||
|
||||
.1 >LDA.G ASM.PASS
|
||||
beq .8
|
||||
|
||||
lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.MOD.8.3 lda SRC.ACC+2
|
||||
bra EXP.MOD.8
|
||||
EXP.MOD.8.2 lda SRC.ACC+1
|
||||
EXP.MOD.8 sta SRC.ACC
|
||||
EXP.MOD.8.1 lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
EXP.MOD.24 lda #3
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
EXP.MOD.32 lda #4
|
||||
sta SRC.ACC.SIZE
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.EOR ldx #3
|
||||
|
||||
sec equals, return 1
|
||||
|
||||
.2 lda #0
|
||||
rol
|
||||
sta SRC.ACC
|
||||
.1 lda SRC.ARG,x
|
||||
eor SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.ORA ldx #3
|
||||
|
||||
lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
.9 rts
|
||||
.1 lda SRC.ARG,x
|
||||
ora SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.AND ldx #3
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
and SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.LOW clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.EQU ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
clc il not Equals, return 0
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
eor SRC.ACC,x
|
||||
bne .2
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
sec equals, return 1
|
||||
|
||||
.2 lda #0
|
||||
rol
|
||||
sta SRC.ACC
|
||||
|
||||
lda #1
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
EXP.OP.GRT
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.ADD ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
clc
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
adc SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
bcc .8
|
||||
|
||||
lda #ERR.VAL.TOO.BIG
|
||||
.8 rts
|
||||
EXP.OP.ADD ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
clc
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
adc SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
bcc .8
|
||||
|
||||
lda #ERR.VAL.TOO.BIG
|
||||
.8 rts
|
||||
*---------------------------------------
|
||||
EXP.OP.SUB ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
sec
|
||||
EXP.OP.SUB ldx #0 ARG-ACC->ACC
|
||||
ldy #4
|
||||
|
||||
sec
|
||||
|
||||
.1 lda SRC.ARG,x
|
||||
sbc SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
bcs .8
|
||||
|
||||
lda #ERR.VAL.TOO.BIG
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
.1 lda SRC.ARG,x
|
||||
sbc SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
bcs .8
|
||||
|
||||
lda #ERR.VAL.TOO.BIG
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
EXP.OP.MUL
|
||||
*---------------------------------------
|
||||
EXP.OP.DIV
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.EXP
|
||||
|
@ -2,336 +2,337 @@ NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
FIO.Init >LDYA L.ASM.6502
|
||||
FIO.LOAD.ASM.T >STYA ZPPtr2
|
||||
FIO.Init >LDYA L.ASM.6502
|
||||
FIO.LOAD.ASM.T >STYA ZPPtr2
|
||||
|
||||
ldy #S.PS.hARGS
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
ldy #S.PS.hARGS
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
ldx #$ff
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
ldx #$ff
|
||||
|
||||
.1 iny
|
||||
inx
|
||||
lda (ZPPtr1),y
|
||||
sta ASM.T.FILENAME,x
|
||||
bne .1
|
||||
|
||||
lda #'.'
|
||||
sta ASM.T.FILENAME,x
|
||||
inx
|
||||
lda (ZPPtr1),y
|
||||
sta ASM.T.FILENAME,x
|
||||
bne .1
|
||||
|
||||
lda #'.'
|
||||
sta ASM.T.FILENAME,x
|
||||
|
||||
inx
|
||||
inx
|
||||
|
||||
lda #'T'
|
||||
sta ASM.T.FILENAME,x
|
||||
lda #'T'
|
||||
sta ASM.T.FILENAME,x
|
||||
|
||||
inx
|
||||
inx
|
||||
|
||||
lda #'.'
|
||||
sta ASM.T.FILENAME,x
|
||||
|
||||
ldy #$ff
|
||||
lda #'.'
|
||||
sta ASM.T.FILENAME,x
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.2 iny
|
||||
inx
|
||||
lda (ZPPtr2),y
|
||||
jsr SRC.IsLetterOrDigit
|
||||
bcs .3
|
||||
sta ASM.T.FILENAME,x
|
||||
bra .2
|
||||
|
||||
.3 stz ASM.T.FILENAME,x
|
||||
ldy #ASM.T.hMem
|
||||
lda (pData),y
|
||||
beq .4
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
ldy #ASM.T.hMem
|
||||
lda #0
|
||||
sta (pData),y
|
||||
|
||||
.4 >PUSHW L.ASM.T.FILENAME
|
||||
>LDYA L.MSG.T.FILE
|
||||
jsr OUT.Print
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI 6 S.FI.T.BIN
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.ASM.T.FILENAME
|
||||
>SYSCALL LoadFile
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
ldy #ASM.T.hMem
|
||||
sta (pData),y
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
>STYA ZPPtr1
|
||||
.2 iny
|
||||
inx
|
||||
lda (ZPPtr2),y
|
||||
jsr SRC.IsLetterOrDigit
|
||||
bcs .3
|
||||
sta ASM.T.FILENAME,x
|
||||
bra .2
|
||||
|
||||
.3 stz ASM.T.FILENAME,x
|
||||
ldy #ASM.T.hMem
|
||||
lda (pData),y
|
||||
beq .4
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
ldy #ASM.T.hMem
|
||||
lda #0
|
||||
sta (pData),y
|
||||
|
||||
.4 >PUSHW L.ASM.T.FILENAME
|
||||
>LDYA L.MSG.T.FILE
|
||||
jsr OUT.Print
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI 6 S.FI.T.BIN
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.ASM.T.FILENAME
|
||||
>SYSCALL LoadFile
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
ldy #ASM.T.hMem
|
||||
sta (pData),y
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #ASM.T.AM
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPAMPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPAMPtr+1
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPRPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPRPtr+1
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPOpsPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPOpsPtr+1
|
||||
|
||||
.9 rts
|
||||
ldy #ASM.T.AM
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPAMPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPAMPtr+1
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPRPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPRPtr+1
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPOpsPtr
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPOpsPtr+1
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
FIO.OpenFile >STYA ZPPtr1
|
||||
|
||||
>PUSHW ZPPtr1
|
||||
>LDYA L.MSG.SRC.FILE
|
||||
jsr OUT.Print
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
cmp #SRC.IN.MAXDEPTH
|
||||
bne .1
|
||||
|
||||
lda #ERR.SRC.TOO.MANY.IN
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 >PUSHW L.FIO.Stat
|
||||
>PUSHW ZPPtr1
|
||||
>SYSCALL Stat
|
||||
bcs .99
|
||||
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
cmp #$04 TXT ?
|
||||
bne .2
|
||||
FIO.OpenFile >STYA ZPPtr1
|
||||
|
||||
>PUSHW ZPPtr1
|
||||
>LDYA L.MSG.SRC.FILE
|
||||
jsr OUT.Print
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
cmp #SRC.IN.MAXDEPTH
|
||||
bne .1
|
||||
|
||||
lda #ERR.SRC.TOO.MANY.IN
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 >PUSHW L.FIO.Stat
|
||||
>PUSHW ZPPtr1
|
||||
>SYSCALL Stat
|
||||
bcs .99
|
||||
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
cmp #$04 TXT ?
|
||||
bne .2
|
||||
|
||||
>PUSHWI 0
|
||||
>PUSHBI 4
|
||||
>PUSHBI SYS.FOpen.R+SYS.FOpen.T
|
||||
bra .3
|
||||
|
||||
.2 cmp #$FA S-C/BAS?
|
||||
bne .98
|
||||
|
||||
>PUSHWI 0
|
||||
>PUSHBI $FA
|
||||
>PUSHBI SYS.FOpen.R
|
||||
|
||||
.3 >PUSHW ZPPtr1
|
||||
>SYSCALL FOpen
|
||||
bcs .99
|
||||
|
||||
pha
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILES
|
||||
tay
|
||||
pla
|
||||
sta (pData),y
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILETYPES
|
||||
tay
|
||||
>PUSHWI 0
|
||||
>PUSHBI 4
|
||||
>PUSHBI SYS.FOpen.R+SYS.FOpen.T
|
||||
bra .3
|
||||
|
||||
.2 cmp #$FA S-C/BAS?
|
||||
bne .98
|
||||
|
||||
>PUSHWI 0
|
||||
>PUSHBI $FA
|
||||
>PUSHBI SYS.FOpen.R
|
||||
|
||||
.3 >PUSHW ZPPtr1
|
||||
>SYSCALL FOpen
|
||||
bcs .99
|
||||
|
||||
pha
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILES
|
||||
tay
|
||||
pla
|
||||
sta (pData),y
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILETYPES
|
||||
tay
|
||||
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
sta (pData),y
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
sta (pData),y
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
inc
|
||||
sta (pData),y
|
||||
|
||||
lda #0
|
||||
>STA.G SRC.LINENUM
|
||||
iny
|
||||
sta (pData),y
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.98 lda #ERR.SRC.INV.TYPE
|
||||
|
||||
sec
|
||||
.99 rts
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
inc
|
||||
sta (pData),y
|
||||
|
||||
lda #0
|
||||
>STA.G SRC.LINENUM
|
||||
iny
|
||||
sta (pData),y
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.98 lda #ERR.SRC.INV.TYPE
|
||||
|
||||
sec
|
||||
.99 rts
|
||||
*---------------------------------------
|
||||
FIO.ReadLine >LDYA ZPLineBuf
|
||||
>STYA ZPLinePtr
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILETYPES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
bmi .10
|
||||
FIO.ReadLine >LDYA ZPLineBuf
|
||||
>STYA ZPLinePtr
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILETYPES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
bmi .10
|
||||
|
||||
>PUSHW ZPLineBuf
|
||||
>PUSHWI 256
|
||||
>PUSHW ZPLineBuf
|
||||
>PUSHWI 256
|
||||
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .19
|
||||
|
||||
tya
|
||||
beq .13
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .19
|
||||
|
||||
tya
|
||||
beq .13
|
||||
|
||||
dey
|
||||
|
||||
lda #0 replace ending $0D with $00
|
||||
.13 sta (ZPLineBuf),y
|
||||
dey
|
||||
|
||||
>INC.G SRC.LINENUM
|
||||
bne .19
|
||||
>INC.G SRC.LINENUM+1
|
||||
.19 rts
|
||||
lda #0 replace ending $0D with $00
|
||||
.13 sta (ZPLineBuf),y
|
||||
|
||||
>INC.G SRC.LINENUM
|
||||
bne .19
|
||||
>INC.G SRC.LINENUM+1
|
||||
.19 rts
|
||||
*---------------------------------------
|
||||
.10 >PUSHW ZPTmpBuf
|
||||
>PUSHWI 3
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .19
|
||||
.10 >PUSHW ZPTmpBuf
|
||||
>PUSHWI 3
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .19
|
||||
|
||||
ldy #1
|
||||
lda (ZPTmpBuf),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPTmpBuf),y
|
||||
>STA.G SRC.LINENUM+1
|
||||
pla
|
||||
>STA.G SRC.LINENUM
|
||||
|
||||
lda (ZPTmpBuf) LEN
|
||||
sec
|
||||
sbc #3
|
||||
bcc .9 LEN should be at least 3
|
||||
ldy #1
|
||||
lda (ZPTmpBuf),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPTmpBuf),y
|
||||
>STA.G SRC.LINENUM+1
|
||||
pla
|
||||
>STA.G SRC.LINENUM
|
||||
|
||||
lda (ZPTmpBuf) LEN
|
||||
sec
|
||||
sbc #3
|
||||
bcc .9 LEN should be at least 3
|
||||
|
||||
tay
|
||||
>PUSHW ZPTmpBuf
|
||||
lda #0
|
||||
>PUSHYA
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .9
|
||||
|
||||
>LDYA ZPTmpBuf
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
inc ZPPtr1
|
||||
bne .11
|
||||
inc ZPPtr1+1
|
||||
|
||||
.11 tax
|
||||
bmi .2
|
||||
|
||||
sta (ZPLineBuf),y
|
||||
beq .8 Ending 00
|
||||
tay
|
||||
>PUSHW ZPTmpBuf
|
||||
lda #0
|
||||
>PUSHYA
|
||||
jsr FIO.ReadFromFile
|
||||
bcs .9
|
||||
|
||||
>LDYA ZPTmpBuf
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
inc ZPPtr1
|
||||
bne .11
|
||||
inc ZPPtr1+1
|
||||
|
||||
.11 tax
|
||||
bmi .2
|
||||
|
||||
sta (ZPLineBuf),y
|
||||
beq .8 Ending 00
|
||||
|
||||
iny
|
||||
bne .1
|
||||
bra .99
|
||||
|
||||
.2 cmp #$C0 REPEAT char?
|
||||
bne .5
|
||||
iny
|
||||
bne .1
|
||||
bra .99
|
||||
|
||||
.2 cmp #$C0 REPEAT char?
|
||||
bne .5
|
||||
|
||||
lda (ZPPtr1) Get Repeat Count
|
||||
inc ZPPtr1
|
||||
bne .3
|
||||
inc ZPPtr1+1
|
||||
|
||||
.3 tax
|
||||
lda (ZPPtr1) Get Repeat Count
|
||||
inc ZPPtr1
|
||||
bne .3
|
||||
inc ZPPtr1+1
|
||||
|
||||
.3 tax
|
||||
|
||||
lda (ZPPtr1) Get Repeat Char
|
||||
inc ZPPtr1
|
||||
bne .4
|
||||
inc ZPPtr1+1
|
||||
|
||||
.4 sta (ZPLineBuf),y
|
||||
|
||||
iny
|
||||
beq .99
|
||||
dex
|
||||
bne .4
|
||||
lda (ZPPtr1) Get Repeat Char
|
||||
inc ZPPtr1
|
||||
bne .4
|
||||
inc ZPPtr1+1
|
||||
|
||||
.4 sta (ZPLineBuf),y
|
||||
|
||||
iny
|
||||
beq .99
|
||||
dex
|
||||
bne .4
|
||||
|
||||
bra .1
|
||||
|
||||
.5 and #$3F Compute blank count
|
||||
tax
|
||||
lda #$20
|
||||
|
||||
.6 sta (ZPLineBuf),y
|
||||
iny
|
||||
beq .99
|
||||
|
||||
dex
|
||||
bne .6
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
bra .1
|
||||
|
||||
.5 and #$3F Compute blank count
|
||||
tax
|
||||
lda #$20
|
||||
|
||||
.6 sta (ZPLineBuf),y
|
||||
iny
|
||||
beq .99
|
||||
|
||||
dex
|
||||
bne .6
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
|
||||
.99 lda #ERR.LINE.TOO.LONG
|
||||
sec
|
||||
rts
|
||||
.99 lda #ERR.LINE.TOO.LONG
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
FIO.ReadFromFile ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
>PUSHA
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
tax $100 byte transfered ?
|
||||
beq .9
|
||||
|
||||
lda #ERR.LINE.TOO.LONG
|
||||
sec
|
||||
.9 rts
|
||||
FIO.ReadFromFile
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
clc
|
||||
adc #SRC.hFILES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
>PUSHA
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
tax $100 byte transfered ?
|
||||
beq .9
|
||||
|
||||
lda #ERR.LINE.TOO.LONG
|
||||
sec
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
FIO.FileClose ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
beq .8
|
||||
|
||||
clc
|
||||
adc #SRC.hFILES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
>SYSCALL FClose.A
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
dec
|
||||
sta (pData),y
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
FIO.FileClose ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
beq .8
|
||||
|
||||
clc
|
||||
adc #SRC.hFILES-1
|
||||
tay
|
||||
lda (pData),y
|
||||
>SYSCALL FClose.A
|
||||
|
||||
ldy #SRC.COUNT
|
||||
lda (pData),y
|
||||
dec
|
||||
sta (pData),y
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.FIO
|
||||
|
@ -2,83 +2,83 @@ NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
MAC.Init >SYSCALL SListNew
|
||||
bcs .9
|
||||
MAC.Init >SYSCALL SListNew
|
||||
bcs .9
|
||||
|
||||
>STA.G MAC.hMacros
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPMacroBuf
|
||||
txa
|
||||
>STA.G MAC.hBuf
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.Quit >LDA.G MAC.hBuf
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G MAC.hMacros
|
||||
beq .8
|
||||
>SYSCALL SListFree.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.New lda #0
|
||||
tay
|
||||
|
||||
.1 sta (ZPMacroBuf),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
tax
|
||||
lda (ZPMacroBuf)
|
||||
* cmp #254
|
||||
* beq .9 CS if EQ
|
||||
|
||||
inc
|
||||
sta (ZPMacroBuf)
|
||||
|
||||
tay
|
||||
txa
|
||||
|
||||
sta (ZPMacroBuf),y
|
||||
|
||||
tax
|
||||
beq .1
|
||||
|
||||
* >SYSCALL PutChar.A
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.1
|
||||
* lda #13
|
||||
* >SYSCALL PutChar.A
|
||||
* lda #10
|
||||
* >SYSCALL PutChar.A
|
||||
>STA.G MAC.hMacros
|
||||
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPMacroBuf
|
||||
txa
|
||||
>STA.G MAC.hBuf
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.Store >LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
MAC.Quit >LDA.G MAC.hBuf
|
||||
beq .1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G MAC.hMacros
|
||||
beq .8
|
||||
>SYSCALL SListFree.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.New lda #0
|
||||
tay
|
||||
|
||||
.1 sta (ZPMacroBuf),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
tax
|
||||
lda (ZPMacroBuf)
|
||||
* cmp #254
|
||||
* beq .9 CS if EQ
|
||||
|
||||
inc
|
||||
sta (ZPMacroBuf)
|
||||
|
||||
tay
|
||||
txa
|
||||
|
||||
sta (ZPMacroBuf),y
|
||||
|
||||
tax
|
||||
beq .1
|
||||
|
||||
* >SYSCALL PutChar.A
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.1
|
||||
* lda #13
|
||||
* >SYSCALL PutChar.A
|
||||
* lda #10
|
||||
* >SYSCALL PutChar.A
|
||||
|
||||
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.Store >LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
|
||||
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.MAC
|
||||
LOAD /A2OSX.BUILD/BIN/DEV/ASM.S
|
||||
|
@ -2,225 +2,228 @@ NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
OUT.Init lda #20
|
||||
>STA.G OUT.LineCnt
|
||||
rts
|
||||
OUT.Init lda #20
|
||||
>STA.G OUT.LineCnt
|
||||
rts
|
||||
*---------------------------------------
|
||||
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
|
||||
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
|
||||
|
||||
>STZ.G OUT.Buf
|
||||
>STA.G OUT.bEquate
|
||||
|
||||
rts
|
||||
>STZ.G OUT.Buf
|
||||
>STA.G OUT.bEquate
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
OUT.PrintLineErr >STA.G DIR.Byte Save Error code
|
||||
OUT.PrintLineErr
|
||||
>STA.G DIR.Byte Save Error code
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
.5 lda #13
|
||||
>SYSCALL PutChar.A
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
|
||||
.9 rts
|
||||
.5 lda #13
|
||||
>SYSCALL PutChar.A
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
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
|
||||
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
|
||||
*---------------------------------------
|
||||
OUT.PrintLineOn clc
|
||||
rts
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .9
|
||||
|
||||
>LDA.G MAC.bAdd MACRO Mode ?
|
||||
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
|
||||
|
||||
OUT.PrintLineOn clc
|
||||
rts
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .9
|
||||
|
||||
>LDA.G MAC.bAdd MACRO Mode ?
|
||||
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
|
||||
|
||||
.2
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
*---------------------------------------
|
||||
OUT.Print >SYSCALL PrintF.YA
|
||||
bra OUT.Print1
|
||||
|
||||
OUT.PrintCR lda #13
|
||||
>SYSCALL PutChar.A
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
OUT.Print >SYSCALL PrintF.YA
|
||||
bra OUT.Print1
|
||||
|
||||
OUT.PrintCR lda #13
|
||||
>SYSCALL PutChar.A
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
|
||||
OUT.Print1 >DEC.G OUT.LineCnt
|
||||
bne .8
|
||||
|
||||
lda #20
|
||||
sta (pData),y
|
||||
|
||||
>DEBUG
|
||||
OUT.Print1 >DEC.G OUT.LineCnt
|
||||
bne .8
|
||||
|
||||
lda #20
|
||||
sta (pData),y
|
||||
|
||||
>DEBUG
|
||||
|
||||
.8 rts
|
||||
.8 rts
|
||||
*---------------------------------------
|
||||
OUT.EmitByte phy
|
||||
phx
|
||||
pha
|
||||
OUT.EmitByte phy
|
||||
phx
|
||||
pha
|
||||
|
||||
>LDA.G OUT.Buf
|
||||
cmp #3
|
||||
bne .2
|
||||
>LDA.G OUT.Buf
|
||||
cmp #3
|
||||
bne .2
|
||||
|
||||
jsr OUT.PrintLineOn
|
||||
bcs .1
|
||||
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
|
||||
|
||||
>LDA.G ASM.LI.XON
|
||||
bpl .1
|
||||
.2 inc
|
||||
sta (pData),y
|
||||
clc
|
||||
adc #OUT.Buf
|
||||
tay
|
||||
|
||||
jsr OUT.PrintLineOutBuf
|
||||
jsr OUT.PrintCR
|
||||
pla
|
||||
sta (pData),y
|
||||
|
||||
.1 jsr OUT.Reset
|
||||
|
||||
lda #0
|
||||
ldy #OUT.Buf
|
||||
.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
|
||||
|
||||
.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
|
||||
|
||||
.80 plx
|
||||
ply
|
||||
clc
|
||||
rts
|
||||
.80 plx
|
||||
ply
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.OUT
|
||||
|
1847
BIN/ASM.S.SRC.txt
1847
BIN/ASM.S.SRC.txt
File diff suppressed because it is too large
Load Diff
@ -11,12 +11,387 @@ AUTO 4,1
|
||||
* 2-5 : 32 bits Value
|
||||
* 6+ : Local Symbols.....
|
||||
*---------------------------------------
|
||||
SYM.Init >SYSCALL SListNew
|
||||
bcs .9
|
||||
|
||||
>STA.G SYM.hGlobalList
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPNameBuf
|
||||
txa
|
||||
>STA.G SYM.hNameBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPGlobalBuf
|
||||
txa
|
||||
>STA.G SYM.hGlobalBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPLookupBuf
|
||||
txa
|
||||
>STA.G SYM.hLookupBuf
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.Reset lda #0
|
||||
sta (ZPGlobalBuf)
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Quit >LDA.G SYM.hLookupBuf
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G SYM.hNameBuf
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.2 >LDA.G SYM.hGlobalBuf
|
||||
beq .3
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
.3 >LDA.G SYM.hGlobalList
|
||||
beq .8
|
||||
>SYSCALL SListFree.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Dump stz ZPLinePtr
|
||||
stz ZPLinePtr+1
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .1
|
||||
|
||||
>LDYA L.MSG.SYMBOLS
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
.1 >PUSHB.G SYM.hGlobalList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListGetByID
|
||||
bcs .8
|
||||
|
||||
stx ZPLinePtr Save Next ID
|
||||
sty ZPLinePtr+1
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .1
|
||||
|
||||
lda (ZPGlobalBuf)
|
||||
sec
|
||||
adc ZPGlobalBuf
|
||||
sta ZPPtr1
|
||||
lda ZPGlobalBuf+1
|
||||
adc #0
|
||||
sta ZPPtr1+1
|
||||
|
||||
ldy #SYMG.F Get Symbol Size
|
||||
lda (ZPPtr1),y
|
||||
and #SYMG.F.SIZE
|
||||
beq .3
|
||||
|
||||
pha
|
||||
tax
|
||||
|
||||
iny SYMG.V
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
iny
|
||||
dex
|
||||
bne .2
|
||||
|
||||
pla
|
||||
asl
|
||||
|
||||
.3 tax
|
||||
ldy L.MSG.EQU0,x
|
||||
lda L.MSG.EQU0+1,x
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
>PUSHW ZPGlobalBuf Label (PString)
|
||||
|
||||
>LDYA L.MSG.PSTRCRLF
|
||||
>SYSCALL PrintF.YA
|
||||
bcs .9
|
||||
|
||||
|
||||
|
||||
|
||||
jmp .1
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.NewOrGetGlobal
|
||||
>LDA.G ASM.PASS
|
||||
bne SYM.GetGlobal Pass #2: should be already defined...
|
||||
|
||||
SYM.NewGlobal jsr SYM.LookupGlobal Pass #1; try to add global...
|
||||
bcc .9 Already Defined
|
||||
|
||||
jsr SYM.GetName
|
||||
bcs .99
|
||||
|
||||
jsr SYM.PC2Global A=PC Size
|
||||
|
||||
lda #SYMG.SIZE-1
|
||||
sta (ZPGlobalBuf)
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda #ERR.SYMBOL.REDEF
|
||||
sec
|
||||
.99 rts
|
||||
*---------------------------------------
|
||||
SYM.GetGlobal >PUSHB.G SYM.hGlobalList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListLookup
|
||||
|
||||
bcs .9
|
||||
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .1
|
||||
|
||||
inc ZPLinePtr+1
|
||||
clc
|
||||
|
||||
.1 tya
|
||||
>STA.G SYM.GlobalID+1
|
||||
txa
|
||||
>STA.G SYM.GlobalID
|
||||
rts
|
||||
|
||||
.9 lda #ERR.UNDEF.SYMBOL
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupGlobal
|
||||
>PUSHB.G SYM.hGlobalList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPLookupBuf
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .8
|
||||
|
||||
inc ZPLinePtr+1
|
||||
clc
|
||||
|
||||
.8
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.FlushGlobal lda (ZPGlobalBuf)
|
||||
beq .8
|
||||
|
||||
>PUSHB.G SYM.hGlobalList
|
||||
|
||||
>LDA.G ASM.PASS
|
||||
bne .2
|
||||
|
||||
>PUSHW ZPNameBuf
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListAdd
|
||||
rts
|
||||
|
||||
.2 >PUSHW.G SYM.GlobalID
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListUpdateByID
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.GetName jsr SRC.GetChar
|
||||
bcs .9
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 jsr SRC.IsLetterOrDigit
|
||||
bcc .2
|
||||
cmp #'.'
|
||||
beq .2
|
||||
cmp #'_'
|
||||
bne .8
|
||||
|
||||
.2 sta (ZPNameBuf),y
|
||||
iny
|
||||
jsr SRC.GetNextChar
|
||||
bcc .1
|
||||
|
||||
.8 lda #0
|
||||
sta (ZPNameBuf),y
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda #ERR.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.PC2Global ldx #4
|
||||
|
||||
ldy #ASM.PC
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
iny
|
||||
dex
|
||||
bne .1
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #SYMG.V+3
|
||||
|
||||
.2 pla
|
||||
sta (ZPGlobalBuf),y
|
||||
dey
|
||||
dex
|
||||
bne .2
|
||||
|
||||
ldx #4
|
||||
ldy #ASM.PC+3
|
||||
|
||||
.3 lda (ZPGlobalBuf),y
|
||||
bne .4
|
||||
dex
|
||||
dey
|
||||
bne .3
|
||||
|
||||
.4 txa
|
||||
|
||||
ora #SYMG.F.RESOLVED
|
||||
ldy #SYMG.F
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
txa A=PC Size
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Acc2Global ldx #3
|
||||
ldy #SYMG.V+3
|
||||
|
||||
.1 lda SRC.ACC,x
|
||||
sta (ZPGlobalBuf),y
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda SRC.ACC.SIZE
|
||||
|
||||
ora SRC.ACC.F
|
||||
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Lookup2Acc ldy #SYMG.V+3
|
||||
ldx #3
|
||||
|
||||
.1 lda (ZPLookupBuf),y
|
||||
sta SRC.ACC,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda (ZPLookupBuf),y
|
||||
and #SYMG.F.SIZE
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
lda (ZPLookupBuf),y
|
||||
and #SYMG.F.SIZE^$ff
|
||||
sta SRC.ACC.F
|
||||
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
* Local Symbol Record: (6 bytes)
|
||||
* 0 : Local ID (1->255)
|
||||
* 1 : Flags:
|
||||
* b7=0=pending,1=resolved
|
||||
* 2-5 : 32 bits Value (PC)
|
||||
*---------------------------------------
|
||||
SYM.NewOrGetLocalA
|
||||
tax Save ID
|
||||
|
||||
>LDA.G ASM.PASS
|
||||
bne SYM.GetLocal Pass #2: should be already defined...
|
||||
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.AddLocal lda (ZPGlobalBuf)
|
||||
tay
|
||||
clc
|
||||
adc #SYML.SIZE
|
||||
bcs .9
|
||||
|
||||
txa Get Back ID
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
iny
|
||||
phy
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #ASM.PC+3
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
dey
|
||||
dex
|
||||
bne .1
|
||||
|
||||
ldx #4
|
||||
|
||||
ply
|
||||
|
||||
.2 pla
|
||||
sta (ZPGlobalBuf),y
|
||||
iny
|
||||
dex
|
||||
bne .2
|
||||
|
||||
lda #0
|
||||
sta (ZPGlobalBuf),y
|
||||
tya
|
||||
sta (ZPGlobalBuf)
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 lda #ERR.TOO.MANY.LOCAL
|
||||
* sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.GetLocal
|
||||
|
||||
|
||||
*---------------------------------------
|
||||
SYM.LookupLocal lda #2
|
||||
sta SRC.ACC.SIZE
|
||||
lda #$FF
|
||||
sta SRC.ACC
|
||||
sta SRC.ACC+1
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
* Private Symbol Record: (9 bytes)
|
||||
* 0 : Len (8)
|
||||
* 1 : Flags:
|
||||
@ -25,322 +400,21 @@ AUTO 4,1
|
||||
* 6,7 : MCID (Macro Context ID)
|
||||
* 8 : Private ID (0->255)
|
||||
*---------------------------------------
|
||||
SYM.Init >SYSCALL SListNew
|
||||
bcs .9
|
||||
|
||||
>STA.G SYM.hGlobals
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPGlobalBuf
|
||||
txa
|
||||
>STA.G SYM.hGlobalBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPLookupBuf
|
||||
txa
|
||||
>STA.G SYM.hLookupBuf
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.Reset lda #0
|
||||
sta (ZPGlobalBuf)
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Quit >LDA.G SYM.hLookpBuf
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G SYM.hGlobalBuf
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.2 >LDA.G SYM.hGlobals
|
||||
beq .8
|
||||
>SYSCALL SListFree.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Dump stz ZPLinePtr
|
||||
stz ZPLinePtr+1
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .1
|
||||
|
||||
>LDYA L.MSG.SYMBOLS
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
.1 >PUSHB.G SYM.hGlobals
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPTmpBuf
|
||||
>SYSCALL SListGetByID
|
||||
bcs .8
|
||||
stx ZPLinePtr Save Next ID
|
||||
sty ZPLinePtr+1
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .1
|
||||
|
||||
lda (ZPTmpBuf)
|
||||
sec
|
||||
adc ZPTmpBuf
|
||||
sta ZPPtr1
|
||||
lda ZPTmpBuf+1
|
||||
adc #0
|
||||
sta ZPPtr1+1
|
||||
|
||||
ldy #SYMG.F Get Symbol Size
|
||||
lda (ZPPtr1),y
|
||||
and #SYMG.F.SIZE
|
||||
beq .3
|
||||
|
||||
pha
|
||||
tax
|
||||
|
||||
iny SYMG.V
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
iny
|
||||
dex
|
||||
bne .2
|
||||
|
||||
pla
|
||||
asl
|
||||
|
||||
.3 tax
|
||||
ldy L.MSG.EQU0,x
|
||||
lda L.MSG.EQU0+1,x
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
>PUSHW ZPTmpBuf Label (PString)
|
||||
|
||||
>LDYA L.MSG.PSTRCRLF
|
||||
>SYSCALL PrintF.YA
|
||||
bcc .1
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.NewGlobal >LDYA ZPLinePtr
|
||||
>STYA SYM.GlobalPtr
|
||||
|
||||
jsr SYM.PC2Global A=PC Size
|
||||
ora #SYMG.F.RESOLVED PC is always known
|
||||
ldy #SYMG.F
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
lda #SYMG.SIZE-1
|
||||
* ldy #SYMG.LEN
|
||||
sta (ZPGlobalBuf)
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.GetGlobal >PUSHB.G SYM.hGlobals
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .1
|
||||
|
||||
inc ZPLinePtr+1
|
||||
clc
|
||||
|
||||
.1 tya
|
||||
>STA.G SYM.GlobalID+1
|
||||
txa
|
||||
>STA.G SYM.GlobalID
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.AddGlobal >PUSHB.G SYM.hGlobals
|
||||
>PUSHW ZPLinePtr
|
||||
|
||||
>PUSHW ZPGlobalBuf
|
||||
|
||||
>SYSCALL SListAdd
|
||||
bcs .9
|
||||
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .1
|
||||
|
||||
inc ZPLinePtr+1
|
||||
|
||||
.1 clc
|
||||
.HS B0 BCS
|
||||
.9 sec
|
||||
tya
|
||||
>STA.G SYM.GlobalID+1
|
||||
dey
|
||||
txa
|
||||
sta (pData),y
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupGlobal >PUSHB.G SYM.hGlobals
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPLookupBuf
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .8
|
||||
|
||||
inc ZPLinePtr+1
|
||||
clc
|
||||
|
||||
.8
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.UpdateGlobalAcc ldx #3
|
||||
|
||||
ldy #SYM.Global+SYMG.V+3
|
||||
|
||||
.1 lda SRC.ACC,x
|
||||
sta (pData),y
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda SRC.ACC.SIZE
|
||||
*---------------------------------------
|
||||
SYM.UpdateGlobal ora #SYMG.F.RESOLVED
|
||||
>STA.G SYM.Global+SYMG.F
|
||||
|
||||
lda #SYMG.SIZE-1 F+V+LSID
|
||||
>STA.G SYM.Global+SYMG.LEN
|
||||
|
||||
>PUSHB.G SYM.hGlobals
|
||||
>PUSHW.G SYM.GlobalID
|
||||
>PUSHEA.G SYM.Global
|
||||
|
||||
>SYSCALL SListUpdateByID
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYMG.FlushGlobal clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.PC2Global ldx #4
|
||||
|
||||
ldy #ASM.PC
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
iny
|
||||
dex
|
||||
bne .1
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #SYMG.V+3
|
||||
|
||||
.2 pla
|
||||
sta (ZPGlobalBuf),y
|
||||
dey
|
||||
dex
|
||||
bne .2
|
||||
|
||||
ldx #4
|
||||
ldy #ASM.PC+3
|
||||
|
||||
.3 lda (ZPGlobalBuf),y
|
||||
bne .4
|
||||
dex
|
||||
dey
|
||||
bne .3
|
||||
|
||||
.4 txa
|
||||
|
||||
ora #SYMG.F.RESOLVED
|
||||
ldy #SYMG.F
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
txa A=PC Size
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.AddLocal tax Save ID
|
||||
|
||||
lda (ZPGlobalBuf)
|
||||
tay
|
||||
clc
|
||||
adc #SYML.SIZE
|
||||
bcs .9
|
||||
|
||||
txa Get Back ID
|
||||
sta (ZPGlobalBuf),y
|
||||
|
||||
iny
|
||||
phy
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #ASM.PC+3
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
dey
|
||||
dex
|
||||
bne .1
|
||||
|
||||
ldx #4
|
||||
|
||||
ply
|
||||
|
||||
.2 pla
|
||||
sta (ZPGlobalBuf),y
|
||||
iny
|
||||
dex
|
||||
bne .2
|
||||
|
||||
lda #0
|
||||
sta (ZPGlobalBuf),y
|
||||
tya
|
||||
sta (ZPGlobalBuf)
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 lda #ERR.TOO.MANY.LOCAL
|
||||
* sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupLocal lda #2
|
||||
sta SRC.ACC.SIZE
|
||||
lda #$FF
|
||||
sta SRC.ACC
|
||||
sta SRC.ACC+1
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.AddPrivate
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupPrivate
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.AddMacro
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupMacro
|
||||
clc
|
||||
rts
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.SYM
|
||||
|
852
BIN/ASM.S.txt
852
BIN/ASM.S.txt
@ -1,49 +1,51 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM
|
||||
*---------------------------------------
|
||||
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||
*---------------------------------------
|
||||
ZPPtr1 .EQ ZPBIN
|
||||
ZPPtr2 .EQ ZPBIN+2
|
||||
ZPPtr3 .EQ ZPBIN+4
|
||||
ZPLineBuf .EQ ZPBIN+6
|
||||
ZPLinePtr .EQ ZPBIN+8
|
||||
ZPGlobalBuf .EQ ZPBIN+10
|
||||
ZPLookupBuf .EQ ZPBIN+12
|
||||
ZPMacroBuf .EQ ZPBIN+14
|
||||
ZPTmpBuf .EQ ZPBIN+16
|
||||
ZPAMPtr .EQ ZPBIN+18
|
||||
ZPRPtr .EQ ZPBIN+20
|
||||
ZPOpsPtr .EQ ZPBIN+22
|
||||
ZPOpDefPtr .EQ ZPBIN+24
|
||||
ZPPtr1 .EQ ZPBIN
|
||||
ZPPtr2 .EQ ZPBIN+2
|
||||
|
||||
ZPLineBuf .EQ ZPBIN+4
|
||||
ZPLinePtr .EQ ZPBIN+6
|
||||
ZPNameBuf .EQ ZPBIN+8
|
||||
ZPGlobalBuf .EQ ZPBIN+10
|
||||
ZPLookupBuf .EQ ZPBIN+12
|
||||
ZPMacroBuf .EQ ZPBIN+14
|
||||
|
||||
ZPTmpBuf .EQ ZPBIN+16
|
||||
|
||||
ZPAMPtr .EQ ZPBIN+18
|
||||
ZPRPtr .EQ ZPBIN+20
|
||||
ZPOpsPtr .EQ ZPBIN+22
|
||||
ZPOpDefPtr .EQ ZPBIN+24
|
||||
*---------------------------------------
|
||||
SYMG.LEN .EQ 0
|
||||
SYMG.F .EQ 1
|
||||
SYMG.F.RESOLVED .EQ %10000000
|
||||
SYMG.F.RW .EQ %01000000
|
||||
SYMG.F.EQU .EQ %00100000
|
||||
SYMG.F.SIZE .EQ %00000111
|
||||
SYMG.V .EQ 2
|
||||
SYMG.LEN .EQ 0
|
||||
SYMG.F .EQ 1
|
||||
SYMG.F.RESOLVED .EQ %10000000
|
||||
SYMG.F.RW .EQ %01000000
|
||||
SYMG.F.SIZE .EQ %00000111
|
||||
SYMG.V .EQ 2
|
||||
*
|
||||
SYMG.SIZE .EQ 6
|
||||
SYMG.SIZE .EQ 6
|
||||
*---------------------------------------
|
||||
SYML.ID .EQ 0
|
||||
SYML.V .EQ 1
|
||||
SYML.ID .EQ 0
|
||||
SYML.V .EQ 1
|
||||
*
|
||||
SYML.SIZE .EQ 5
|
||||
SYML.SIZE .EQ 5
|
||||
*---------------------------------------
|
||||
ASM.T.AM .EQ 0
|
||||
ASM.T.R .EQ 2
|
||||
ASM.T.O .EQ 4
|
||||
ASM.T.AM .EQ 0
|
||||
ASM.T.R .EQ 2
|
||||
ASM.T.O .EQ 4
|
||||
*---------------------------------------
|
||||
SRC.DO.MAXDEPTH .EQ 8
|
||||
SRC.IN.MAXDEPTH .EQ 7
|
||||
SRC.DO.MAXDEPTH .EQ 8
|
||||
SRC.IN.MAXDEPTH .EQ 7
|
||||
*---------------------------------------
|
||||
ERR.INV.ARGS .EQ $80
|
||||
ERR.SRC.INV.TYPE .EQ $90
|
||||
@ -72,438 +74,446 @@ ERR.MACRO.TOO.BIG .EQ $E1
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #0 SS
|
||||
.DA #32 ZP
|
||||
.DA 0
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #0 SS
|
||||
.DA #32 ZP
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.HELP .DA MSG.HELP
|
||||
L.MSG.OUT0 .DA MSG.OUT0
|
||||
.DA MSG.OUT1
|
||||
.DA MSG.OUT2
|
||||
.DA MSG.OUT3
|
||||
L.MSG.EQU0 .DA MSG.EQU0
|
||||
.DA MSG.EQU1
|
||||
.DA MSG.EQU2
|
||||
.DA MSG.EQU3
|
||||
.DA MSG.EQU4
|
||||
L.MSG.SRCLINE .DA MSG.SRCLINE
|
||||
L.MSG.ERROR .DA MSG.ERROR
|
||||
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
||||
L.MSG.PSTRCRLF .DA MSG.PSTRCRLF
|
||||
L.MSG.SUMMARY .DA MSG.SUMMARY
|
||||
L.MSG.PASS .DA MSG.PASS
|
||||
L.MSG.SRC.FILE .DA MSG.SRC.FILE
|
||||
L.MSG.OBJ.FILE .DA MSG.OBJ.FILE
|
||||
L.MSG.T.FILE .DA MSG.T.FILE
|
||||
L.SRC.AM.StrBuf .DA SRC.AM.StrBuf
|
||||
L.ASM.6502 .DA ASM.6502
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.HELP .DA MSG.HELP
|
||||
L.MSG.OUT0 .DA MSG.OUT0
|
||||
.DA MSG.OUT1
|
||||
.DA MSG.OUT2
|
||||
.DA MSG.OUT3
|
||||
L.MSG.EQU0 .DA MSG.EQU0
|
||||
.DA MSG.EQU1
|
||||
.DA MSG.EQU2
|
||||
.DA MSG.EQU3
|
||||
.DA MSG.EQU4
|
||||
L.MSG.SRCLINE .DA MSG.SRCLINE
|
||||
L.MSG.ERROR .DA MSG.ERROR
|
||||
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
||||
L.MSG.PSTRCRLF .DA MSG.PSTRCRLF
|
||||
L.MSG.SUMMARY .DA MSG.SUMMARY
|
||||
L.MSG.PASS .DA MSG.PASS
|
||||
L.MSG.SRC.FILE .DA MSG.SRC.FILE
|
||||
L.MSG.OBJ.FILE .DA MSG.OBJ.FILE
|
||||
L.MSG.T.FILE .DA MSG.T.FILE
|
||||
L.SRC.AM.StrBuf .DA SRC.AM.StrBuf
|
||||
L.ASM.6502 .DA ASM.6502
|
||||
L.ASM.T.FILENAME .DA ASM.T.FILENAME
|
||||
L.FIO.Stat .DA FIO.Stat
|
||||
L.T.DIRECTIVES .DA T.DIRECTIVES
|
||||
J.DIRECTIVES .DA DIR.AC
|
||||
.DA DIR.AS
|
||||
.DA DIR.AT
|
||||
.DA DIR.AZ
|
||||
.DA DIR.BS
|
||||
.DA DIR.DA
|
||||
.DA DIR.DO
|
||||
.DA DIR.DU
|
||||
.DA DIR.DU
|
||||
.DA DIR.ED
|
||||
.DA DIR.EL
|
||||
.DA DIR.EM
|
||||
.DA DIR.EN
|
||||
.DA DIR.EP
|
||||
.DA DIR.EQ
|
||||
.DA DIR.FI
|
||||
.DA DIR.HS
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.LI
|
||||
.DA DIR.LI
|
||||
.DA DIR.MA
|
||||
.DA DIR.OP
|
||||
.DA DIR.OR
|
||||
.DA DIR.PG
|
||||
.DA DIR.PH
|
||||
.DA DIR.SE
|
||||
.DA DIR.TA
|
||||
.DA DIR.TF
|
||||
.DA DIR.TI
|
||||
.DA DIR.US
|
||||
L.T.LI .DA T.LI
|
||||
J.LI .DA DIR.LI.ON
|
||||
.DA DIR.LI.OFF
|
||||
.DA DIR.LI.CON
|
||||
.DA DIR.LI.COFF
|
||||
.DA DIR.LI.MON
|
||||
.DA DIR.LI.MOFF
|
||||
.DA DIR.LI.XON
|
||||
.DA DIR.LI.XOFF
|
||||
J.EXP.MOD .DA EXP.MOD.8.1 #/^<>
|
||||
.DA EXP.MOD.8.2
|
||||
.DA EXP.MOD.8.3
|
||||
.DA EXP.MOD.24
|
||||
.DA EXP.MOD.32
|
||||
J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/
|
||||
.DA EXP.OP.ORA
|
||||
.DA EXP.OP.ORA
|
||||
.DA EXP.OP.AND
|
||||
.DA EXP.OP.LOW
|
||||
.DA EXP.OP.EQU
|
||||
.DA EXP.OP.GRT
|
||||
.DA EXP.OP.ADD
|
||||
.DA EXP.OP.SUB
|
||||
.DA EXP.OP.MUL
|
||||
.DA EXP.OP.DIV
|
||||
.DA 0
|
||||
L.FIO.Stat .DA FIO.Stat
|
||||
L.T.DIRECTIVES .DA T.DIRECTIVES
|
||||
J.DIRECTIVES .DA DIR.AC
|
||||
.DA DIR.AS
|
||||
.DA DIR.AT
|
||||
.DA DIR.AZ
|
||||
.DA DIR.BS
|
||||
.DA DIR.DA
|
||||
.DA DIR.DO
|
||||
.DA DIR.DU
|
||||
.DA DIR.DU
|
||||
.DA DIR.ED
|
||||
.DA DIR.EL
|
||||
.DA DIR.EM
|
||||
.DA DIR.EN
|
||||
.DA DIR.EP
|
||||
.DA DIR.EQ
|
||||
.DA DIR.FI
|
||||
.DA DIR.HS
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.IN
|
||||
.DA DIR.LI
|
||||
.DA DIR.LI
|
||||
.DA DIR.MA
|
||||
.DA DIR.OP
|
||||
.DA DIR.OR
|
||||
.DA DIR.PG
|
||||
.DA DIR.PH
|
||||
.DA DIR.SE
|
||||
.DA DIR.TA
|
||||
.DA DIR.TF
|
||||
.DA DIR.TI
|
||||
.DA DIR.US
|
||||
L.T.LI .DA T.LI
|
||||
J.LI .DA DIR.LI.ON
|
||||
.DA DIR.LI.OFF
|
||||
.DA DIR.LI.CON
|
||||
.DA DIR.LI.COFF
|
||||
.DA DIR.LI.MON
|
||||
.DA DIR.LI.MOFF
|
||||
.DA DIR.LI.XON
|
||||
.DA DIR.LI.XOFF
|
||||
J.EXP.MOD .DA EXP.MOD.8.1 #/^<>
|
||||
.DA EXP.MOD.8.2
|
||||
.DA EXP.MOD.8.3
|
||||
.DA EXP.MOD.24
|
||||
.DA EXP.MOD.32
|
||||
J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/
|
||||
.DA EXP.OP.ORA
|
||||
.DA EXP.OP.ORA
|
||||
.DA EXP.OP.AND
|
||||
.DA EXP.OP.LOW
|
||||
.DA EXP.OP.EQU
|
||||
.DA EXP.OP.GRT
|
||||
.DA EXP.OP.ADD
|
||||
.DA EXP.OP.SUB
|
||||
.DA EXP.OP.MUL
|
||||
.DA EXP.OP.DIV
|
||||
.DA 0
|
||||
*---------------------------------------
|
||||
CS.INIT ldy #S.PS.ARGC
|
||||
lda (pPs),y
|
||||
beq .99
|
||||
|
||||
lda #1
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL RealPath.YA
|
||||
|
||||
txa
|
||||
ldy #SRC.hFILENAME
|
||||
sta (pData),y
|
||||
|
||||
jsr FIO.Init
|
||||
bcs .9
|
||||
CS.INIT ldy #S.PS.ARGC
|
||||
lda (pPs),y
|
||||
beq .99
|
||||
|
||||
lda #1
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL RealPath.YA
|
||||
|
||||
txa
|
||||
ldy #SRC.hFILENAME
|
||||
sta (pData),y
|
||||
|
||||
jsr FIO.Init
|
||||
bcs .9
|
||||
|
||||
jsr SYM.Init
|
||||
bcs .9
|
||||
jsr SYM.Init
|
||||
bcs .9
|
||||
|
||||
jsr MAC.Init
|
||||
bcs .9
|
||||
|
||||
jsr OUT.Init
|
||||
jsr MAC.Init
|
||||
bcs .9
|
||||
|
||||
jsr OUT.Init
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
>STYA ZPLineBuf
|
||||
txa
|
||||
>STA.G SRC.hLineBuf
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
>STYA ZPLineBuf
|
||||
txa
|
||||
>STA.G SRC.hLineBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
>STYA ZPTmpBuf
|
||||
txa
|
||||
>STA.G SRC.hTmpBuf
|
||||
|
||||
* lda (pPs)
|
||||
* ora #S.PS.F.EVENT
|
||||
* sta (pPs)
|
||||
clc
|
||||
rts
|
||||
|
||||
.99 >LDYA L.MSG.HELP
|
||||
>SYSCALL PrintF.YA
|
||||
lda #ERR.INV.ARGS
|
||||
sec
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
>STYA ZPTmpBuf
|
||||
txa
|
||||
>STA.G SRC.hTmpBuf
|
||||
|
||||
* lda (pPs)
|
||||
* ora #S.PS.F.EVENT
|
||||
* sta (pPs)
|
||||
clc
|
||||
rts
|
||||
|
||||
.99 >LDYA L.MSG.HELP
|
||||
>SYSCALL PrintF.YA
|
||||
lda #ERR.INV.ARGS
|
||||
sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN >SYSCALL GetChar
|
||||
bcs .11 no char
|
||||
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....beq=CS
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .11
|
||||
CS.RUN >SYSCALL GetChar
|
||||
bcs .11 no char
|
||||
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....beq=CS
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .11
|
||||
|
||||
ldy #bPause
|
||||
lda (pData),y
|
||||
eor #$ff
|
||||
sta (pData),y
|
||||
ldy #bPause
|
||||
lda (pData),y
|
||||
eor #$ff
|
||||
sta (pData),y
|
||||
|
||||
.11 ldy #bPause
|
||||
lda (pData),y
|
||||
bne .8
|
||||
|
||||
.11 ldy #bPause
|
||||
lda (pData),y
|
||||
bne .8
|
||||
|
||||
ldy #SRC.COUNT root file is already opened?
|
||||
lda (pData),y
|
||||
bne .10
|
||||
|
||||
>LDA.G ASM.PASS
|
||||
inc
|
||||
>PUSHA
|
||||
>LDYA L.MSG.PASS
|
||||
jsr OUT.Print
|
||||
ldy #SRC.COUNT root file is already opened?
|
||||
lda (pData),y
|
||||
bne .10
|
||||
|
||||
>LDA.G ASM.PASS
|
||||
inc
|
||||
>PUSHA
|
||||
>LDYA L.MSG.PASS
|
||||
jsr OUT.Print
|
||||
|
||||
ldy #SRC.hFILENAME
|
||||
lda (pData),y
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
|
||||
jsr FIO.OpenFile
|
||||
bcs .99
|
||||
|
||||
jsr DIR.Reset
|
||||
jsr SYM.Reset
|
||||
|
||||
.10 jsr FIO.ReadLine
|
||||
bcc .2
|
||||
cmp #$4C End Of File?
|
||||
bne .9
|
||||
|
||||
jsr FIO.FileClose
|
||||
|
||||
ldy #SRC.COUNT end of root file ?
|
||||
lda (pData),y
|
||||
bne .8 no continue back to previous file
|
||||
|
||||
>LDA.G ASM.PASS End of pass #2 ??
|
||||
bne .1
|
||||
inc
|
||||
sta (pData),y
|
||||
clc
|
||||
.99 rts
|
||||
|
||||
.1 jsr SYM.Dump
|
||||
>PUSHW ZPLinePtr
|
||||
>LDYA L.MSG.SUMMARY
|
||||
jsr OUT.Print
|
||||
|
||||
lda #0 End of assembly, exit with no error
|
||||
sec
|
||||
rts
|
||||
|
||||
.2 jsr SRC.ParseLine
|
||||
bcs .9
|
||||
|
||||
jsr OUT.PrintLine
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
ldy #SRC.hFILENAME
|
||||
lda (pData),y
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
|
||||
jsr FIO.OpenFile
|
||||
bcs .99
|
||||
|
||||
jsr DIR.Reset
|
||||
jsr SYM.Reset
|
||||
|
||||
.10 jsr FIO.ReadLine
|
||||
bcc .2
|
||||
cmp #$4C End Of File?
|
||||
bne .9
|
||||
|
||||
jsr FIO.FileClose
|
||||
|
||||
ldy #SRC.COUNT end of root file ?
|
||||
lda (pData),y
|
||||
bne .8 no continue back to previous file
|
||||
|
||||
jsr SYM.FlushGlobal Store last Symbol, if any....
|
||||
bcs .9
|
||||
|
||||
>LDA.G ASM.PASS End of pass #2 ??
|
||||
bne .1
|
||||
inc
|
||||
sta (pData),y
|
||||
clc
|
||||
.99 rts
|
||||
|
||||
.1 jsr SYM.Dump
|
||||
>PUSHW ZPLinePtr
|
||||
>LDYA L.MSG.SUMMARY
|
||||
jsr OUT.Print
|
||||
|
||||
lda #0 End of assembly, exit with no error
|
||||
sec
|
||||
rts
|
||||
|
||||
.2 jsr SRC.ParseLine
|
||||
bcs .9
|
||||
|
||||
jsr OUT.PrintLine
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 pha
|
||||
jsr OUT.PrintLineErr
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
.9 pha
|
||||
jsr OUT.PrintLineErr
|
||||
jsr SYM.Dump
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT jsr FIO.FileClose
|
||||
bne CS.QUIT
|
||||
CS.QUIT jsr FIO.FileClose
|
||||
bne CS.QUIT
|
||||
|
||||
jsr MAC.Quit
|
||||
jsr SYM.Quit
|
||||
|
||||
>LDA.G ASM.T.hMem
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G SRC.hFILENAME
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.2 >LDA.G SRC.hLineBuf
|
||||
beq .3
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.3 >LDA.G SRC.hTmpBuf
|
||||
beq .8
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
jsr MAC.Quit
|
||||
jsr SYM.Quit
|
||||
|
||||
>LDA.G ASM.T.hMem
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.1 >LDA.G SRC.hFILENAME
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.2 >LDA.G SRC.hLineBuf
|
||||
beq .3
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.3 >LDA.G SRC.hTmpBuf
|
||||
beq .8
|
||||
|
||||
>SYSCALL FreeMem.A
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.DIR
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.EXP
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.FIO
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.MAC
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.OUT
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.SRC
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.SYM
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.DIR
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.EXP
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.FIO
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.MAC
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.OUT
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.SRC
|
||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.S.SYM
|
||||
*---------------------------------------
|
||||
CS.END
|
||||
T.DIRECTIVES >PSTR "AC"
|
||||
>PSTR "AS"
|
||||
>PSTR "AT"
|
||||
>PSTR "AZ"
|
||||
>PSTR "BS"
|
||||
>PSTR "DA"
|
||||
>PSTR "DO"
|
||||
>PSTR "DU"
|
||||
>PSTR "DUMMY"
|
||||
>PSTR "ED"
|
||||
>PSTR "ELSE"
|
||||
>PSTR "EM"
|
||||
>PSTR "EN"
|
||||
>PSTR "EP"
|
||||
>PSTR "EQ"
|
||||
>PSTR "FIN"
|
||||
>PSTR "HS"
|
||||
>PSTR "IN"
|
||||
>PSTR "INB"
|
||||
>PSTR "INB1"
|
||||
>PSTR "INB2"
|
||||
>PSTR "INB3"
|
||||
>PSTR "INB4"
|
||||
>PSTR "INB5"
|
||||
>PSTR "INB6"
|
||||
>PSTR "INB7"
|
||||
>PSTR "INB8"
|
||||
>PSTR "INB9"
|
||||
>PSTR "LI"
|
||||
>PSTR "LIST"
|
||||
>PSTR "MA"
|
||||
>PSTR "OP"
|
||||
>PSTR "OR"
|
||||
>PSTR "PG"
|
||||
>PSTR "PH"
|
||||
>PSTR "SE"
|
||||
>PSTR "TA"
|
||||
>PSTR "TF"
|
||||
>PSTR "TI"
|
||||
>PSTR "US"
|
||||
.HS 00
|
||||
T.DIRECTIVES >PSTR "AC"
|
||||
>PSTR "AS"
|
||||
>PSTR "AT"
|
||||
>PSTR "AZ"
|
||||
>PSTR "BS"
|
||||
>PSTR "DA"
|
||||
>PSTR "DO"
|
||||
>PSTR "DU"
|
||||
>PSTR "DUMMY"
|
||||
>PSTR "ED"
|
||||
>PSTR "ELSE"
|
||||
>PSTR "EM"
|
||||
>PSTR "EN"
|
||||
>PSTR "EP"
|
||||
>PSTR "EQ"
|
||||
>PSTR "FIN"
|
||||
>PSTR "HS"
|
||||
>PSTR "IN"
|
||||
>PSTR "INB"
|
||||
>PSTR "INB1"
|
||||
>PSTR "INB2"
|
||||
>PSTR "INB3"
|
||||
>PSTR "INB4"
|
||||
>PSTR "INB5"
|
||||
>PSTR "INB6"
|
||||
>PSTR "INB7"
|
||||
>PSTR "INB8"
|
||||
>PSTR "INB9"
|
||||
>PSTR "LI"
|
||||
>PSTR "LIST"
|
||||
>PSTR "MA"
|
||||
>PSTR "OP"
|
||||
>PSTR "OR"
|
||||
>PSTR "PG"
|
||||
>PSTR "PH"
|
||||
>PSTR "SE"
|
||||
>PSTR "TA"
|
||||
>PSTR "TF"
|
||||
>PSTR "TI"
|
||||
>PSTR "US"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.LI >PSTR "ON"
|
||||
>PSTR "OFF"
|
||||
>PSTR "CON"
|
||||
>PSTR "COFF"
|
||||
>PSTR "MON"
|
||||
>PSTR "MOFF"
|
||||
>PSTR "XON"
|
||||
>PSTR "XOFF"
|
||||
.HS 00
|
||||
T.LI >PSTR "ON"
|
||||
>PSTR "OFF"
|
||||
>PSTR "CON"
|
||||
>PSTR "COFF"
|
||||
>PSTR "MON"
|
||||
>PSTR "MOFF"
|
||||
>PSTR "XON"
|
||||
>PSTR "XOFF"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
ASM.6502 .AZ "6502"
|
||||
MSG.HELP .AZ "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
|
||||
MSG.PASS .AZ "Pass:#%d\r\n"
|
||||
MSG.SRC.FILE .AZ "Reading SRC File:%s\r\n"
|
||||
MSG.OBJ.FILE .AZ "Writing OBJ File:%s, Type=%02x\r\n"
|
||||
MSG.T.FILE .AZ "Loading CPU File:%s\r\n"
|
||||
MSG.OUT0 .AZ "%H- "
|
||||
MSG.OUT1 .AZ "%H-%h "
|
||||
MSG.OUT2 .AZ "%H-%h %h "
|
||||
MSG.OUT3 .AZ "%H-%h %h %h"
|
||||
MSG.EQU0 .AZ " [ ?]"
|
||||
MSG.EQU1 .AZ " [ %h]"
|
||||
MSG.EQU2 .AZ " [ %h%h]"
|
||||
MSG.EQU3 .AZ " [ %h%h%h]"
|
||||
MSG.EQU4 .AZ " [%h%h%h%h]"
|
||||
MSG.SRCLINE .AZ " %05D %s\r\n"
|
||||
MSG.ERROR .AZ "*** Fatal Error $%h "
|
||||
MSG.SYMBOLS .AZ "Symbol Table:\r\n"
|
||||
MSG.PSTRCRLF .AZ " %S\r\n"
|
||||
MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n"
|
||||
ASM..T. .AZ ".T."
|
||||
ASM.6502 .AZ "6502"
|
||||
MSG.HELP .AZ "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
|
||||
MSG.PASS .AZ "Pass:#%d\r\n"
|
||||
MSG.SRC.FILE .AZ "*** Reading SRC File:%s\r\n"
|
||||
MSG.OBJ.FILE .AZ "*** Writing OBJ File:%s, Type=%02x\r\n"
|
||||
MSG.T.FILE .AZ "*** Loading CPU File:%s\r\n"
|
||||
MSG.OUT0 .AZ "%H- "
|
||||
MSG.OUT1 .AZ "%H-%h "
|
||||
MSG.OUT2 .AZ "%H-%h %h "
|
||||
MSG.OUT3 .AZ "%H-%h %h %h"
|
||||
MSG.EQU0 .AZ " [ ?]"
|
||||
MSG.EQU1 .AZ " [ %h]"
|
||||
MSG.EQU2 .AZ " [ %h%h]"
|
||||
MSG.EQU3 .AZ " [ %h%h%h]"
|
||||
MSG.EQU4 .AZ " [%h%h%h%h]"
|
||||
MSG.SRCLINE .AZ " %05D %s\r\n"
|
||||
MSG.ERROR .AZ "*** Fatal Error $%h "
|
||||
MSG.SYMBOLS .AZ "Symbol Table:\r\n"
|
||||
MSG.PSTRCRLF .AZ " %S\r\n"
|
||||
MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n"
|
||||
SRC.MOD.RESERVED >PSTR "#/^<>"
|
||||
SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/"
|
||||
SRC.AM.RESERVED >PSTR "[](),"
|
||||
*---------------------------------------
|
||||
ASM.T.FILENAME .BS 65
|
||||
ASM.T.FILENAME .BS 65
|
||||
|
||||
FIO.Stat .BS S.STAT
|
||||
FIO.Stat .BS S.STAT
|
||||
|
||||
SRC.ACC.SIZE .BS 1
|
||||
SRC.ACC .BS 4
|
||||
SRC.ARG.SIZE .BS 1
|
||||
SRC.ARG .BS 4
|
||||
SRC.ACCTMP .BS 4
|
||||
SRC.AM.StrBuf .BS 32
|
||||
SRC.ACC.F .BS 1
|
||||
SRC.ACC.SIZE .BS 1
|
||||
SRC.ACC .BS 4
|
||||
|
||||
SRC.ARG.F .BS 1
|
||||
SRC.ARG.SIZE .BS 1
|
||||
SRC.ARG .BS 4
|
||||
|
||||
SRC.ACCTMP .BS 4
|
||||
SRC.AM.StrBuf .BS 32
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
bPause .BS 1
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
bPause .BS 1
|
||||
|
||||
SRC.hFILENAME .BS 1
|
||||
SRC.hLineBuf .BS 1
|
||||
SRC.hTmpBuf .BS 1
|
||||
SRC.hFILENAME .BS 1
|
||||
SRC.hLineBuf .BS 1
|
||||
SRC.hTmpBuf .BS 1
|
||||
|
||||
SRC.COUNT .BS 1
|
||||
SRC.hFILES .BS SRC.IN.MAXDEPTH
|
||||
SRC.hFILETYPES .BS SRC.IN.MAXDEPTH
|
||||
SRC.COUNT .BS 1
|
||||
SRC.hFILES .BS SRC.IN.MAXDEPTH
|
||||
SRC.hFILETYPES .BS SRC.IN.MAXDEPTH
|
||||
|
||||
SRC.LINENUM .BS 2
|
||||
SRC.AMID .BS 1
|
||||
SRC.LINENUM .BS 2
|
||||
SRC.AMID .BS 1
|
||||
|
||||
DST.hFILENAME .BS 1
|
||||
DST.hREFNUM .BS 1
|
||||
DST.hBUFFER .BS 1
|
||||
DST.hFILETYPE .BS 1
|
||||
DST.hFILENAME .BS 1
|
||||
DST.hREFNUM .BS 1
|
||||
DST.hBUFFER .BS 1
|
||||
DST.hFILETYPE .BS 1
|
||||
|
||||
DIR.Word .BS 2
|
||||
DIR.Byte .BS 1
|
||||
DIR.Word .BS 2
|
||||
DIR.Byte .BS 1
|
||||
|
||||
EXP.Modifier .BS 1
|
||||
EXP.Prefix .BS 1
|
||||
EXP.Operator .BS 1
|
||||
EXP.Modifier .BS 1
|
||||
EXP.Prefix .BS 1
|
||||
EXP.Operator .BS 1
|
||||
|
||||
|
||||
ASM.T.hMem .BS 1
|
||||
ASM.T.hMem .BS 1
|
||||
|
||||
ASM.PASS .BS 1
|
||||
ASM.DO.StackPtr .BS 1
|
||||
ASM.DO.Stack .BS SRC.DO.MAXDEPTH
|
||||
ASM.DO.ON .BS 1
|
||||
ASM.PH.ON .BS 1
|
||||
ASM.LI.ON .BS 1
|
||||
ASM.LI.CON .BS 1
|
||||
ASM.LI.MON .BS 1
|
||||
ASM.LI.XON .BS 1
|
||||
ASM.PC .BS 4
|
||||
ASM.PC.PH .BS 4
|
||||
ASM.PASS .BS 1
|
||||
ASM.DO.StackPtr .BS 1
|
||||
ASM.DO.Stack .BS SRC.DO.MAXDEPTH
|
||||
ASM.DO.ON .BS 1
|
||||
ASM.PH.ON .BS 1
|
||||
ASM.LI.ON .BS 1
|
||||
ASM.LI.CON .BS 1
|
||||
ASM.LI.MON .BS 1
|
||||
ASM.LI.XON .BS 1
|
||||
ASM.PC .BS 4
|
||||
ASM.PC.PH .BS 4
|
||||
|
||||
SYM.hGlobals .BS 1
|
||||
SYM.hGlobalList .BS 1
|
||||
SYM.hNameBuf .BS 1
|
||||
SYM.hGlobalBuf .BS 1
|
||||
SYM.GlobalID .BS 2
|
||||
|
||||
SYM.GlobalPtr .BS 2
|
||||
SYM.hGlobalBuf .BS 1
|
||||
SYM.GlobalID .BS 2
|
||||
SYM.hLookupBuf .BS 1
|
||||
|
||||
SYM.hLookupBuf .BS 1
|
||||
SYM.LocalID .BS 2
|
||||
|
||||
SYM.LocalID .BS 2
|
||||
MAC.hMacros .BS 1
|
||||
MAC.hBuf .BS 1
|
||||
MAC.bAdd .BS 1
|
||||
|
||||
MAC.hMacros .BS 1
|
||||
MAC.hBuf .BS 1
|
||||
MAC.bAdd .BS 1
|
||||
OUT.PC .BS 4
|
||||
OUT.Buf .BS 4
|
||||
OUT.bEquate .BS 1
|
||||
OUT.LineCnt .BS 1
|
||||
|
||||
OUT.PC .BS 4
|
||||
OUT.Buf .BS 4
|
||||
OUT.bEquate .BS 1
|
||||
OUT.LineCnt .BS 1
|
||||
|
||||
DS.END .ED
|
||||
DS.END .ED
|
||||
*---------------------------------------
|
||||
.DO DS.END-DS.START>$FF
|
||||
ERROR:DS too big
|
||||
.FIN
|
||||
.DO DS.END-DS.START>$FF
|
||||
ERROR:DS too big
|
||||
.FIN
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.S
|
||||
|
@ -3,21 +3,21 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "#a"
|
||||
>PSTR "(a),Y"
|
||||
>PSTR "(a,X)"
|
||||
>PSTR "a"
|
||||
>PSTR "a,X"
|
||||
>PSTR "aa"
|
||||
>PSTR "aa,X"
|
||||
>PSTR "aa,Y"
|
||||
>PSTR "(aa)"
|
||||
>PSTR "a,Y"
|
||||
.DA #2,$$"#a"
|
||||
.DA #5,$$"(a),Y"
|
||||
.DA #5,$$"(a,X)"
|
||||
.DA #1,$$"a"
|
||||
.DA #3,$$"a,X"
|
||||
.DA #2,$$"aa"
|
||||
.DA #4,$$"aa,X"
|
||||
.DA #4,$$"aa,Y"
|
||||
.DA #4,$$"(aa)"
|
||||
.DA #3,$$"a,Y"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "Y"
|
||||
>PSTR "X"
|
||||
.DA #1,$$"Y"
|
||||
.DA #1,$$"X"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
@ -3,475 +3,324 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.OPCODES .EQ *
|
||||
ADC .DA ADC.E+1-*
|
||||
>PSTR "ADC"
|
||||
.HS 01
|
||||
>PSTR "69a"
|
||||
.HS 02
|
||||
>PSTR "71a"
|
||||
.HS 03
|
||||
>PSTR "61a"
|
||||
.HS 04
|
||||
>PSTR "65a"
|
||||
.HS 05
|
||||
>PSTR "75a"
|
||||
.HS 06
|
||||
>PSTR "6Daa"
|
||||
.HS 07
|
||||
>PSTR "7Daa"
|
||||
.HS 08
|
||||
>PSTR "79aa"
|
||||
ADC.E .HS 00
|
||||
AND .DA AND.E+1-*
|
||||
>PSTR "AND"
|
||||
.HS 01
|
||||
>PSTR "29a"
|
||||
.HS 02
|
||||
>PSTR "31a"
|
||||
.HS 03
|
||||
>PSTR "21a"
|
||||
.HS 04
|
||||
>PSTR "25a"
|
||||
.HS 05
|
||||
>PSTR "35a"
|
||||
.HS 06
|
||||
>PSTR "2Daa"
|
||||
.HS 07
|
||||
>PSTR "3Daa"
|
||||
.HS 08
|
||||
>PSTR "39aa"
|
||||
AND.E .HS 00
|
||||
ASL .DA ASL.E+1-*
|
||||
>PSTR "ASL"
|
||||
.HS 04
|
||||
>PSTR "06a"
|
||||
.HS 05
|
||||
>PSTR "16a"
|
||||
.HS 06
|
||||
>PSTR "0Eaa"
|
||||
.HS 07
|
||||
>PSTR "1Eaa"
|
||||
.HS FF
|
||||
>PSTR "0A"
|
||||
ASL.E .HS 00
|
||||
BCC .DA BCC.E+1-*
|
||||
>PSTR "BCC"
|
||||
.HS 06
|
||||
>PSTR "90r"
|
||||
BCC.E .HS 00
|
||||
BCS .DA BCS.E+1-*
|
||||
>PSTR "BCS"
|
||||
.HS 06
|
||||
>PSTR "B0r"
|
||||
BCS.E .HS 00
|
||||
BEQ .DA BEQ.E+1-*
|
||||
>PSTR "BEQ"
|
||||
.HS 06
|
||||
>PSTR "F0r"
|
||||
BEQ.E .HS 00
|
||||
BIT .DA BIT.E+1-*
|
||||
>PSTR "BIT"
|
||||
.HS 04
|
||||
>PSTR "24a"
|
||||
.HS 06
|
||||
>PSTR "2Caa"
|
||||
BIT.E .HS 00
|
||||
BMI .DA BMI.E+1-*
|
||||
>PSTR "BMI"
|
||||
.HS 06
|
||||
>PSTR "30r"
|
||||
BMI.E .HS 00
|
||||
BNE .DA BNE.E+1-*
|
||||
>PSTR "BNE"
|
||||
.HS 06
|
||||
>PSTR "D0r"
|
||||
BNE.E .HS 00
|
||||
BPL .DA BPL.E+1-*
|
||||
>PSTR "BPL"
|
||||
.HS 06
|
||||
>PSTR "10r"
|
||||
BPL.E .HS 00
|
||||
BRK .DA BRK.E+1-*
|
||||
>PSTR "BRK"
|
||||
.HS FF
|
||||
>PSTR "00"
|
||||
BRK.E .HS 00
|
||||
BVC .DA BVC.E+1-*
|
||||
>PSTR "BVC"
|
||||
.HS 06
|
||||
>PSTR "50r"
|
||||
BVC.E .HS 00
|
||||
BVS .DA BVS.E+1-*
|
||||
>PSTR "BVS"
|
||||
.HS 06
|
||||
>PSTR "70r"
|
||||
BVS.E .HS 00
|
||||
CLC .DA CLC.E+1-*
|
||||
>PSTR "CLC"
|
||||
.HS FF
|
||||
>PSTR "18"
|
||||
CLC.E .HS 00
|
||||
CLD .DA CLD.E+1-*
|
||||
>PSTR "CLD"
|
||||
.HS FF
|
||||
>PSTR "D8"
|
||||
CLD.E .HS 00
|
||||
CLI .DA CLI.E+1-*
|
||||
>PSTR "CLI"
|
||||
.HS FF
|
||||
>PSTR "58"
|
||||
CLI.E .HS 00
|
||||
CLV .DA CLV.E+1-*
|
||||
>PSTR "CLV"
|
||||
.HS FF
|
||||
>PSTR "B8"
|
||||
CLV.E .HS 00
|
||||
CMP .DA CMP.E+1-*
|
||||
>PSTR "CMP"
|
||||
.HS 01
|
||||
>PSTR "C9a"
|
||||
.HS 02
|
||||
>PSTR "D1a"
|
||||
.HS 03
|
||||
>PSTR "C1a"
|
||||
.HS 04
|
||||
>PSTR "C5a"
|
||||
.HS 05
|
||||
>PSTR "D5a"
|
||||
.HS 06
|
||||
>PSTR "CDaa"
|
||||
.HS 07
|
||||
>PSTR "DDaa"
|
||||
.HS 08
|
||||
>PSTR "D9aa"
|
||||
CMP.E .HS 00
|
||||
CPX .DA CPX.E+1-*
|
||||
>PSTR "CPX"
|
||||
.HS 01
|
||||
>PSTR "E0a"
|
||||
.HS 04
|
||||
>PSTR "E4a"
|
||||
.HS 06
|
||||
>PSTR "Ecaa"
|
||||
CPX.E .HS 00
|
||||
CPY .DA CPY.E+1-*
|
||||
>PSTR "CPY"
|
||||
.HS 01
|
||||
>PSTR "C0a"
|
||||
.HS 04
|
||||
>PSTR "C4a"
|
||||
.HS 06
|
||||
>PSTR "Ccaa"
|
||||
CPY.E .HS 00
|
||||
DEC .DA DEC.E+1-*
|
||||
>PSTR "DEC"
|
||||
.HS 04
|
||||
>PSTR "C6a"
|
||||
.HS 05
|
||||
>PSTR "D6a"
|
||||
.HS 06
|
||||
>PSTR "Ceaa"
|
||||
.HS 07
|
||||
>PSTR "Deaa"
|
||||
DEC.E .HS 00
|
||||
DEX .DA DEX.E+1-*
|
||||
>PSTR "DEX"
|
||||
.HS FF
|
||||
>PSTR "CA"
|
||||
DEX.E .HS 00
|
||||
DEY .DA DEY.E+1-*
|
||||
>PSTR "DEY"
|
||||
.HS FF
|
||||
>PSTR "88"
|
||||
DEY.E .HS 00
|
||||
EOR .DA EOR.E+1-*
|
||||
>PSTR "EOR"
|
||||
.HS 01
|
||||
>PSTR "49a"
|
||||
.HS 02
|
||||
>PSTR "51a"
|
||||
.HS 03
|
||||
>PSTR "41a"
|
||||
.HS 04
|
||||
>PSTR "45a"
|
||||
.HS 05
|
||||
>PSTR "55a"
|
||||
.HS 06
|
||||
>PSTR "4Daa"
|
||||
.HS 07
|
||||
>PSTR "5Daa"
|
||||
.HS 08
|
||||
>PSTR "59aa"
|
||||
EOR.E .HS 00
|
||||
INC .DA INC.E+1-*
|
||||
>PSTR "INC"
|
||||
.HS 04
|
||||
>PSTR "E6a"
|
||||
.HS 05
|
||||
>PSTR "F6a"
|
||||
.HS 06
|
||||
>PSTR "Eeaa"
|
||||
.HS 07
|
||||
>PSTR "Feaa"
|
||||
INC.E .HS 00
|
||||
INX .DA INX.E+1-*
|
||||
>PSTR "INX"
|
||||
.HS FF
|
||||
>PSTR "E8"
|
||||
INX.E .HS 00
|
||||
INY .DA INY.E+1-*
|
||||
>PSTR "INY"
|
||||
.HS FF
|
||||
>PSTR "C8"
|
||||
INY.E .HS 00
|
||||
JMP .DA JMP.E+1-*
|
||||
>PSTR "JMP"
|
||||
.HS 09
|
||||
>PSTR "6Caa"
|
||||
.HS 06
|
||||
>PSTR "4Caa"
|
||||
JMP.E .HS 00
|
||||
JSR .DA JSR.E+1-*
|
||||
>PSTR "JSR"
|
||||
.HS 06
|
||||
>PSTR "20aa"
|
||||
JSR.E .HS 00
|
||||
LDA .DA LDA.E+1-*
|
||||
>PSTR "LDA"
|
||||
.HS 01
|
||||
>PSTR "A9a"
|
||||
.HS 02
|
||||
>PSTR "B1a"
|
||||
.HS 03
|
||||
>PSTR "A1a"
|
||||
.HS 04
|
||||
>PSTR "A5a"
|
||||
.HS 05
|
||||
>PSTR "B5a"
|
||||
.HS 06
|
||||
>PSTR "Adaa"
|
||||
.HS 07
|
||||
>PSTR "Bdaa"
|
||||
.HS 08
|
||||
>PSTR "B9aa"
|
||||
LDA.E .HS 00
|
||||
LDX .DA LDX.E+1-*
|
||||
>PSTR "LDX"
|
||||
.HS 01
|
||||
>PSTR "A2a"
|
||||
.HS 04
|
||||
>PSTR "A6a"
|
||||
.HS 0A
|
||||
>PSTR "B6a"
|
||||
.HS 06
|
||||
>PSTR "Aeaa"
|
||||
.HS 08
|
||||
>PSTR "Beaa"
|
||||
LDX.E .HS 00
|
||||
LDY .DA LDY.E+1-*
|
||||
>PSTR "LDY"
|
||||
.HS 01
|
||||
>PSTR "A0a"
|
||||
.HS 04
|
||||
>PSTR "A4a"
|
||||
.HS 05
|
||||
>PSTR "B4a"
|
||||
.HS 06
|
||||
>PSTR "Acaa"
|
||||
.HS 07
|
||||
>PSTR "Bcaa"
|
||||
LDY.E .HS 00
|
||||
LSR .DA LSR.E+1-*
|
||||
>PSTR "LSR"
|
||||
.HS 04
|
||||
>PSTR "46a"
|
||||
.HS 05
|
||||
>PSTR "56a"
|
||||
.HS 06
|
||||
>PSTR "4Eaa"
|
||||
.HS 07
|
||||
>PSTR "5Eaa"
|
||||
.HS FF
|
||||
>PSTR "4A"
|
||||
LSR.E .HS 00
|
||||
NOP .DA NOP.E+1-*
|
||||
>PSTR "NOP"
|
||||
.HS FF
|
||||
>PSTR "EA"
|
||||
NOP.E .HS 00
|
||||
ORA .DA ORA.E+1-*
|
||||
>PSTR "ORA"
|
||||
.HS 01
|
||||
>PSTR "09a"
|
||||
.HS 02
|
||||
>PSTR "11a"
|
||||
.HS 03
|
||||
>PSTR "01a"
|
||||
.HS 04
|
||||
>PSTR "05a"
|
||||
.HS 05
|
||||
>PSTR "15a"
|
||||
.HS 06
|
||||
>PSTR "0Daa"
|
||||
.HS 07
|
||||
>PSTR "1Daa"
|
||||
.HS 08
|
||||
>PSTR "19aa"
|
||||
ORA.E .HS 00
|
||||
PHA .DA PHA.E+1-*
|
||||
>PSTR "PHA"
|
||||
.HS FF
|
||||
>PSTR "48"
|
||||
PHA.E .HS 00
|
||||
PHP .DA PHP.E+1-*
|
||||
>PSTR "PHP"
|
||||
.HS FF
|
||||
>PSTR "08"
|
||||
PHP.E .HS 00
|
||||
PLA .DA PLA.E+1-*
|
||||
>PSTR "PLA"
|
||||
.HS FF
|
||||
>PSTR "68"
|
||||
PLA.E .HS 00
|
||||
PLP .DA PLP.E+1-*
|
||||
>PSTR "PLP"
|
||||
.HS FF
|
||||
>PSTR "28"
|
||||
PLP.E .HS 00
|
||||
ROL .DA ROL.E+1-*
|
||||
>PSTR "ROL"
|
||||
.HS 04
|
||||
>PSTR "26a"
|
||||
.HS 05
|
||||
>PSTR "36a"
|
||||
.HS 06
|
||||
>PSTR "2Eaa"
|
||||
.HS 07
|
||||
>PSTR "3Eaa"
|
||||
.HS FF
|
||||
>PSTR "2A"
|
||||
ROL.E .HS 00
|
||||
ROR .DA ROR.E+1-*
|
||||
>PSTR "ROR"
|
||||
.HS 04
|
||||
>PSTR "66a"
|
||||
.HS 05
|
||||
>PSTR "76a"
|
||||
.HS 06
|
||||
>PSTR "6Eaa"
|
||||
.HS 07
|
||||
>PSTR "7Eaa"
|
||||
.HS FF
|
||||
>PSTR "6A"
|
||||
ROR.E .HS 00
|
||||
RTI .DA RTI.E+1-*
|
||||
>PSTR "RTI"
|
||||
.HS FF
|
||||
>PSTR "40"
|
||||
RTI.E .HS 00
|
||||
RTS .DA RTS.E+1-*
|
||||
>PSTR "RTS"
|
||||
.HS FF
|
||||
>PSTR "60"
|
||||
RTS.E .HS 00
|
||||
SBC .DA SBC.E+1-*
|
||||
>PSTR "SBC"
|
||||
.HS 01
|
||||
>PSTR "E9a"
|
||||
.HS 02
|
||||
>PSTR "F1a"
|
||||
.HS 03
|
||||
>PSTR "E1a"
|
||||
.HS 04
|
||||
>PSTR "E5a"
|
||||
.HS 05
|
||||
>PSTR "F5a"
|
||||
.HS 06
|
||||
>PSTR "Edaa"
|
||||
.HS 07
|
||||
>PSTR "Fdaa"
|
||||
.HS 08
|
||||
>PSTR "F9aa"
|
||||
SBC.E .HS 00
|
||||
SEC .DA SEC.E+1-*
|
||||
>PSTR "SEC"
|
||||
.HS FF
|
||||
>PSTR "38"
|
||||
SEC.E .HS 00
|
||||
SED .DA SED.E+1-*
|
||||
>PSTR "SED"
|
||||
.HS FF
|
||||
>PSTR "F8"
|
||||
SED.E .HS 00
|
||||
SEI .DA SEI.E+1-*
|
||||
>PSTR "SEI"
|
||||
.HS FF
|
||||
>PSTR "78"
|
||||
SEI.E .HS 00
|
||||
STA .DA STA.E+1-*
|
||||
>PSTR "STA"
|
||||
.HS 02
|
||||
>PSTR "91a"
|
||||
.HS 03
|
||||
>PSTR "81a"
|
||||
.HS 04
|
||||
>PSTR "85a"
|
||||
.HS 05
|
||||
>PSTR "95a"
|
||||
.HS 06
|
||||
>PSTR "8Daa"
|
||||
.HS 07
|
||||
>PSTR "9Daa"
|
||||
.HS 08
|
||||
>PSTR "99aa"
|
||||
STA.E .HS 00
|
||||
STX .DA STX.E+1-*
|
||||
>PSTR "STX"
|
||||
.HS 04
|
||||
>PSTR "86a"
|
||||
.HS 0A
|
||||
>PSTR "96a"
|
||||
.HS 06
|
||||
>PSTR "8Eaa"
|
||||
STX.E .HS 00
|
||||
STY .DA STY.E+1-*
|
||||
>PSTR "STY"
|
||||
.HS 04
|
||||
>PSTR "84a"
|
||||
.HS 05
|
||||
>PSTR "94a"
|
||||
.HS 06
|
||||
>PSTR "8Caa"
|
||||
STY.E .HS 00
|
||||
TAX .DA TAX.E+1-*
|
||||
>PSTR "TAX"
|
||||
.HS FF
|
||||
>PSTR "AA"
|
||||
TAX.E .HS 00
|
||||
TAY .DA TAY.E+1-*
|
||||
>PSTR "TAY"
|
||||
.HS FF
|
||||
>PSTR "A8"
|
||||
TAY.E .HS 00
|
||||
TSX .DA TSX.E+1-*
|
||||
>PSTR "TSX"
|
||||
.HS FF
|
||||
>PSTR "BA"
|
||||
TSX.E .HS 00
|
||||
TXA .DA TXA.E+1-*
|
||||
>PSTR "TXA"
|
||||
.HS FF
|
||||
>PSTR "8A"
|
||||
TXA.E .HS 00
|
||||
TXS .DA TXS.E+1-*
|
||||
>PSTR "TXS"
|
||||
.HS FF
|
||||
>PSTR "9A"
|
||||
TXS.E .HS 00
|
||||
TYA .DA TYA.E+1-*
|
||||
>PSTR "TYA"
|
||||
.HS FF
|
||||
>PSTR "98"
|
||||
ADC .DA ADC.E+1-*
|
||||
.DA #3,$$"ADC"
|
||||
.DA #1,#3,$$"69a"
|
||||
.DA #2,#3,$$"71a"
|
||||
.DA #3,#3,$$"61a"
|
||||
.DA #4,#3,$$"65a"
|
||||
.DA #5,#3,$$"75a"
|
||||
.DA #6,#4,$$"6Daa"
|
||||
.DA #7,#4,$$"7Daa"
|
||||
.DA #8,#4,$$"79aa"
|
||||
ADC.E .HS 00
|
||||
AND .DA AND.E+1-*
|
||||
.DA #3,$$"AND"
|
||||
.DA #1,#3,$$"29a"
|
||||
.DA #2,#3,$$"31a"
|
||||
.DA #3,#3,$$"21a"
|
||||
.DA #4,#3,$$"25a"
|
||||
.DA #5,#3,$$"35a"
|
||||
.DA #6,#4,$$"2Daa"
|
||||
.DA #7,#4,$$"3Daa"
|
||||
.DA #8,#4,$$"39aa"
|
||||
AND.E .HS 00
|
||||
ASL .DA ASL.E+1-*
|
||||
.DA #3,$$"ASL"
|
||||
.DA #4,#3,$$"06a"
|
||||
.DA #5,#3,$$"16a"
|
||||
.DA #6,#4,$$"0Eaa"
|
||||
.DA #7,#4,$$"1Eaa"
|
||||
.DA #255,#2,$$"0A"
|
||||
ASL.E .HS 00
|
||||
BCC .DA BCC.E+1-*
|
||||
.DA #3,$$"BCC"
|
||||
.DA #6,#3,$$"90r"
|
||||
BCC.E .HS 00
|
||||
BCS .DA BCS.E+1-*
|
||||
.DA #3,$$"BCS"
|
||||
.DA #6,#3,$$"B0r"
|
||||
BCS.E .HS 00
|
||||
BEQ .DA BEQ.E+1-*
|
||||
.DA #3,$$"BEQ"
|
||||
.DA #6,#3,$$"F0r"
|
||||
BEQ.E .HS 00
|
||||
BIT .DA BIT.E+1-*
|
||||
.DA #3,$$"BIT"
|
||||
.DA #4,#3,$$"24a"
|
||||
.DA #6,#4,$$"2Caa"
|
||||
BIT.E .HS 00
|
||||
BMI .DA BMI.E+1-*
|
||||
.DA #3,$$"BMI"
|
||||
.DA #6,#3,$$"30r"
|
||||
BMI.E .HS 00
|
||||
BNE .DA BNE.E+1-*
|
||||
.DA #3,$$"BNE"
|
||||
.DA #6,#3,$$"D0r"
|
||||
BNE.E .HS 00
|
||||
BPL .DA BPL.E+1-*
|
||||
.DA #3,$$"BPL"
|
||||
.DA #6,#3,$$"10r"
|
||||
BPL.E .HS 00
|
||||
BRK .DA BRK.E+1-*
|
||||
.DA #3,$$"BRK"
|
||||
.DA #255,#2,$$"00"
|
||||
BRK.E .HS 00
|
||||
BVC .DA BVC.E+1-*
|
||||
.DA #3,$$"BVC"
|
||||
.DA #6,#3,$$"50r"
|
||||
BVC.E .HS 00
|
||||
BVS .DA BVS.E+1-*
|
||||
.DA #3,$$"BVS"
|
||||
.DA #6,#3,$$"70r"
|
||||
BVS.E .HS 00
|
||||
CLC .DA CLC.E+1-*
|
||||
.DA #3,$$"CLC"
|
||||
.DA #255,#2,$$"18"
|
||||
CLC.E .HS 00
|
||||
CLD .DA CLD.E+1-*
|
||||
.DA #3,$$"CLD"
|
||||
.DA #255,#2,$$"D8"
|
||||
CLD.E .HS 00
|
||||
CLI .DA CLI.E+1-*
|
||||
.DA #3,$$"CLI"
|
||||
.DA #255,#2,$$"58"
|
||||
CLI.E .HS 00
|
||||
CLV .DA CLV.E+1-*
|
||||
.DA #3,$$"CLV"
|
||||
.DA #255,#2,$$"B8"
|
||||
CLV.E .HS 00
|
||||
CMP .DA CMP.E+1-*
|
||||
.DA #3,$$"CMP"
|
||||
.DA #1,#3,$$"C9a"
|
||||
.DA #2,#3,$$"D1a"
|
||||
.DA #3,#3,$$"C1a"
|
||||
.DA #4,#3,$$"C5a"
|
||||
.DA #5,#3,$$"D5a"
|
||||
.DA #6,#4,$$"CDaa"
|
||||
.DA #7,#4,$$"DDaa"
|
||||
.DA #8,#4,$$"D9aa"
|
||||
CMP.E .HS 00
|
||||
CPX .DA CPX.E+1-*
|
||||
.DA #3,$$"CPX"
|
||||
.DA #1,#3,$$"E0a"
|
||||
.DA #4,#3,$$"E4a"
|
||||
.DA #6,#4,$$"Ecaa"
|
||||
CPX.E .HS 00
|
||||
CPY .DA CPY.E+1-*
|
||||
.DA #3,$$"CPY"
|
||||
.DA #1,#3,$$"C0a"
|
||||
.DA #4,#3,$$"C4a"
|
||||
.DA #6,#4,$$"Ccaa"
|
||||
CPY.E .HS 00
|
||||
DEC .DA DEC.E+1-*
|
||||
.DA #3,$$"DEC"
|
||||
.DA #4,#3,$$"C6a"
|
||||
.DA #5,#3,$$"D6a"
|
||||
.DA #6,#4,$$"Ceaa"
|
||||
.DA #7,#4,$$"Deaa"
|
||||
DEC.E .HS 00
|
||||
DEX .DA DEX.E+1-*
|
||||
.DA #3,$$"DEX"
|
||||
.DA #255,#2,$$"CA"
|
||||
DEX.E .HS 00
|
||||
DEY .DA DEY.E+1-*
|
||||
.DA #3,$$"DEY"
|
||||
.DA #255,#2,$$"88"
|
||||
DEY.E .HS 00
|
||||
EOR .DA EOR.E+1-*
|
||||
.DA #3,$$"EOR"
|
||||
.DA #1,#3,$$"49a"
|
||||
.DA #2,#3,$$"51a"
|
||||
.DA #3,#3,$$"41a"
|
||||
.DA #4,#3,$$"45a"
|
||||
.DA #5,#3,$$"55a"
|
||||
.DA #6,#4,$$"4Daa"
|
||||
.DA #7,#4,$$"5Daa"
|
||||
.DA #8,#4,$$"59aa"
|
||||
EOR.E .HS 00
|
||||
INC .DA INC.E+1-*
|
||||
.DA #3,$$"INC"
|
||||
.DA #4,#3,$$"E6a"
|
||||
.DA #5,#3,$$"F6a"
|
||||
.DA #6,#4,$$"EEaa"
|
||||
.DA #7,#4,$$"FEaa"
|
||||
INC.E .HS 00
|
||||
INX .DA INX.E+1-*
|
||||
.DA #3,$$"INX"
|
||||
.DA #255,#2,$$"E8"
|
||||
INX.E .HS 00
|
||||
INY .DA INY.E+1-*
|
||||
.DA #3,$$"INY"
|
||||
.DA #255,#2,$$"C8"
|
||||
INY.E .HS 00
|
||||
JMP .DA JMP.E+1-*
|
||||
.DA #3,$$"JMP"
|
||||
.DA #9,#4,$$"6Caa"
|
||||
.DA #6,#4,$$"4Caa"
|
||||
JMP.E .HS 00
|
||||
JSR .DA JSR.E+1-*
|
||||
.DA #3,$$"JSR"
|
||||
.DA #6,#4,$$"20aa"
|
||||
JSR.E .HS 00
|
||||
LDA .DA LDA.E+1-*
|
||||
.DA #3,$$"LDA"
|
||||
.DA #1,#3,$$"A9a"
|
||||
.DA #2,#3,$$"B1a"
|
||||
.DA #3,#3,$$"A1a"
|
||||
.DA #4,#3,$$"A5a"
|
||||
.DA #5,#3,$$"B5a"
|
||||
.DA #6,#4,$$"ADaa"
|
||||
.DA #7,#4,$$"BDaa"
|
||||
.DA #8,#4,$$"B9aa"
|
||||
LDA.E .HS 00
|
||||
LDX .DA LDX.E+1-*
|
||||
.DA #3,$$"LDX"
|
||||
.DA #1,#3,$$"A2a"
|
||||
.DA #4,#3,$$"A6a"
|
||||
.DA #10,#3,$$"B6a"
|
||||
.DA #6,#4,$$"AEaa"
|
||||
.DA #8,#4,$$"BEaa"
|
||||
LDX.E .HS 00
|
||||
LDY .DA LDY.E+1-*
|
||||
.DA #3,$$"LDY"
|
||||
.DA #1,#3,$$"A0a"
|
||||
.DA #4,#3,$$"A4a"
|
||||
.DA #5,#3,$$"B4a"
|
||||
.DA #6,#4,$$"ACaa"
|
||||
.DA #7,#4,$$"BCaa"
|
||||
LDY.E .HS 00
|
||||
LSR .DA LSR.E+1-*
|
||||
.DA #3,$$"LSR"
|
||||
.DA #4,#3,$$"46a"
|
||||
.DA #5,#3,$$"56a"
|
||||
.DA #6,#4,$$"4Eaa"
|
||||
.DA #7,#4,$$"5Eaa"
|
||||
.DA #255,#2,$$"4A"
|
||||
LSR.E .HS 00
|
||||
NOP .DA NOP.E+1-*
|
||||
.DA #3,$$"NOP"
|
||||
.DA #255,#2,$$"EA"
|
||||
NOP.E .HS 00
|
||||
ORA .DA ORA.E+1-*
|
||||
.DA #3,$$"ORA"
|
||||
.DA #1,#3,$$"09a"
|
||||
.DA #2,#3,$$"11a"
|
||||
.DA #3,#3,$$"01a"
|
||||
.DA #4,#3,$$"05a"
|
||||
.DA #5,#3,$$"15a"
|
||||
.DA #6,#4,$$"0Daa"
|
||||
.DA #7,#4,$$"1Daa"
|
||||
.DA #8,#4,$$"19aa"
|
||||
ORA.E .HS 00
|
||||
PHA .DA PHA.E+1-*
|
||||
.DA #3,$$"PHA"
|
||||
.DA #255,#2,$$"48"
|
||||
PHA.E .HS 00
|
||||
PHP .DA PHP.E+1-*
|
||||
.DA #3,$$"PHP"
|
||||
.DA #255,#2,$$"08"
|
||||
PHP.E .HS 00
|
||||
PLA .DA PLA.E+1-*
|
||||
.DA #3,$$"PLA"
|
||||
.DA #255,#2,$$"68"
|
||||
PLA.E .HS 00
|
||||
PLP .DA PLP.E+1-*
|
||||
.DA #3,$$"PLP"
|
||||
.DA #255,#2,$$"28"
|
||||
PLP.E .HS 00
|
||||
ROL .DA ROL.E+1-*
|
||||
.DA #3,$$"ROL"
|
||||
.DA #4,#3,$$"26a"
|
||||
.DA #5,#3,$$"36a"
|
||||
.DA #6,#4,$$"2Eaa"
|
||||
.DA #7,#4,$$"3Eaa"
|
||||
.DA #255,#2,$$"2A"
|
||||
ROL.E .HS 00
|
||||
ROR .DA ROR.E+1-*
|
||||
.DA #3,$$"ROR"
|
||||
.DA #4,#3,$$"66a"
|
||||
.DA #5,#3,$$"76a"
|
||||
.DA #6,#4,$$"6Eaa"
|
||||
.DA #7,#4,$$"7Eaa"
|
||||
.DA #255,#2,$$"6A"
|
||||
ROR.E .HS 00
|
||||
RTI .DA RTI.E+1-*
|
||||
.DA #3,$$"RTI"
|
||||
.DA #255,#2,$$"40"
|
||||
RTI.E .HS 00
|
||||
RTS .DA RTS.E+1-*
|
||||
.DA #3,$$"RTS"
|
||||
.DA #255,#2,$$"60"
|
||||
RTS.E .HS 00
|
||||
SBC .DA SBC.E+1-*
|
||||
.DA #3,$$"SBC"
|
||||
.DA #1,#3,$$"E9a"
|
||||
.DA #2,#3,$$"F1a"
|
||||
.DA #3,#3,$$"E1a"
|
||||
.DA #4,#3,$$"E5a"
|
||||
.DA #5,#3,$$"F5a"
|
||||
.DA #6,#4,$$"EDaa"
|
||||
.DA #7,#4,$$"FDaa"
|
||||
.DA #8,#4,$$"F9aa"
|
||||
SBC.E .HS 00
|
||||
SEC .DA SEC.E+1-*
|
||||
.DA #3,$$"SEC"
|
||||
.DA #255,#2,$$"38"
|
||||
SEC.E .HS 00
|
||||
SED .DA SED.E+1-*
|
||||
.DA #3,$$"SED"
|
||||
.DA #255,#2,$$"F8"
|
||||
SED.E .HS 00
|
||||
SEI .DA SEI.E+1-*
|
||||
.DA #3,$$"SEI"
|
||||
.DA #255,#2,$$"78"
|
||||
SEI.E .HS 00
|
||||
STA .DA STA.E+1-*
|
||||
.DA #3,$$"STA"
|
||||
.DA #2,#3,$$"91a"
|
||||
.DA #3,#3,$$"81a"
|
||||
.DA #4,#3,$$"85a"
|
||||
.DA #5,#3,$$"95a"
|
||||
.DA #6,#4,$$"8Daa"
|
||||
.DA #7,#4,$$"9Daa"
|
||||
.DA #8,#4,$$"99aa"
|
||||
STA.E .HS 00
|
||||
STX .DA STX.E+1-*
|
||||
.DA #3,$$"STX"
|
||||
.DA #4,#3,$$"86a"
|
||||
.DA #10,#3,$$"96a"
|
||||
.DA #6,#4,$$"8Eaa"
|
||||
STX.E .HS 00
|
||||
STY .DA STY.E+1-*
|
||||
.DA #3,$$"STY"
|
||||
.DA #4,#3,$$"84a"
|
||||
.DA #5,#3,$$"94a"
|
||||
.DA #6,#4,$$"8Caa"
|
||||
STY.E .HS 00
|
||||
TAX .DA TAX.E+1-*
|
||||
.DA #3,$$"TAX"
|
||||
.DA #255,#2,$$"AA"
|
||||
TAX.E .HS 00
|
||||
TAY .DA TAY.E+1-*
|
||||
.DA #3,$$"TAY"
|
||||
.DA #255,#2,$$"A8"
|
||||
TAY.E .HS 00
|
||||
TSX .DA TSX.E+1-*
|
||||
.DA #3,$$"TSX"
|
||||
.DA #255,#2,$$"BA"
|
||||
TSX.E .HS 00
|
||||
TXA .DA TXA.E+1-*
|
||||
.DA #3,$$"TXA"
|
||||
.DA #255,#2,$$"8A"
|
||||
TXA.E .HS 00
|
||||
TXS .DA TXS.E+1-*
|
||||
.DA #3,$$"TXS"
|
||||
.DA #255,#2,$$"9A"
|
||||
TXS.E .HS 00
|
||||
TYA .DA TYA.E+1-*
|
||||
.DA #3,$$"TYA"
|
||||
.DA #255,#2,$$"98"
|
||||
TYA.E .HS 00
|
||||
.HS 0000
|
||||
*---------------------------------------
|
||||
|
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.6502
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -3,32 +3,32 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "#a"
|
||||
>PSTR "(a)"
|
||||
>PSTR "(a),Y"
|
||||
>PSTR "(a,S),Y"
|
||||
>PSTR "(a,X)"
|
||||
>PSTR "[a]"
|
||||
>PSTR "[a],Y"
|
||||
>PSTR "a"
|
||||
>PSTR "a,S"
|
||||
>PSTR "a,X"
|
||||
>PSTR "aa"
|
||||
>PSTR "aa,X"
|
||||
>PSTR "aa,Y"
|
||||
>PSTR "aaa"
|
||||
>PSTR "aaa,X"
|
||||
>PSTR "(aa)"
|
||||
>PSTR "(aa,X)"
|
||||
>PSTR "[aa]"
|
||||
>PSTR "a,Y"
|
||||
>PSTR "a,b"
|
||||
.DA #2,$$"#a"
|
||||
.DA #3,$$"(a)"
|
||||
.DA #5,$$"(a),Y"
|
||||
.DA #7,$$"(a,S),Y"
|
||||
.DA #5,$$"(a,X)"
|
||||
.DA #3,$$"[a]"
|
||||
.DA #5,$$"[a],Y"
|
||||
.DA #1,$$"a"
|
||||
.DA #3,$$"a,S"
|
||||
.DA #3,$$"a,X"
|
||||
.DA #2,$$"aa"
|
||||
.DA #4,$$"aa,X"
|
||||
.DA #4,$$"aa,Y"
|
||||
.DA #3,$$"aaa"
|
||||
.DA #5,$$"aaa,X"
|
||||
.DA #4,$$"(aa)"
|
||||
.DA #6,$$"(aa,X)"
|
||||
.DA #4,$$"[aa]"
|
||||
.DA #3,$$"a,Y"
|
||||
.DA #3,$$"a,b"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "Y"
|
||||
>PSTR "S"
|
||||
>PSTR "X"
|
||||
.DA #1,$$"Y"
|
||||
.DA #1,$$"S"
|
||||
.DA #1,$$"X"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.65816
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -3,23 +3,23 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "#a"
|
||||
>PSTR "(a)"
|
||||
>PSTR "(a),Y"
|
||||
>PSTR "(a,X)"
|
||||
>PSTR "a"
|
||||
>PSTR "a,X"
|
||||
>PSTR "aa"
|
||||
>PSTR "aa,X"
|
||||
>PSTR "aa,Y"
|
||||
>PSTR "(aa)"
|
||||
>PSTR "(aa,X)"
|
||||
>PSTR "a,Y"
|
||||
.DA #2,$$"#a"
|
||||
.DA #3,$$"(a)"
|
||||
.DA #5,$$"(a),Y"
|
||||
.DA #5,$$"(a,X)"
|
||||
.DA #1,$$"a"
|
||||
.DA #3,$$"a,X"
|
||||
.DA #2,$$"aa"
|
||||
.DA #4,$$"aa,X"
|
||||
.DA #4,$$"aa,Y"
|
||||
.DA #4,$$"(aa)"
|
||||
.DA #6,$$"(aa,X)"
|
||||
.DA #3,$$"a,Y"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "Y"
|
||||
>PSTR "X"
|
||||
.DA #1,$$"Y"
|
||||
.DA #1,$$"X"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
@ -3,563 +3,383 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.OPCODES .EQ *
|
||||
ADC .DA ADC.E+1-*
|
||||
>PSTR "ADC"
|
||||
.HS 01
|
||||
>PSTR "69a"
|
||||
.HS 02
|
||||
>PSTR "72a"
|
||||
.HS 03
|
||||
>PSTR "71a"
|
||||
.HS 04
|
||||
>PSTR "61a"
|
||||
.HS 05
|
||||
>PSTR "65a"
|
||||
.HS 06
|
||||
>PSTR "75a"
|
||||
.HS 07
|
||||
>PSTR "6Daa"
|
||||
.HS 08
|
||||
>PSTR "7Daa"
|
||||
.HS 09
|
||||
>PSTR "79aa"
|
||||
ADC.E .HS 00
|
||||
AND .DA AND.E+1-*
|
||||
>PSTR "AND"
|
||||
.HS 01
|
||||
>PSTR "29a"
|
||||
.HS 02
|
||||
>PSTR "32a"
|
||||
.HS 03
|
||||
>PSTR "31a"
|
||||
.HS 04
|
||||
>PSTR "21a"
|
||||
.HS 05
|
||||
>PSTR "25a"
|
||||
.HS 06
|
||||
>PSTR "35a"
|
||||
.HS 07
|
||||
>PSTR "2Daa"
|
||||
.HS 08
|
||||
>PSTR "3Daa"
|
||||
.HS 09
|
||||
>PSTR "39aa"
|
||||
AND.E .HS 00
|
||||
ASL .DA ASL.E+1-*
|
||||
>PSTR "ASL"
|
||||
.HS 05
|
||||
>PSTR "06a"
|
||||
.HS 06
|
||||
>PSTR "16a"
|
||||
.HS 07
|
||||
>PSTR "0Eaa"
|
||||
.HS 08
|
||||
>PSTR "1Eaa"
|
||||
.HS FF
|
||||
>PSTR "0A"
|
||||
ASL.E .HS 00
|
||||
BCC .DA BCC.E+1-*
|
||||
>PSTR "BCC"
|
||||
.HS 07
|
||||
>PSTR "90r"
|
||||
BCC.E .HS 00
|
||||
BCS .DA BCS.E+1-*
|
||||
>PSTR "BCS"
|
||||
.HS 07
|
||||
>PSTR "B0r"
|
||||
BCS.E .HS 00
|
||||
BEQ .DA BEQ.E+1-*
|
||||
>PSTR "BEQ"
|
||||
.HS 07
|
||||
>PSTR "F0r"
|
||||
BEQ.E .HS 00
|
||||
BIT .DA BIT.E+1-*
|
||||
>PSTR "BIT"
|
||||
.HS 01
|
||||
>PSTR "89a"
|
||||
.HS 05
|
||||
>PSTR "24a"
|
||||
.HS 06
|
||||
>PSTR "34a"
|
||||
.HS 07
|
||||
>PSTR "2Caa"
|
||||
.HS 08
|
||||
>PSTR "3Caa"
|
||||
BIT.E .HS 00
|
||||
BMI .DA BMI.E+1-*
|
||||
>PSTR "BMI"
|
||||
.HS 07
|
||||
>PSTR "30r"
|
||||
BMI.E .HS 00
|
||||
BNE .DA BNE.E+1-*
|
||||
>PSTR "BNE"
|
||||
.HS 07
|
||||
>PSTR "D0r"
|
||||
BNE.E .HS 00
|
||||
BPL .DA BPL.E+1-*
|
||||
>PSTR "BPL"
|
||||
.HS 07
|
||||
>PSTR "10r"
|
||||
BPL.E .HS 00
|
||||
BRA .DA BRA.E+1-*
|
||||
>PSTR "BRA"
|
||||
.HS 07
|
||||
>PSTR "80r"
|
||||
BRA.E .HS 00
|
||||
BRK .DA BRK.E+1-*
|
||||
>PSTR "BRK"
|
||||
.HS FF
|
||||
>PSTR "00"
|
||||
BRK.E .HS 00
|
||||
BVC .DA BVC.E+1-*
|
||||
>PSTR "BVC"
|
||||
.HS 07
|
||||
>PSTR "50r"
|
||||
BVC.E .HS 00
|
||||
BVS .DA BVS.E+1-*
|
||||
>PSTR "BVS"
|
||||
.HS 07
|
||||
>PSTR "70r"
|
||||
BVS.E .HS 00
|
||||
CLC .DA CLC.E+1-*
|
||||
>PSTR "CLC"
|
||||
.HS FF
|
||||
>PSTR "18"
|
||||
CLC.E .HS 00
|
||||
CLD .DA CLD.E+1-*
|
||||
>PSTR "CLD"
|
||||
.HS FF
|
||||
>PSTR "D8"
|
||||
CLD.E .HS 00
|
||||
CLI .DA CLI.E+1-*
|
||||
>PSTR "CLI"
|
||||
.HS FF
|
||||
>PSTR "58"
|
||||
CLI.E .HS 00
|
||||
CLV .DA CLV.E+1-*
|
||||
>PSTR "CLV"
|
||||
.HS FF
|
||||
>PSTR "B8"
|
||||
CLV.E .HS 00
|
||||
CMP .DA CMP.E+1-*
|
||||
>PSTR "CMP"
|
||||
.HS 01
|
||||
>PSTR "C9a"
|
||||
.HS 02
|
||||
>PSTR "D2a"
|
||||
.HS 03
|
||||
>PSTR "D1a"
|
||||
.HS 04
|
||||
>PSTR "C1a"
|
||||
.HS 05
|
||||
>PSTR "C5a"
|
||||
.HS 06
|
||||
>PSTR "D5a"
|
||||
.HS 07
|
||||
>PSTR "CDaa"
|
||||
.HS 08
|
||||
>PSTR "DDaa"
|
||||
.HS 09
|
||||
>PSTR "D9aa"
|
||||
CMP.E .HS 00
|
||||
CPX .DA CPX.E+1-*
|
||||
>PSTR "CPX"
|
||||
.HS 01
|
||||
>PSTR "E0a"
|
||||
.HS 05
|
||||
>PSTR "E4a"
|
||||
.HS 07
|
||||
>PSTR "ECaa"
|
||||
CPX.E .HS 00
|
||||
CPY .DA CPY.E+1-*
|
||||
>PSTR "CPY"
|
||||
.HS 01
|
||||
>PSTR "C0a"
|
||||
.HS 05
|
||||
>PSTR "C4a"
|
||||
.HS 07
|
||||
>PSTR "CCaa"
|
||||
CPY.E .HS 00
|
||||
DEC .DA DEC.E+1-*
|
||||
>PSTR "DEC"
|
||||
.HS 05
|
||||
>PSTR "C6a"
|
||||
.HS 06
|
||||
>PSTR "D6a"
|
||||
.HS 07
|
||||
>PSTR "CEaa"
|
||||
.HS 08
|
||||
>PSTR "DEaa"
|
||||
.HS FF
|
||||
>PSTR "3A"
|
||||
DEC.E .HS 00
|
||||
DEX .DA DEX.E+1-*
|
||||
>PSTR "DEX"
|
||||
.HS FF
|
||||
>PSTR "CA"
|
||||
DEX.E .HS 00
|
||||
DEY .DA DEY.E+1-*
|
||||
>PSTR "DEY"
|
||||
.HS FF
|
||||
>PSTR "88"
|
||||
DEY.E .HS 00
|
||||
EOR .DA EOR.E+1-*
|
||||
>PSTR "EOR"
|
||||
.HS 01
|
||||
>PSTR "49a"
|
||||
.HS 02
|
||||
>PSTR "52a"
|
||||
.HS 03
|
||||
>PSTR "51a"
|
||||
.HS 04
|
||||
>PSTR "41a"
|
||||
.HS 05
|
||||
>PSTR "45a"
|
||||
.HS 06
|
||||
>PSTR "55a"
|
||||
.HS 07
|
||||
>PSTR "4Daa"
|
||||
.HS 08
|
||||
>PSTR "5Daa"
|
||||
.HS 09
|
||||
>PSTR "59aa"
|
||||
EOR.E .HS 00
|
||||
INC .DA INC.E+1-*
|
||||
>PSTR "INC"
|
||||
.HS 05
|
||||
>PSTR "E6a"
|
||||
.HS 06
|
||||
>PSTR "F6a"
|
||||
.HS 07
|
||||
>PSTR "EEaa"
|
||||
.HS 08
|
||||
>PSTR "FEaa"
|
||||
.HS FF
|
||||
>PSTR "1A"
|
||||
INC.E .HS 00
|
||||
INX .DA INX.E+1-*
|
||||
>PSTR "INX"
|
||||
.HS FF
|
||||
>PSTR "E8"
|
||||
INX.E .HS 00
|
||||
INY .DA INY.E+1-*
|
||||
>PSTR "INY"
|
||||
.HS FF
|
||||
>PSTR "C8"
|
||||
INY.E .HS 00
|
||||
JMP .DA JMP.E+1-*
|
||||
>PSTR "JMP"
|
||||
.HS 0A
|
||||
>PSTR "6Caa"
|
||||
.HS 0B
|
||||
>PSTR "7Caa"
|
||||
.HS 07
|
||||
>PSTR "4Caa"
|
||||
JMP.E .HS 00
|
||||
JSR .DA JSR.E+1-*
|
||||
>PSTR "JSR"
|
||||
.HS 07
|
||||
>PSTR "20aa"
|
||||
JSR.E .HS 00
|
||||
LDA .DA LDA.E+1-*
|
||||
>PSTR "LDA"
|
||||
.HS 01
|
||||
>PSTR "A9a"
|
||||
.HS 02
|
||||
>PSTR "B2a"
|
||||
.HS 03
|
||||
>PSTR "B1a"
|
||||
.HS 04
|
||||
>PSTR "A1a"
|
||||
.HS 05
|
||||
>PSTR "A5a"
|
||||
.HS 06
|
||||
>PSTR "B5a"
|
||||
.HS 07
|
||||
>PSTR "ADaa"
|
||||
.HS 08
|
||||
>PSTR "BDaa"
|
||||
.HS 09
|
||||
>PSTR "B9aa"
|
||||
LDA.E .HS 00
|
||||
LDX .DA LDX.E+1-*
|
||||
>PSTR "LDX"
|
||||
.HS 01
|
||||
>PSTR "A2a"
|
||||
.HS 05
|
||||
>PSTR "A6a"
|
||||
.HS 0C
|
||||
>PSTR "B6a"
|
||||
.HS 07
|
||||
>PSTR "AEaa"
|
||||
.HS 09
|
||||
>PSTR "BEaa"
|
||||
LDX.E .HS 00
|
||||
LDY .DA LDY.E+1-*
|
||||
>PSTR "LDY"
|
||||
.HS 01
|
||||
>PSTR "A0a"
|
||||
.HS 05
|
||||
>PSTR "A4a"
|
||||
.HS 06
|
||||
>PSTR "B4a"
|
||||
.HS 07
|
||||
>PSTR "ACaa"
|
||||
.HS 08
|
||||
>PSTR "BCaa"
|
||||
LDY.E .HS 00
|
||||
LSR .DA LSR.E+1-*
|
||||
>PSTR "LSR"
|
||||
.HS 05
|
||||
>PSTR "46a"
|
||||
.HS 06
|
||||
>PSTR "56a"
|
||||
.HS 07
|
||||
>PSTR "4Eaa"
|
||||
.HS 08
|
||||
>PSTR "5Eaa"
|
||||
.HS FF
|
||||
>PSTR "4A"
|
||||
LSR.E .HS 00
|
||||
NOP .DA NOP.E+1-*
|
||||
>PSTR "NOP"
|
||||
.HS FF
|
||||
>PSTR "EA"
|
||||
NOP.E .HS 00
|
||||
ORA .DA ORA.E+1-*
|
||||
>PSTR "ORA"
|
||||
.HS 01
|
||||
>PSTR "09a"
|
||||
.HS 02
|
||||
>PSTR "12a"
|
||||
.HS 03
|
||||
>PSTR "11a"
|
||||
.HS 04
|
||||
>PSTR "01a"
|
||||
.HS 05
|
||||
>PSTR "05a"
|
||||
.HS 06
|
||||
>PSTR "15a"
|
||||
.HS 07
|
||||
>PSTR "0Daa"
|
||||
.HS 08
|
||||
>PSTR "1Daa"
|
||||
.HS 09
|
||||
>PSTR "19aa"
|
||||
ORA.E .HS 00
|
||||
PHA .DA PHA.E+1-*
|
||||
>PSTR "PHA"
|
||||
.HS FF
|
||||
>PSTR "48"
|
||||
PHA.E .HS 00
|
||||
PHP .DA PHP.E+1-*
|
||||
>PSTR "PHP"
|
||||
.HS FF
|
||||
>PSTR "08"
|
||||
PHP.E .HS 00
|
||||
PHX .DA PHX.E+1-*
|
||||
>PSTR "PHX"
|
||||
.HS FF
|
||||
>PSTR "DA"
|
||||
PHX.E .HS 00
|
||||
PHY .DA PHY.E+1-*
|
||||
>PSTR "PHY"
|
||||
.HS FF
|
||||
>PSTR "5A"
|
||||
PHY.E .HS 00
|
||||
PLA .DA PLA.E+1-*
|
||||
>PSTR "PLA"
|
||||
.HS FF
|
||||
>PSTR "68"
|
||||
PLA.E .HS 00
|
||||
PLP .DA PLP.E+1-*
|
||||
>PSTR "PLP"
|
||||
.HS FF
|
||||
>PSTR "28"
|
||||
PLP.E .HS 00
|
||||
PLX .DA PLX.E+1-*
|
||||
>PSTR "PLX"
|
||||
.HS FF
|
||||
>PSTR "FA"
|
||||
PLX.E .HS 00
|
||||
PLY .DA PLY.E+1-*
|
||||
>PSTR "PLY"
|
||||
.HS FF
|
||||
>PSTR "7A"
|
||||
PLY.E .HS 00
|
||||
ROL .DA ROL.E+1-*
|
||||
>PSTR "ROL"
|
||||
.HS 05
|
||||
>PSTR "26a"
|
||||
.HS 06
|
||||
>PSTR "36a"
|
||||
.HS 07
|
||||
>PSTR "2Eaa"
|
||||
.HS 08
|
||||
>PSTR "3Eaa"
|
||||
.HS FF
|
||||
>PSTR "2A"
|
||||
ROL.E .HS 00
|
||||
ROR .DA ROR.E+1-*
|
||||
>PSTR "ROR"
|
||||
.HS 05
|
||||
>PSTR "66a"
|
||||
.HS 06
|
||||
>PSTR "76a"
|
||||
.HS 07
|
||||
>PSTR "6Eaa"
|
||||
.HS 08
|
||||
>PSTR "7Eaa"
|
||||
.HS FF
|
||||
>PSTR "6A"
|
||||
ROR.E .HS 00
|
||||
RTI .DA RTI.E+1-*
|
||||
>PSTR "RTI"
|
||||
.HS FF
|
||||
>PSTR "40"
|
||||
RTI.E .HS 00
|
||||
RTS .DA RTS.E+1-*
|
||||
>PSTR "RTS"
|
||||
.HS FF
|
||||
>PSTR "60"
|
||||
RTS.E .HS 00
|
||||
SBC .DA SBC.E+1-*
|
||||
>PSTR "SBC"
|
||||
.HS 01
|
||||
>PSTR "E9a"
|
||||
.HS 02
|
||||
>PSTR "F2a"
|
||||
.HS 03
|
||||
>PSTR "F1a"
|
||||
.HS 04
|
||||
>PSTR "E1a"
|
||||
.HS 05
|
||||
>PSTR "E5a"
|
||||
.HS 06
|
||||
>PSTR "F5a"
|
||||
.HS 07
|
||||
>PSTR "EDaa"
|
||||
.HS 08
|
||||
>PSTR "FDaa"
|
||||
.HS 09
|
||||
>PSTR "F9aa"
|
||||
SBC.E .HS 00
|
||||
SEC .DA SEC.E+1-*
|
||||
>PSTR "SEC"
|
||||
.HS FF
|
||||
>PSTR "38"
|
||||
SEC.E .HS 00
|
||||
SED .DA SED.E+1-*
|
||||
>PSTR "SED"
|
||||
.HS FF
|
||||
>PSTR "F8"
|
||||
SED.E .HS 00
|
||||
SEI .DA SEI.E+1-*
|
||||
>PSTR "SEI"
|
||||
.HS FF
|
||||
>PSTR "78"
|
||||
SEI.E .HS 00
|
||||
STA .DA STA.E+1-*
|
||||
>PSTR "STA"
|
||||
.HS 02
|
||||
>PSTR "92a"
|
||||
.HS 03
|
||||
>PSTR "91a"
|
||||
.HS 04
|
||||
>PSTR "81a"
|
||||
.HS 05
|
||||
>PSTR "85a"
|
||||
.HS 06
|
||||
>PSTR "95a"
|
||||
.HS 07
|
||||
>PSTR "8Daa"
|
||||
.HS 08
|
||||
>PSTR "9Daa"
|
||||
.HS 09
|
||||
>PSTR "99aa"
|
||||
STA.E .HS 00
|
||||
STP .DA STP.E+1-*
|
||||
>PSTR "STP"
|
||||
.HS FF
|
||||
>PSTR "DB"
|
||||
STP.E .HS 00
|
||||
STX .DA STX.E+1-*
|
||||
>PSTR "STX"
|
||||
.HS 05
|
||||
>PSTR "86a"
|
||||
.HS 0C
|
||||
>PSTR "96a"
|
||||
.HS 07
|
||||
>PSTR "8Eaa"
|
||||
STX.E .HS 00
|
||||
STY .DA STY.E+1-*
|
||||
>PSTR "STY"
|
||||
.HS 05
|
||||
>PSTR "84a"
|
||||
.HS 06
|
||||
>PSTR "94a"
|
||||
.HS 07
|
||||
>PSTR "8Caa"
|
||||
STY.E .HS 00
|
||||
STZ .DA STZ.E+1-*
|
||||
>PSTR "STZ"
|
||||
.HS 05
|
||||
>PSTR "64a"
|
||||
.HS 06
|
||||
>PSTR "74a"
|
||||
.HS 07
|
||||
>PSTR "9Caa"
|
||||
.HS 08
|
||||
>PSTR "9Eaa"
|
||||
STZ.E .HS 00
|
||||
TAX .DA TAX.E+1-*
|
||||
>PSTR "TAX"
|
||||
.HS FF
|
||||
>PSTR "AA"
|
||||
TAX.E .HS 00
|
||||
TAY .DA TAY.E+1-*
|
||||
>PSTR "TAY"
|
||||
.HS FF
|
||||
>PSTR "A8"
|
||||
TAY.E .HS 00
|
||||
TRB .DA TRB.E+1-*
|
||||
>PSTR "TRB"
|
||||
.HS 05
|
||||
>PSTR "14a"
|
||||
.HS 07
|
||||
>PSTR "1Caa"
|
||||
TRB.E .HS 00
|
||||
TSB .DA TSB.E+1-*
|
||||
>PSTR "TSB"
|
||||
.HS 05
|
||||
>PSTR "04a"
|
||||
.HS 07
|
||||
>PSTR "0Caa"
|
||||
TSB.E .HS 00
|
||||
TSX .DA TSX.E+1-*
|
||||
>PSTR "TSX"
|
||||
.HS FF
|
||||
>PSTR "BA"
|
||||
TSX.E .HS 00
|
||||
TXA .DA TXA.E+1-*
|
||||
>PSTR "TXA"
|
||||
.HS FF
|
||||
>PSTR "8A"
|
||||
TXA.E .HS 00
|
||||
TXS .DA TXS.E+1-*
|
||||
>PSTR "TXS"
|
||||
.HS FF
|
||||
>PSTR "9A"
|
||||
TXS.E .HS 00
|
||||
TYA .DA TYA.E+1-*
|
||||
>PSTR "TYA"
|
||||
.HS FF
|
||||
>PSTR "98"
|
||||
TYA.E .HS 00
|
||||
WAI .DA WAI.E+1-*
|
||||
>PSTR "WAI"
|
||||
.HS FF
|
||||
>PSTR "CB"
|
||||
ADC .DA ADC.E+1-*
|
||||
.DA #3,$$"ADC"
|
||||
.DA #1,#3,$$"69a"
|
||||
.DA #2,#3,$$"72a"
|
||||
.DA #3,#3,$$"71a"
|
||||
.DA #4,#3,$$"61a"
|
||||
.DA #5,#3,$$"65a"
|
||||
.DA #6,#3,$$"75a"
|
||||
.DA #7,#4,$$"6Daa"
|
||||
.DA #8,#4,$$"7Daa"
|
||||
.DA #9,#4,$$"79aa"
|
||||
ADC.E .HS 00
|
||||
AND .DA AND.E+1-*
|
||||
.DA #3,$$"AND"
|
||||
.DA #1,#3,$$"29a"
|
||||
.DA #2,#3,$$"32a"
|
||||
.DA #3,#3,$$"31a"
|
||||
.DA #4,#3,$$"21a"
|
||||
.DA #5,#3,$$"25a"
|
||||
.DA #6,#3,$$"35a"
|
||||
.DA #7,#4,$$"2Daa"
|
||||
.DA #8,#4,$$"3Daa"
|
||||
.DA #9,#4,$$"39aa"
|
||||
AND.E .HS 00
|
||||
ASL .DA ASL.E+1-*
|
||||
.DA #3,$$"ASL"
|
||||
.DA #5,#3,$$"06a"
|
||||
.DA #6,#3,$$"16a"
|
||||
.DA #7,#4,$$"0Eaa"
|
||||
.DA #8,#4,$$"1Eaa"
|
||||
.DA #255,#2,$$"0A"
|
||||
ASL.E .HS 00
|
||||
BCC .DA BCC.E+1-*
|
||||
.DA #3,$$"BCC"
|
||||
.DA #7,#3,$$"90r"
|
||||
BCC.E .HS 00
|
||||
BCS .DA BCS.E+1-*
|
||||
.DA #3,$$"BCS"
|
||||
.DA #7,#3,$$"B0r"
|
||||
BCS.E .HS 00
|
||||
BEQ .DA BEQ.E+1-*
|
||||
.DA #3,$$"BEQ"
|
||||
.DA #7,#3,$$"F0r"
|
||||
BEQ.E .HS 00
|
||||
BIT .DA BIT.E+1-*
|
||||
.DA #3,$$"BIT"
|
||||
.DA #1,#3,$$"89a"
|
||||
.DA #5,#3,$$"24a"
|
||||
.DA #6,#3,$$"34a"
|
||||
.DA #7,#4,$$"2Caa"
|
||||
.DA #8,#4,$$"3Caa"
|
||||
BIT.E .HS 00
|
||||
BMI .DA BMI.E+1-*
|
||||
.DA #3,$$"BMI"
|
||||
.DA #7,#3,$$"30r"
|
||||
BMI.E .HS 00
|
||||
BNE .DA BNE.E+1-*
|
||||
.DA #3,$$"BNE"
|
||||
.DA #7,#3,$$"D0r"
|
||||
BNE.E .HS 00
|
||||
BPL .DA BPL.E+1-*
|
||||
.DA #3,$$"BPL"
|
||||
.DA #7,#3,$$"10r"
|
||||
BPL.E .HS 00
|
||||
BRA .DA BRA.E+1-*
|
||||
.DA #3,$$"BRA"
|
||||
.DA #7,#3,$$"80r"
|
||||
BRA.E .HS 00
|
||||
BRK .DA BRK.E+1-*
|
||||
.DA #3,$$"BRK"
|
||||
.DA #255,#2,$$"00"
|
||||
BRK.E .HS 00
|
||||
BVC .DA BVC.E+1-*
|
||||
.DA #3,$$"BVC"
|
||||
.DA #7,#3,$$"50r"
|
||||
BVC.E .HS 00
|
||||
BVS .DA BVS.E+1-*
|
||||
.DA #3,$$"BVS"
|
||||
.DA #7,#3,$$"70r"
|
||||
BVS.E .HS 00
|
||||
CLC .DA CLC.E+1-*
|
||||
.DA #3,$$"CLC"
|
||||
.DA #255,#2,$$"18"
|
||||
CLC.E .HS 00
|
||||
CLD .DA CLD.E+1-*
|
||||
.DA #3,$$"CLD"
|
||||
.DA #255,#2,$$"D8"
|
||||
CLD.E .HS 00
|
||||
CLI .DA CLI.E+1-*
|
||||
.DA #3,$$"CLI"
|
||||
.DA #255,#2,$$"58"
|
||||
CLI.E .HS 00
|
||||
CLV .DA CLV.E+1-*
|
||||
.DA #3,$$"CLV"
|
||||
.DA #255,#2,$$"B8"
|
||||
CLV.E .HS 00
|
||||
CMP .DA CMP.E+1-*
|
||||
.DA #3,$$"CMP"
|
||||
.DA #1,#3,$$"C9a"
|
||||
.DA #2,#3,$$"D2a"
|
||||
.DA #3,#3,$$"D1a"
|
||||
.DA #4,#3,$$"C1a"
|
||||
.DA #5,#3,$$"C5a"
|
||||
.DA #6,#3,$$"D5a"
|
||||
.DA #7,#4,$$"CDaa"
|
||||
.DA #8,#4,$$"DDaa"
|
||||
.DA #9,#4,$$"D9aa"
|
||||
CMP.E .HS 00
|
||||
CPX .DA CPX.E+1-*
|
||||
.DA #3,$$"CPX"
|
||||
.DA #1,#3,$$"E0a"
|
||||
.DA #5,#3,$$"E4a"
|
||||
.DA #7,#4,$$"ECaa"
|
||||
CPX.E .HS 00
|
||||
CPY .DA CPY.E+1-*
|
||||
.DA #3,$$"CPY"
|
||||
.DA #1,#3,$$"C0a"
|
||||
.DA #5,#3,$$"C4a"
|
||||
.DA #7,#4,$$"CCaa"
|
||||
CPY.E .HS 00
|
||||
DEC .DA DEC.E+1-*
|
||||
.DA #3,$$"DEC"
|
||||
.DA #5,#3,$$"C6a"
|
||||
.DA #6,#3,$$"D6a"
|
||||
.DA #7,#4,$$"CEaa"
|
||||
.DA #8,#4,$$"DEaa"
|
||||
.DA #255,#2,$$"3A"
|
||||
DEC.E .HS 00
|
||||
DEX .DA DEX.E+1-*
|
||||
.DA #3,$$"DEX"
|
||||
.DA #255,#2,$$"CA"
|
||||
DEX.E .HS 00
|
||||
DEY .DA DEY.E+1-*
|
||||
.DA #3,$$"DEY"
|
||||
.DA #255,#2,$$"88"
|
||||
DEY.E .HS 00
|
||||
EOR .DA EOR.E+1-*
|
||||
.DA #3,$$"EOR"
|
||||
.DA #1,#3,$$"49a"
|
||||
.DA #2,#3,$$"52a"
|
||||
.DA #3,#3,$$"51a"
|
||||
.DA #4,#3,$$"41a"
|
||||
.DA #5,#3,$$"45a"
|
||||
.DA #6,#3,$$"55a"
|
||||
.DA #7,#4,$$"4Daa"
|
||||
.DA #8,#4,$$"5Daa"
|
||||
.DA #9,#4,$$"59aa"
|
||||
EOR.E .HS 00
|
||||
INC .DA INC.E+1-*
|
||||
.DA #3,$$"INC"
|
||||
.DA #5,#3,$$"E6a"
|
||||
.DA #6,#3,$$"F6a"
|
||||
.DA #7,#4,$$"EEaa"
|
||||
.DA #8,#4,$$"FEaa"
|
||||
.DA #255,#2,$$"1A"
|
||||
INC.E .HS 00
|
||||
INX .DA INX.E+1-*
|
||||
.DA #3,$$"INX"
|
||||
.DA #255,#2,$$"E8"
|
||||
INX.E .HS 00
|
||||
INY .DA INY.E+1-*
|
||||
.DA #3,$$"INY"
|
||||
.DA #255,#2,$$"C8"
|
||||
INY.E .HS 00
|
||||
JMP .DA JMP.E+1-*
|
||||
.DA #3,$$"JMP"
|
||||
.DA #10,#4,$$"6Caa"
|
||||
.DA #11,#4,$$"7Caa"
|
||||
.DA #7,#4,$$"4Caa"
|
||||
JMP.E .HS 00
|
||||
JSR .DA JSR.E+1-*
|
||||
.DA #3,$$"JSR"
|
||||
.DA #7,#4,$$"20aa"
|
||||
JSR.E .HS 00
|
||||
LDA .DA LDA.E+1-*
|
||||
.DA #3,$$"LDA"
|
||||
.DA #1,#3,$$"A9a"
|
||||
.DA #2,#3,$$"B2a"
|
||||
.DA #3,#3,$$"B1a"
|
||||
.DA #4,#3,$$"A1a"
|
||||
.DA #5,#3,$$"A5a"
|
||||
.DA #6,#3,$$"B5a"
|
||||
.DA #7,#4,$$"ADaa"
|
||||
.DA #8,#4,$$"BDaa"
|
||||
.DA #9,#4,$$"B9aa"
|
||||
LDA.E .HS 00
|
||||
LDX .DA LDX.E+1-*
|
||||
.DA #3,$$"LDX"
|
||||
.DA #1,#3,$$"A2a"
|
||||
.DA #5,#3,$$"A6a"
|
||||
.DA #12,#3,$$"B6a"
|
||||
.DA #7,#4,$$"AEaa"
|
||||
.DA #9,#4,$$"BEaa"
|
||||
LDX.E .HS 00
|
||||
LDY .DA LDY.E+1-*
|
||||
.DA #3,$$"LDY"
|
||||
.DA #1,#3,$$"A0a"
|
||||
.DA #5,#3,$$"A4a"
|
||||
.DA #6,#3,$$"B4a"
|
||||
.DA #7,#4,$$"ACaa"
|
||||
.DA #8,#4,$$"BCaa"
|
||||
LDY.E .HS 00
|
||||
LSR .DA LSR.E+1-*
|
||||
.DA #3,$$"LSR"
|
||||
.DA #5,#3,$$"46a"
|
||||
.DA #6,#3,$$"56a"
|
||||
.DA #7,#4,$$"4Eaa"
|
||||
.DA #8,#4,$$"5Eaa"
|
||||
.DA #255,#2,$$"4A"
|
||||
LSR.E .HS 00
|
||||
NOP .DA NOP.E+1-*
|
||||
.DA #3,$$"NOP"
|
||||
.DA #255,#2,$$"EA"
|
||||
NOP.E .HS 00
|
||||
ORA .DA ORA.E+1-*
|
||||
.DA #3,$$"ORA"
|
||||
.DA #1,#3,$$"09a"
|
||||
.DA #2,#3,$$"12a"
|
||||
.DA #3,#3,$$"11a"
|
||||
.DA #4,#3,$$"01a"
|
||||
.DA #5,#3,$$"05a"
|
||||
.DA #6,#3,$$"15a"
|
||||
.DA #7,#4,$$"0Daa"
|
||||
.DA #8,#4,$$"1Daa"
|
||||
.DA #9,#4,$$"19aa"
|
||||
ORA.E .HS 00
|
||||
PHA .DA PHA.E+1-*
|
||||
.DA #3,$$"PHA"
|
||||
.DA #255,#2,$$"48"
|
||||
PHA.E .HS 00
|
||||
PHP .DA PHP.E+1-*
|
||||
.DA #3,$$"PHP"
|
||||
.DA #255,#2,$$"08"
|
||||
PHP.E .HS 00
|
||||
PHX .DA PHX.E+1-*
|
||||
.DA #3,$$"PHX"
|
||||
.DA #255,#2,$$"DA"
|
||||
PHX.E .HS 00
|
||||
PHY .DA PHY.E+1-*
|
||||
.DA #3,$$"PHY"
|
||||
.DA #255,#2,$$"5A"
|
||||
PHY.E .HS 00
|
||||
PLA .DA PLA.E+1-*
|
||||
.DA #3,$$"PLA"
|
||||
.DA #255,#2,$$"68"
|
||||
PLA.E .HS 00
|
||||
PLP .DA PLP.E+1-*
|
||||
.DA #3,$$"PLP"
|
||||
.DA #255,#2,$$"28"
|
||||
PLP.E .HS 00
|
||||
PLX .DA PLX.E+1-*
|
||||
.DA #3,$$"PLX"
|
||||
.DA #255,#2,$$"FA"
|
||||
PLX.E .HS 00
|
||||
PLY .DA PLY.E+1-*
|
||||
.DA #3,$$"PLY"
|
||||
.DA #255,#2,$$"7A"
|
||||
PLY.E .HS 00
|
||||
ROL .DA ROL.E+1-*
|
||||
.DA #3,$$"ROL"
|
||||
.DA #5,#3,$$"26a"
|
||||
.DA #6,#3,$$"36a"
|
||||
.DA #7,#4,$$"2Eaa"
|
||||
.DA #8,#4,$$"3Eaa"
|
||||
.DA #255,#2,$$"2A"
|
||||
ROL.E .HS 00
|
||||
ROR .DA ROR.E+1-*
|
||||
.DA #3,$$"ROR"
|
||||
.DA #5,#3,$$"66a"
|
||||
.DA #6,#3,$$"76a"
|
||||
.DA #7,#4,$$"6Eaa"
|
||||
.DA #8,#4,$$"7Eaa"
|
||||
.DA #255,#2,$$"6A"
|
||||
ROR.E .HS 00
|
||||
RTI .DA RTI.E+1-*
|
||||
.DA #3,$$"RTI"
|
||||
.DA #255,#2,$$"40"
|
||||
RTI.E .HS 00
|
||||
RTS .DA RTS.E+1-*
|
||||
.DA #3,$$"RTS"
|
||||
.DA #255,#2,$$"60"
|
||||
RTS.E .HS 00
|
||||
SBC .DA SBC.E+1-*
|
||||
.DA #3,$$"SBC"
|
||||
.DA #1,#3,$$"E9a"
|
||||
.DA #2,#3,$$"F2a"
|
||||
.DA #3,#3,$$"F1a"
|
||||
.DA #4,#3,$$"E1a"
|
||||
.DA #5,#3,$$"E5a"
|
||||
.DA #6,#3,$$"F5a"
|
||||
.DA #7,#4,$$"EDaa"
|
||||
.DA #8,#4,$$"FDaa"
|
||||
.DA #9,#4,$$"F9aa"
|
||||
SBC.E .HS 00
|
||||
SEC .DA SEC.E+1-*
|
||||
.DA #3,$$"SEC"
|
||||
.DA #255,#2,$$"38"
|
||||
SEC.E .HS 00
|
||||
SED .DA SED.E+1-*
|
||||
.DA #3,$$"SED"
|
||||
.DA #255,#2,$$"F8"
|
||||
SED.E .HS 00
|
||||
SEI .DA SEI.E+1-*
|
||||
.DA #3,$$"SEI"
|
||||
.DA #255,#2,$$"78"
|
||||
SEI.E .HS 00
|
||||
STA .DA STA.E+1-*
|
||||
.DA #3,$$"STA"
|
||||
.DA #2,#3,$$"92a"
|
||||
.DA #3,#3,$$"91a"
|
||||
.DA #4,#3,$$"81a"
|
||||
.DA #5,#3,$$"85a"
|
||||
.DA #6,#3,$$"95a"
|
||||
.DA #7,#4,$$"8Daa"
|
||||
.DA #8,#4,$$"9Daa"
|
||||
.DA #9,#4,$$"99aa"
|
||||
STA.E .HS 00
|
||||
STP .DA STP.E+1-*
|
||||
.DA #3,$$"STP"
|
||||
.DA #255,#2,$$"DB"
|
||||
STP.E .HS 00
|
||||
STX .DA STX.E+1-*
|
||||
.DA #3,$$"STX"
|
||||
.DA #5,#3,$$"86a"
|
||||
.DA #12,#3,$$"96a"
|
||||
.DA #7,#4,$$"8Eaa"
|
||||
STX.E .HS 00
|
||||
STY .DA STY.E+1-*
|
||||
.DA #3,$$"STY"
|
||||
.DA #5,#3,$$"84a"
|
||||
.DA #6,#3,$$"94a"
|
||||
.DA #7,#4,$$"8Caa"
|
||||
STY.E .HS 00
|
||||
STZ .DA STZ.E+1-*
|
||||
.DA #3,$$"STZ"
|
||||
.DA #5,#3,$$"64a"
|
||||
.DA #6,#3,$$"74a"
|
||||
.DA #7,#4,$$"9Caa"
|
||||
.DA #8,#4,$$"9Eaa"
|
||||
STZ.E .HS 00
|
||||
TAX .DA TAX.E+1-*
|
||||
.DA #3,$$"TAX"
|
||||
.DA #255,#2,$$"AA"
|
||||
TAX.E .HS 00
|
||||
TAY .DA TAY.E+1-*
|
||||
.DA #3,$$"TAY"
|
||||
.DA #255,#2,$$"A8"
|
||||
TAY.E .HS 00
|
||||
TRB .DA TRB.E+1-*
|
||||
.DA #3,$$"TRB"
|
||||
.DA #5,#3,$$"14a"
|
||||
.DA #7,#4,$$"1Caa"
|
||||
TRB.E .HS 00
|
||||
TSB .DA TSB.E+1-*
|
||||
.DA #3,$$"TSB"
|
||||
.DA #5,#3,$$"04a"
|
||||
.DA #7,#4,$$"0Caa"
|
||||
TSB.E .HS 00
|
||||
TSX .DA TSX.E+1-*
|
||||
.DA #3,$$"TSX"
|
||||
.DA #255,#2,$$"BA"
|
||||
TSX.E .HS 00
|
||||
TXA .DA TXA.E+1-*
|
||||
.DA #3,$$"TXA"
|
||||
.DA #255,#2,$$"8A"
|
||||
TXA.E .HS 00
|
||||
TXS .DA TXS.E+1-*
|
||||
.DA #3,$$"TXS"
|
||||
.DA #255,#2,$$"9A"
|
||||
TXS.E .HS 00
|
||||
TYA .DA TYA.E+1-*
|
||||
.DA #3,$$"TYA"
|
||||
.DA #255,#2,$$"98"
|
||||
TYA.E .HS 00
|
||||
WAI .DA WAI.E+1-*
|
||||
.DA #3,$$"WAI"
|
||||
.DA #255,#2,$$"CB"
|
||||
WAI.E .HS 00
|
||||
.HS 0000
|
||||
*---------------------------------------
|
||||
|
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.65C02
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -3,24 +3,24 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "#a"
|
||||
>PSTR "(a)"
|
||||
>PSTR "(a),Y"
|
||||
>PSTR "(a,X)"
|
||||
>PSTR "a"
|
||||
>PSTR "a,X"
|
||||
>PSTR "aa"
|
||||
>PSTR "aa,X"
|
||||
>PSTR "aa,Y"
|
||||
>PSTR "a,bb"
|
||||
>PSTR "(aa)"
|
||||
>PSTR "(aa,x)"
|
||||
>PSTR "a,Y"
|
||||
.DA #2,$$"#a"
|
||||
.DA #3,$$"(a)"
|
||||
.DA #5,$$"(a),Y"
|
||||
.DA #5,$$"(a,X)"
|
||||
.DA #1,$$"a"
|
||||
.DA #3,$$"a,X"
|
||||
.DA #2,$$"aa"
|
||||
.DA #4,$$"aa,X"
|
||||
.DA #4,$$"aa,Y"
|
||||
.DA #4,$$"a,bb"
|
||||
.DA #4,$$"(aa)"
|
||||
.DA #6,$$"(aa,x)"
|
||||
.DA #3,$$"a,Y"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "Y"
|
||||
>PSTR "X"
|
||||
.DA #1,$$"Y"
|
||||
.DA #1,$$"X"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.65R02
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -3,58 +3,58 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "R0"
|
||||
>PSTR "R1"
|
||||
>PSTR "R2"
|
||||
>PSTR "R3"
|
||||
>PSTR "R4"
|
||||
>PSTR "R5"
|
||||
>PSTR "R6"
|
||||
>PSTR "R7"
|
||||
>PSTR "R8"
|
||||
>PSTR "R9"
|
||||
>PSTR "R10"
|
||||
>PSTR "R11"
|
||||
>PSTR "R12"
|
||||
>PSTR "R13"
|
||||
>PSTR "R14"
|
||||
>PSTR "R15"
|
||||
>PSTR "r"
|
||||
>PSTR "@R0"
|
||||
>PSTR "@R1"
|
||||
>PSTR "@R2"
|
||||
>PSTR "@R3"
|
||||
>PSTR "@R4"
|
||||
>PSTR "@R5"
|
||||
>PSTR "@R6"
|
||||
>PSTR "@R7"
|
||||
>PSTR "@R8"
|
||||
>PSTR "@R9"
|
||||
>PSTR "@R10"
|
||||
>PSTR "@R11"
|
||||
>PSTR "@R12"
|
||||
>PSTR "@R13"
|
||||
>PSTR "@R14"
|
||||
>PSTR "@R15"
|
||||
.DA #2,$$"R0"
|
||||
.DA #2,$$"R1"
|
||||
.DA #2,$$"R2"
|
||||
.DA #2,$$"R3"
|
||||
.DA #2,$$"R4"
|
||||
.DA #2,$$"R5"
|
||||
.DA #2,$$"R6"
|
||||
.DA #2,$$"R7"
|
||||
.DA #2,$$"R8"
|
||||
.DA #2,$$"R9"
|
||||
.DA #3,$$"R10"
|
||||
.DA #3,$$"R11"
|
||||
.DA #3,$$"R12"
|
||||
.DA #3,$$"R13"
|
||||
.DA #3,$$"R14"
|
||||
.DA #3,$$"R15"
|
||||
.DA #2,$$"aa"
|
||||
.DA #3,$$"@R0"
|
||||
.DA #3,$$"@R1"
|
||||
.DA #3,$$"@R2"
|
||||
.DA #3,$$"@R3"
|
||||
.DA #3,$$"@R4"
|
||||
.DA #3,$$"@R5"
|
||||
.DA #3,$$"@R6"
|
||||
.DA #3,$$"@R7"
|
||||
.DA #3,$$"@R8"
|
||||
.DA #3,$$"@R9"
|
||||
.DA #4,$$"@R10"
|
||||
.DA #4,$$"@R11"
|
||||
.DA #4,$$"@R12"
|
||||
.DA #4,$$"@R13"
|
||||
.DA #4,$$"@R14"
|
||||
.DA #4,$$"@R15"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "R0"
|
||||
>PSTR "R1"
|
||||
>PSTR "R2"
|
||||
>PSTR "R3"
|
||||
>PSTR "R4"
|
||||
>PSTR "R5"
|
||||
>PSTR "R6"
|
||||
>PSTR "R7"
|
||||
>PSTR "R8"
|
||||
>PSTR "R9"
|
||||
>PSTR "R10"
|
||||
>PSTR "R11"
|
||||
>PSTR "R12"
|
||||
>PSTR "R13"
|
||||
>PSTR "R14"
|
||||
>PSTR "R15"
|
||||
.DA #2,$$"R0"
|
||||
.DA #2,$$"R1"
|
||||
.DA #2,$$"R2"
|
||||
.DA #2,$$"R3"
|
||||
.DA #2,$$"R4"
|
||||
.DA #2,$$"R5"
|
||||
.DA #2,$$"R6"
|
||||
.DA #2,$$"R7"
|
||||
.DA #2,$$"R8"
|
||||
.DA #2,$$"R9"
|
||||
.DA #3,$$"R10"
|
||||
.DA #3,$$"R11"
|
||||
.DA #3,$$"R12"
|
||||
.DA #3,$$"R13"
|
||||
.DA #3,$$"R14"
|
||||
.DA #3,$$"R15"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
@ -3,589 +3,336 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.OPCODES .EQ *
|
||||
ADD .DA ADD.E+1-*
|
||||
>PSTR "ADD"
|
||||
.HS 01
|
||||
>PSTR "A0"
|
||||
.HS 02
|
||||
>PSTR "A1"
|
||||
.HS 03
|
||||
>PSTR "A2"
|
||||
.HS 04
|
||||
>PSTR "A3"
|
||||
.HS 05
|
||||
>PSTR "A4"
|
||||
.HS 06
|
||||
>PSTR "A5"
|
||||
.HS 07
|
||||
>PSTR "A6"
|
||||
.HS 08
|
||||
>PSTR "A7"
|
||||
.HS 09
|
||||
>PSTR "A8"
|
||||
.HS 0A
|
||||
>PSTR "A9"
|
||||
.HS 0B
|
||||
>PSTR "AA"
|
||||
.HS 0C
|
||||
>PSTR "AB"
|
||||
.HS 0D
|
||||
>PSTR "AC"
|
||||
.HS 0E
|
||||
>PSTR "AD"
|
||||
.HS 0F
|
||||
>PSTR "AE"
|
||||
.HS 10
|
||||
>PSTR "AF"
|
||||
ADD.E .HS 00
|
||||
BC .DA BC.E+1-*
|
||||
>PSTR "BC"
|
||||
.HS 11
|
||||
>PSTR "03r"
|
||||
BC.E .HS 00
|
||||
BK .DA BK.E+1-*
|
||||
>PSTR "BK"
|
||||
.HS 00
|
||||
>PSTR "0A"
|
||||
BK.E .HS 00
|
||||
BM .DA BM.E+1-*
|
||||
>PSTR "BM"
|
||||
.HS 11
|
||||
>PSTR "05r"
|
||||
BM.E .HS 00
|
||||
BM1 .DA BM1.E+1-*
|
||||
>PSTR "BM1"
|
||||
.HS 11
|
||||
>PSTR "08r"
|
||||
BM1.E .HS 00
|
||||
BNC .DA BNC.E+1-*
|
||||
>PSTR "BNC"
|
||||
.HS 11
|
||||
>PSTR "02r"
|
||||
BNC.E .HS 00
|
||||
BNM1 .DA BNM1.E+1-*
|
||||
>PSTR "BNM1"
|
||||
.HS 11
|
||||
>PSTR "09r"
|
||||
BNM1.E .HS 00
|
||||
BNZ .DA BNZ.E+1-*
|
||||
>PSTR "BNZ"
|
||||
.HS 11
|
||||
>PSTR "07r"
|
||||
BNZ.E .HS 00
|
||||
BP .DA BP.E+1-*
|
||||
>PSTR "BP"
|
||||
.HS 11
|
||||
>PSTR "04r"
|
||||
BP.E .HS 00
|
||||
BR .DA BR.E+1-*
|
||||
>PSTR "BR"
|
||||
.HS 11
|
||||
>PSTR "01r"
|
||||
BR.E .HS 00
|
||||
BS .DA BS.E+1-*
|
||||
>PSTR "BS"
|
||||
.HS 11
|
||||
>PSTR "0Dr"
|
||||
BS.E .HS 00
|
||||
BZ .DA BZ.E+1-*
|
||||
>PSTR "BZ"
|
||||
.HS 11
|
||||
>PSTR "06r"
|
||||
BZ.E .HS 00
|
||||
CPR .DA CPR.E+1-*
|
||||
>PSTR "CPR"
|
||||
.HS 01
|
||||
>PSTR "D0"
|
||||
.HS 02
|
||||
>PSTR "D1"
|
||||
.HS 03
|
||||
>PSTR "D2"
|
||||
.HS 04
|
||||
>PSTR "D3"
|
||||
.HS 05
|
||||
>PSTR "D4"
|
||||
.HS 06
|
||||
>PSTR "D5"
|
||||
.HS 07
|
||||
>PSTR "D6"
|
||||
.HS 08
|
||||
>PSTR "D7"
|
||||
.HS 09
|
||||
>PSTR "D8"
|
||||
.HS 0A
|
||||
>PSTR "D9"
|
||||
.HS 0B
|
||||
>PSTR "DA"
|
||||
.HS 0C
|
||||
>PSTR "DB"
|
||||
.HS 0D
|
||||
>PSTR "DC"
|
||||
.HS 0E
|
||||
>PSTR "DD"
|
||||
.HS 0F
|
||||
>PSTR "DE"
|
||||
.HS 10
|
||||
>PSTR "DF"
|
||||
CPR.E .HS 00
|
||||
DCR .DA DCR.E+1-*
|
||||
>PSTR "DCR"
|
||||
.HS 01
|
||||
>PSTR "F0"
|
||||
.HS 02
|
||||
>PSTR "F1"
|
||||
.HS 03
|
||||
>PSTR "F2"
|
||||
.HS 04
|
||||
>PSTR "F3"
|
||||
.HS 05
|
||||
>PSTR "F4"
|
||||
.HS 06
|
||||
>PSTR "F5"
|
||||
.HS 07
|
||||
>PSTR "F6"
|
||||
.HS 08
|
||||
>PSTR "F7"
|
||||
.HS 09
|
||||
>PSTR "F8"
|
||||
.HS 0A
|
||||
>PSTR "F9"
|
||||
.HS 0B
|
||||
>PSTR "FA"
|
||||
.HS 0C
|
||||
>PSTR "FB"
|
||||
.HS 0D
|
||||
>PSTR "FC"
|
||||
.HS 0E
|
||||
>PSTR "FD"
|
||||
.HS 0F
|
||||
>PSTR "FE"
|
||||
.HS 10
|
||||
>PSTR "FF"
|
||||
DCR.E .HS 00
|
||||
INR .DA INR.E+1-*
|
||||
>PSTR "INR"
|
||||
.HS 01
|
||||
>PSTR "E0"
|
||||
.HS 02
|
||||
>PSTR "E1"
|
||||
.HS 03
|
||||
>PSTR "E2"
|
||||
.HS 04
|
||||
>PSTR "E3"
|
||||
.HS 05
|
||||
>PSTR "E4"
|
||||
.HS 06
|
||||
>PSTR "E5"
|
||||
.HS 07
|
||||
>PSTR "E6"
|
||||
.HS 08
|
||||
>PSTR "E7"
|
||||
.HS 09
|
||||
>PSTR "E8"
|
||||
.HS 0A
|
||||
>PSTR "E9"
|
||||
.HS 0B
|
||||
>PSTR "EA"
|
||||
.HS 0C
|
||||
>PSTR "EB"
|
||||
.HS 0D
|
||||
>PSTR "EC"
|
||||
.HS 0E
|
||||
>PSTR "ED"
|
||||
.HS 0F
|
||||
>PSTR "EE"
|
||||
.HS 10
|
||||
>PSTR "EF"
|
||||
INR.E .HS 00
|
||||
LD .DA LD.E+1-*
|
||||
>PSTR "LD"
|
||||
.HS 01
|
||||
>PSTR "20"
|
||||
.HS 02
|
||||
>PSTR "21"
|
||||
.HS 03
|
||||
>PSTR "22"
|
||||
.HS 04
|
||||
>PSTR "23"
|
||||
.HS 05
|
||||
>PSTR "24"
|
||||
.HS 06
|
||||
>PSTR "25"
|
||||
.HS 07
|
||||
>PSTR "26"
|
||||
.HS 08
|
||||
>PSTR "27"
|
||||
.HS 09
|
||||
>PSTR "28"
|
||||
.HS 0A
|
||||
>PSTR "29"
|
||||
.HS 0B
|
||||
>PSTR "2A"
|
||||
.HS 0C
|
||||
>PSTR "2B"
|
||||
.HS 0D
|
||||
>PSTR "2C"
|
||||
.HS 0E
|
||||
>PSTR "2D"
|
||||
.HS 0F
|
||||
>PSTR "2E"
|
||||
.HS 10
|
||||
>PSTR "2F"
|
||||
.HS 12
|
||||
>PSTR "40"
|
||||
.HS 13
|
||||
>PSTR "41"
|
||||
.HS 14
|
||||
>PSTR "42"
|
||||
.HS 15
|
||||
>PSTR "43"
|
||||
.HS 16
|
||||
>PSTR "44"
|
||||
.HS 17
|
||||
>PSTR "45"
|
||||
.HS 18
|
||||
>PSTR "46"
|
||||
.HS 19
|
||||
>PSTR "47"
|
||||
.HS 1A
|
||||
>PSTR "48"
|
||||
.HS 1B
|
||||
>PSTR "49"
|
||||
.HS 1C
|
||||
>PSTR "4A"
|
||||
.HS 1D
|
||||
>PSTR "4B"
|
||||
.HS 1E
|
||||
>PSTR "4C"
|
||||
.HS 1F
|
||||
>PSTR "4D"
|
||||
.HS 20
|
||||
>PSTR "4E"
|
||||
.HS 21
|
||||
>PSTR "4F"
|
||||
LD.E .HS 00
|
||||
LDD .DA LDD.E+1-*
|
||||
>PSTR "LDD"
|
||||
.HS 12
|
||||
>PSTR "60"
|
||||
.HS 13
|
||||
>PSTR "61"
|
||||
.HS 14
|
||||
>PSTR "62"
|
||||
.HS 15
|
||||
>PSTR "63"
|
||||
.HS 16
|
||||
>PSTR "64"
|
||||
.HS 17
|
||||
>PSTR "65"
|
||||
.HS 18
|
||||
>PSTR "66"
|
||||
.HS 19
|
||||
>PSTR "67"
|
||||
.HS 1A
|
||||
>PSTR "68"
|
||||
.HS 1B
|
||||
>PSTR "69"
|
||||
.HS 1C
|
||||
>PSTR "6A"
|
||||
.HS 1D
|
||||
>PSTR "6B"
|
||||
.HS 1E
|
||||
>PSTR "6C"
|
||||
.HS 1F
|
||||
>PSTR "6D"
|
||||
.HS 20
|
||||
>PSTR "6E"
|
||||
.HS 21
|
||||
>PSTR "6F"
|
||||
LDD.E .HS 00
|
||||
POP .DA POP.E+1-*
|
||||
>PSTR "POP"
|
||||
.HS 12
|
||||
>PSTR "80"
|
||||
.HS 13
|
||||
>PSTR "81"
|
||||
.HS 14
|
||||
>PSTR "82"
|
||||
.HS 15
|
||||
>PSTR "83"
|
||||
.HS 16
|
||||
>PSTR "84"
|
||||
.HS 17
|
||||
>PSTR "85"
|
||||
.HS 18
|
||||
>PSTR "86"
|
||||
.HS 19
|
||||
>PSTR "87"
|
||||
.HS 1A
|
||||
>PSTR "88"
|
||||
.HS 1B
|
||||
>PSTR "89"
|
||||
.HS 1C
|
||||
>PSTR "8A"
|
||||
.HS 1D
|
||||
>PSTR "8B"
|
||||
.HS 1E
|
||||
>PSTR "8C"
|
||||
.HS 1F
|
||||
>PSTR "8D"
|
||||
.HS 20
|
||||
>PSTR "8E"
|
||||
.HS 21
|
||||
>PSTR "8F"
|
||||
POP.E .HS 00
|
||||
POPD .DA POPD.E+1-*
|
||||
>PSTR "POPD"
|
||||
.HS 12
|
||||
>PSTR "C0"
|
||||
.HS 13
|
||||
>PSTR "C1"
|
||||
.HS 14
|
||||
>PSTR "C2"
|
||||
.HS 15
|
||||
>PSTR "C3"
|
||||
.HS 16
|
||||
>PSTR "C4"
|
||||
.HS 17
|
||||
>PSTR "C5"
|
||||
.HS 18
|
||||
>PSTR "C6"
|
||||
.HS 19
|
||||
>PSTR "C7"
|
||||
.HS 1A
|
||||
>PSTR "C8"
|
||||
.HS 1B
|
||||
>PSTR "C9"
|
||||
.HS 1C
|
||||
>PSTR "CA"
|
||||
.HS 1D
|
||||
>PSTR "CB"
|
||||
.HS 1E
|
||||
>PSTR "CC"
|
||||
.HS 1F
|
||||
>PSTR "CD"
|
||||
.HS 20
|
||||
>PSTR "CE"
|
||||
.HS 21
|
||||
>PSTR "CF"
|
||||
POPD.E .HS 00
|
||||
RS .DA RS.E+1-*
|
||||
>PSTR "RS"
|
||||
.HS 00
|
||||
>PSTR "0B"
|
||||
RS.E .HS 00
|
||||
RTN .DA RTN.E+1-*
|
||||
>PSTR "RTN"
|
||||
.HS 00
|
||||
>PSTR "00r"
|
||||
RTN.E .HS 00
|
||||
SET .DA SET.E+1-*
|
||||
>PSTR "SET"
|
||||
.HS 01
|
||||
>PSTR "10"
|
||||
.HS 02
|
||||
>PSTR "11"
|
||||
.HS 03
|
||||
>PSTR "12"
|
||||
.HS 04
|
||||
>PSTR "13"
|
||||
.HS 05
|
||||
>PSTR "14"
|
||||
.HS 06
|
||||
>PSTR "15"
|
||||
.HS 07
|
||||
>PSTR "16"
|
||||
.HS 08
|
||||
>PSTR "17"
|
||||
.HS 09
|
||||
>PSTR "18"
|
||||
.HS 0A
|
||||
>PSTR "19"
|
||||
.HS 0B
|
||||
>PSTR "1A"
|
||||
.HS 0C
|
||||
>PSTR "1B"
|
||||
.HS 0D
|
||||
>PSTR "1C"
|
||||
.HS 0E
|
||||
>PSTR "1D"
|
||||
.HS 0F
|
||||
>PSTR "1E"
|
||||
.HS 10
|
||||
>PSTR "1D"
|
||||
SET.E .HS 00
|
||||
ST .DA ST.E+1-*
|
||||
>PSTR "ST"
|
||||
.HS 01
|
||||
>PSTR "30"
|
||||
.HS 02
|
||||
>PSTR "31"
|
||||
.HS 03
|
||||
>PSTR "32"
|
||||
.HS 04
|
||||
>PSTR "33"
|
||||
.HS 05
|
||||
>PSTR "34"
|
||||
.HS 06
|
||||
>PSTR "35"
|
||||
.HS 07
|
||||
>PSTR "36"
|
||||
.HS 08
|
||||
>PSTR "37"
|
||||
.HS 09
|
||||
>PSTR "38"
|
||||
.HS 0A
|
||||
>PSTR "39"
|
||||
.HS 0B
|
||||
>PSTR "3A"
|
||||
.HS 0C
|
||||
>PSTR "3B"
|
||||
.HS 0D
|
||||
>PSTR "3C"
|
||||
.HS 0E
|
||||
>PSTR "3D"
|
||||
.HS 0F
|
||||
>PSTR "3E"
|
||||
.HS 10
|
||||
>PSTR "3F"
|
||||
.HS 12
|
||||
>PSTR "50"
|
||||
.HS 13
|
||||
>PSTR "51"
|
||||
.HS 14
|
||||
>PSTR "52"
|
||||
.HS 15
|
||||
>PSTR "53"
|
||||
.HS 16
|
||||
>PSTR "54"
|
||||
.HS 17
|
||||
>PSTR "55"
|
||||
.HS 18
|
||||
>PSTR "56"
|
||||
.HS 19
|
||||
>PSTR "57"
|
||||
.HS 1A
|
||||
>PSTR "58"
|
||||
.HS 1B
|
||||
>PSTR "59"
|
||||
.HS 1C
|
||||
>PSTR "5A"
|
||||
.HS 1D
|
||||
>PSTR "5B"
|
||||
.HS 1E
|
||||
>PSTR "5C"
|
||||
.HS 1F
|
||||
>PSTR "5D"
|
||||
.HS 20
|
||||
>PSTR "5E"
|
||||
.HS 21
|
||||
>PSTR "5F"
|
||||
ST.E .HS 00
|
||||
STD .DA STD.E+1-*
|
||||
>PSTR "STD"
|
||||
.HS 12
|
||||
>PSTR "70"
|
||||
.HS 13
|
||||
>PSTR "71"
|
||||
.HS 14
|
||||
>PSTR "72"
|
||||
.HS 15
|
||||
>PSTR "73"
|
||||
.HS 16
|
||||
>PSTR "74"
|
||||
.HS 17
|
||||
>PSTR "75"
|
||||
.HS 18
|
||||
>PSTR "76"
|
||||
.HS 19
|
||||
>PSTR "77"
|
||||
.HS 1A
|
||||
>PSTR "78"
|
||||
.HS 1B
|
||||
>PSTR "79"
|
||||
.HS 1C
|
||||
>PSTR "7A"
|
||||
.HS 1D
|
||||
>PSTR "7B"
|
||||
.HS 1E
|
||||
>PSTR "7C"
|
||||
.HS 1F
|
||||
>PSTR "7D"
|
||||
.HS 20
|
||||
>PSTR "7E"
|
||||
.HS 21
|
||||
>PSTR "7F"
|
||||
STD.E .HS 00
|
||||
STP .DA STP.E+1-*
|
||||
>PSTR "STP"
|
||||
.HS 12
|
||||
>PSTR "90"
|
||||
.HS 13
|
||||
>PSTR "91"
|
||||
.HS 14
|
||||
>PSTR "92"
|
||||
.HS 15
|
||||
>PSTR "93"
|
||||
.HS 16
|
||||
>PSTR "94"
|
||||
.HS 17
|
||||
>PSTR "95"
|
||||
.HS 18
|
||||
>PSTR "96"
|
||||
.HS 19
|
||||
>PSTR "97"
|
||||
.HS 1A
|
||||
>PSTR "98"
|
||||
.HS 1B
|
||||
>PSTR "99"
|
||||
.HS 1C
|
||||
>PSTR "9A"
|
||||
.HS 1D
|
||||
>PSTR "9B"
|
||||
.HS 1E
|
||||
>PSTR "9C"
|
||||
.HS 1F
|
||||
>PSTR "9D"
|
||||
.HS 20
|
||||
>PSTR "9E"
|
||||
.HS 21
|
||||
>PSTR "9F"
|
||||
STP.E .HS 00
|
||||
SUB .DA SUB.E+1-*
|
||||
>PSTR "SUB"
|
||||
.HS 01
|
||||
>PSTR "B0"
|
||||
.HS 02
|
||||
>PSTR "B1"
|
||||
.HS 03
|
||||
>PSTR "B2"
|
||||
.HS 04
|
||||
>PSTR "B3"
|
||||
.HS 05
|
||||
>PSTR "B4"
|
||||
.HS 06
|
||||
>PSTR "B5"
|
||||
.HS 07
|
||||
>PSTR "B6"
|
||||
.HS 08
|
||||
>PSTR "B7"
|
||||
.HS 09
|
||||
>PSTR "B8"
|
||||
.HS 0A
|
||||
>PSTR "B9"
|
||||
.HS 0B
|
||||
>PSTR "BA"
|
||||
.HS 0C
|
||||
>PSTR "BB"
|
||||
.HS 0D
|
||||
>PSTR "BC"
|
||||
.HS 0E
|
||||
>PSTR "BD"
|
||||
.HS 0F
|
||||
>PSTR "BE"
|
||||
.HS 10
|
||||
>PSTR "BF"
|
||||
ADD .DA ADD.E+1-*
|
||||
.DA #3,$$"ADD"
|
||||
.DA #1,#2,$$"A0"
|
||||
.DA #2,#2,$$"A1"
|
||||
.DA #3,#2,$$"A2"
|
||||
.DA #4,#2,$$"A3"
|
||||
.DA #5,#2,$$"A4"
|
||||
.DA #6,#2,$$"A5"
|
||||
.DA #7,#2,$$"A6"
|
||||
.DA #8,#2,$$"A7"
|
||||
.DA #9,#2,$$"A8"
|
||||
.DA #10,#2,$$"A9"
|
||||
.DA #11,#2,$$"AA"
|
||||
.DA #12,#2,$$"AB"
|
||||
.DA #13,#2,$$"AC"
|
||||
.DA #14,#2,$$"AD"
|
||||
.DA #15,#2,$$"AE"
|
||||
.DA #16,#2,$$"AF"
|
||||
ADD.E .HS 00
|
||||
BC .DA BC.E+1-*
|
||||
.DA #2,$$"BC"
|
||||
.DA #17,#3,$$"03r"
|
||||
BC.E .HS 00
|
||||
BK .DA BK.E+1-*
|
||||
.DA #2,$$"BK"
|
||||
.DA #255,#2,$$"0A"
|
||||
BK.E .HS 00
|
||||
BM .DA BM.E+1-*
|
||||
.DA #2,$$"BM"
|
||||
.DA #17,#3,$$"05r"
|
||||
BM.E .HS 00
|
||||
BM1 .DA BM1.E+1-*
|
||||
.DA #3,$$"BM1"
|
||||
.DA #17,#3,$$"08r"
|
||||
BM1.E .HS 00
|
||||
BNC .DA BNC.E+1-*
|
||||
.DA #3,$$"BNC"
|
||||
.DA #17,#3,$$"02r"
|
||||
BNC.E .HS 00
|
||||
BNM1 .DA BNM1.E+1-*
|
||||
.DA #4,$$"BNM1"
|
||||
.DA #17,#3,$$"09r"
|
||||
BNM1.E .HS 00
|
||||
BNZ .DA BNZ.E+1-*
|
||||
.DA #3,$$"BNZ"
|
||||
.DA #17,#3,$$"07r"
|
||||
BNZ.E .HS 00
|
||||
BP .DA BP.E+1-*
|
||||
.DA #2,$$"BP"
|
||||
.DA #17,#3,$$"04r"
|
||||
BP.E .HS 00
|
||||
BR .DA BR.E+1-*
|
||||
.DA #2,$$"BR"
|
||||
.DA #17,#3,$$"01r"
|
||||
BR.E .HS 00
|
||||
BS .DA BS.E+1-*
|
||||
.DA #2,$$"BS"
|
||||
.DA #17,#3,$$"0Dr"
|
||||
BS.E .HS 00
|
||||
BZ .DA BZ.E+1-*
|
||||
.DA #2,$$"BZ"
|
||||
.DA #17,#3,$$"06r"
|
||||
BZ.E .HS 00
|
||||
CPR .DA CPR.E+1-*
|
||||
.DA #3,$$"CPR"
|
||||
.DA #1,#2,$$"D0"
|
||||
.DA #2,#2,$$"D1"
|
||||
.DA #3,#2,$$"D2"
|
||||
.DA #4,#2,$$"D3"
|
||||
.DA #5,#2,$$"D4"
|
||||
.DA #6,#2,$$"D5"
|
||||
.DA #7,#2,$$"D6"
|
||||
.DA #8,#2,$$"D7"
|
||||
.DA #9,#2,$$"D8"
|
||||
.DA #10,#2,$$"D9"
|
||||
.DA #11,#2,$$"DA"
|
||||
.DA #12,#2,$$"DB"
|
||||
.DA #13,#2,$$"DC"
|
||||
.DA #14,#2,$$"DD"
|
||||
.DA #15,#2,$$"DE"
|
||||
.DA #16,#2,$$"DF"
|
||||
CPR.E .HS 00
|
||||
DCR .DA DCR.E+1-*
|
||||
.DA #3,$$"DCR"
|
||||
.DA #1,#2,$$"F0"
|
||||
.DA #2,#2,$$"F1"
|
||||
.DA #3,#2,$$"F2"
|
||||
.DA #4,#2,$$"F3"
|
||||
.DA #5,#2,$$"F4"
|
||||
.DA #6,#2,$$"F5"
|
||||
.DA #7,#2,$$"F6"
|
||||
.DA #8,#2,$$"F7"
|
||||
.DA #9,#2,$$"F8"
|
||||
.DA #10,#2,$$"F9"
|
||||
.DA #11,#2,$$"FA"
|
||||
.DA #12,#2,$$"FB"
|
||||
.DA #13,#2,$$"FC"
|
||||
.DA #14,#2,$$"FD"
|
||||
.DA #15,#2,$$"FE"
|
||||
.DA #16,#2,$$"FF"
|
||||
DCR.E .HS 00
|
||||
INR .DA INR.E+1-*
|
||||
.DA #3,$$"INR"
|
||||
.DA #1,#2,$$"E0"
|
||||
.DA #2,#2,$$"E1"
|
||||
.DA #3,#2,$$"E2"
|
||||
.DA #4,#2,$$"E3"
|
||||
.DA #5,#2,$$"E4"
|
||||
.DA #6,#2,$$"E5"
|
||||
.DA #7,#2,$$"E6"
|
||||
.DA #8,#2,$$"E7"
|
||||
.DA #9,#2,$$"E8"
|
||||
.DA #10,#2,$$"E9"
|
||||
.DA #11,#2,$$"EA"
|
||||
.DA #12,#2,$$"EB"
|
||||
.DA #13,#2,$$"EC"
|
||||
.DA #14,#2,$$"ED"
|
||||
.DA #15,#2,$$"EE"
|
||||
.DA #16,#2,$$"EF"
|
||||
INR.E .HS 00
|
||||
LD .DA LD.E+1-*
|
||||
.DA #2,$$"LD"
|
||||
.DA #1,#2,$$"20"
|
||||
.DA #2,#2,$$"21"
|
||||
.DA #3,#2,$$"22"
|
||||
.DA #4,#2,$$"23"
|
||||
.DA #5,#2,$$"24"
|
||||
.DA #6,#2,$$"25"
|
||||
.DA #7,#2,$$"26"
|
||||
.DA #8,#2,$$"27"
|
||||
.DA #9,#2,$$"28"
|
||||
.DA #10,#2,$$"29"
|
||||
.DA #11,#2,$$"2A"
|
||||
.DA #12,#2,$$"2B"
|
||||
.DA #13,#2,$$"2C"
|
||||
.DA #14,#2,$$"2D"
|
||||
.DA #15,#2,$$"2E"
|
||||
.DA #16,#2,$$"2F"
|
||||
.DA #18,#2,$$"40"
|
||||
.DA #19,#2,$$"41"
|
||||
.DA #20,#2,$$"42"
|
||||
.DA #21,#2,$$"43"
|
||||
.DA #22,#2,$$"44"
|
||||
.DA #23,#2,$$"45"
|
||||
.DA #24,#2,$$"46"
|
||||
.DA #25,#2,$$"47"
|
||||
.DA #26,#2,$$"48"
|
||||
.DA #27,#2,$$"49"
|
||||
.DA #28,#2,$$"4A"
|
||||
.DA #29,#2,$$"4B"
|
||||
.DA #30,#2,$$"4C"
|
||||
.DA #31,#2,$$"4D"
|
||||
.DA #32,#2,$$"4E"
|
||||
.DA #33,#2,$$"4F"
|
||||
LD.E .HS 00
|
||||
LDD .DA LDD.E+1-*
|
||||
.DA #3,$$"LDD"
|
||||
.DA #18,#2,$$"60"
|
||||
.DA #19,#2,$$"61"
|
||||
.DA #20,#2,$$"62"
|
||||
.DA #21,#2,$$"63"
|
||||
.DA #22,#2,$$"64"
|
||||
.DA #23,#2,$$"65"
|
||||
.DA #24,#2,$$"66"
|
||||
.DA #25,#2,$$"67"
|
||||
.DA #26,#2,$$"68"
|
||||
.DA #27,#2,$$"69"
|
||||
.DA #28,#2,$$"6A"
|
||||
.DA #29,#2,$$"6B"
|
||||
.DA #30,#2,$$"6C"
|
||||
.DA #31,#2,$$"6D"
|
||||
.DA #32,#2,$$"6E"
|
||||
.DA #33,#2,$$"6F"
|
||||
LDD.E .HS 00
|
||||
POP .DA POP.E+1-*
|
||||
.DA #3,$$"POP"
|
||||
.DA #18,#2,$$"80"
|
||||
.DA #19,#2,$$"81"
|
||||
.DA #20,#2,$$"82"
|
||||
.DA #21,#2,$$"83"
|
||||
.DA #22,#2,$$"84"
|
||||
.DA #23,#2,$$"85"
|
||||
.DA #24,#2,$$"86"
|
||||
.DA #25,#2,$$"87"
|
||||
.DA #26,#2,$$"88"
|
||||
.DA #27,#2,$$"89"
|
||||
.DA #28,#2,$$"8A"
|
||||
.DA #29,#2,$$"8B"
|
||||
.DA #30,#2,$$"8C"
|
||||
.DA #31,#2,$$"8D"
|
||||
.DA #32,#2,$$"8E"
|
||||
.DA #33,#2,$$"8F"
|
||||
POP.E .HS 00
|
||||
POPD .DA POPD.E+1-*
|
||||
.DA #4,$$"POPD"
|
||||
.DA #18,#2,$$"C0"
|
||||
.DA #19,#2,$$"C1"
|
||||
.DA #20,#2,$$"C2"
|
||||
.DA #21,#2,$$"C3"
|
||||
.DA #22,#2,$$"C4"
|
||||
.DA #23,#2,$$"C5"
|
||||
.DA #24,#2,$$"C6"
|
||||
.DA #25,#2,$$"C7"
|
||||
.DA #26,#2,$$"C8"
|
||||
.DA #27,#2,$$"C9"
|
||||
.DA #28,#2,$$"CA"
|
||||
.DA #29,#2,$$"CB"
|
||||
.DA #30,#2,$$"CC"
|
||||
.DA #31,#2,$$"CD"
|
||||
.DA #32,#2,$$"CE"
|
||||
.DA #33,#2,$$"CF"
|
||||
POPD.E .HS 00
|
||||
RS .DA RS.E+1-*
|
||||
.DA #2,$$"RS"
|
||||
.DA #255,#2,$$"0B"
|
||||
RS.E .HS 00
|
||||
RTN .DA RTN.E+1-*
|
||||
.DA #3,$$"RTN"
|
||||
.DA #255,#3,$$"00r"
|
||||
RTN.E .HS 00
|
||||
SET .DA SET.E+1-*
|
||||
.DA #3,$$"SET"
|
||||
.DA #1,#2,$$"10"
|
||||
.DA #2,#2,$$"11"
|
||||
.DA #3,#2,$$"12"
|
||||
.DA #4,#2,$$"13"
|
||||
.DA #5,#2,$$"14"
|
||||
.DA #6,#2,$$"15"
|
||||
.DA #7,#2,$$"16"
|
||||
.DA #8,#2,$$"17"
|
||||
.DA #9,#2,$$"18"
|
||||
.DA #10,#2,$$"19"
|
||||
.DA #11,#2,$$"1A"
|
||||
.DA #12,#2,$$"1B"
|
||||
.DA #13,#2,$$"1C"
|
||||
.DA #14,#2,$$"1D"
|
||||
.DA #15,#2,$$"1E"
|
||||
.DA #16,#2,$$"1D"
|
||||
SET.E .HS 00
|
||||
ST .DA ST.E+1-*
|
||||
.DA #2,$$"ST"
|
||||
.DA #1,#2,$$"30"
|
||||
.DA #2,#2,$$"31"
|
||||
.DA #3,#2,$$"32"
|
||||
.DA #4,#2,$$"33"
|
||||
.DA #5,#2,$$"34"
|
||||
.DA #6,#2,$$"35"
|
||||
.DA #7,#2,$$"36"
|
||||
.DA #8,#2,$$"37"
|
||||
.DA #9,#2,$$"38"
|
||||
.DA #10,#2,$$"39"
|
||||
.DA #11,#2,$$"3A"
|
||||
.DA #12,#2,$$"3B"
|
||||
.DA #13,#2,$$"3C"
|
||||
.DA #14,#2,$$"3D"
|
||||
.DA #15,#2,$$"3E"
|
||||
.DA #16,#2,$$"3F"
|
||||
.DA #18,#2,$$"50"
|
||||
.DA #19,#2,$$"51"
|
||||
.DA #20,#2,$$"52"
|
||||
.DA #21,#2,$$"53"
|
||||
.DA #22,#2,$$"54"
|
||||
.DA #23,#2,$$"55"
|
||||
.DA #24,#2,$$"56"
|
||||
.DA #25,#2,$$"57"
|
||||
.DA #26,#2,$$"58"
|
||||
.DA #27,#2,$$"59"
|
||||
.DA #28,#2,$$"5A"
|
||||
.DA #29,#2,$$"5B"
|
||||
.DA #30,#2,$$"5C"
|
||||
.DA #31,#2,$$"5D"
|
||||
.DA #32,#2,$$"5E"
|
||||
.DA #33,#2,$$"5F"
|
||||
ST.E .HS 00
|
||||
STD .DA STD.E+1-*
|
||||
.DA #3,$$"STD"
|
||||
.DA #18,#2,$$"70"
|
||||
.DA #19,#2,$$"71"
|
||||
.DA #20,#2,$$"72"
|
||||
.DA #21,#2,$$"73"
|
||||
.DA #22,#2,$$"74"
|
||||
.DA #23,#2,$$"75"
|
||||
.DA #24,#2,$$"76"
|
||||
.DA #25,#2,$$"77"
|
||||
.DA #26,#2,$$"78"
|
||||
.DA #27,#2,$$"79"
|
||||
.DA #28,#2,$$"7A"
|
||||
.DA #29,#2,$$"7B"
|
||||
.DA #30,#2,$$"7C"
|
||||
.DA #31,#2,$$"7D"
|
||||
.DA #32,#2,$$"7E"
|
||||
.DA #33,#2,$$"7F"
|
||||
STD.E .HS 00
|
||||
STP .DA STP.E+1-*
|
||||
.DA #3,$$"STP"
|
||||
.DA #18,#2,$$"90"
|
||||
.DA #19,#2,$$"91"
|
||||
.DA #20,#2,$$"92"
|
||||
.DA #21,#2,$$"93"
|
||||
.DA #22,#2,$$"94"
|
||||
.DA #23,#2,$$"95"
|
||||
.DA #24,#2,$$"96"
|
||||
.DA #25,#2,$$"97"
|
||||
.DA #26,#2,$$"98"
|
||||
.DA #27,#2,$$"99"
|
||||
.DA #28,#2,$$"9A"
|
||||
.DA #29,#2,$$"9B"
|
||||
.DA #30,#2,$$"9C"
|
||||
.DA #31,#2,$$"9D"
|
||||
.DA #32,#2,$$"9E"
|
||||
.DA #33,#2,$$"9F"
|
||||
STP.E .HS 00
|
||||
SUB .DA SUB.E+1-*
|
||||
.DA #3,$$"SUB"
|
||||
.DA #1,#2,$$"B0"
|
||||
.DA #2,#2,$$"B1"
|
||||
.DA #3,#2,$$"B2"
|
||||
.DA #4,#2,$$"B3"
|
||||
.DA #5,#2,$$"B4"
|
||||
.DA #6,#2,$$"B5"
|
||||
.DA #7,#2,$$"B6"
|
||||
.DA #8,#2,$$"B7"
|
||||
.DA #9,#2,$$"B8"
|
||||
.DA #10,#2,$$"B9"
|
||||
.DA #11,#2,$$"BA"
|
||||
.DA #12,#2,$$"BB"
|
||||
.DA #13,#2,$$"BC"
|
||||
.DA #14,#2,$$"BD"
|
||||
.DA #15,#2,$$"BE"
|
||||
.DA #16,#2,$$"BF"
|
||||
SUB.E .HS 00
|
||||
.HS 0000
|
||||
*---------------------------------------
|
||||
|
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.SW16
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -3,210 +3,210 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
>PSTR "A,(HL)"
|
||||
>PSTR "A,(IX+a)"
|
||||
>PSTR "A,(IY+a)"
|
||||
>PSTR "A,A"
|
||||
>PSTR "A,a"
|
||||
>PSTR "A,B"
|
||||
>PSTR "A,C"
|
||||
>PSTR "A,D"
|
||||
>PSTR "A,E"
|
||||
>PSTR "A,H"
|
||||
>PSTR "A,L"
|
||||
>PSTR "HL,BC"
|
||||
>PSTR "HL,DE"
|
||||
>PSTR "HL,HL"
|
||||
>PSTR "HL,SP"
|
||||
>PSTR "IX,BC"
|
||||
>PSTR "IX,DE"
|
||||
>PSTR "IX,IX"
|
||||
>PSTR "IX,SP"
|
||||
>PSTR "IY,BC"
|
||||
>PSTR "IY,DE"
|
||||
>PSTR "IY,IY"
|
||||
>PSTR "IY,SP"
|
||||
>PSTR "(HL)"
|
||||
>PSTR "(IX+a)"
|
||||
>PSTR "(IY+a)"
|
||||
>PSTR "A"
|
||||
>PSTR "a"
|
||||
>PSTR "B"
|
||||
>PSTR "C"
|
||||
>PSTR "D"
|
||||
>PSTR "E"
|
||||
>PSTR "H"
|
||||
>PSTR "L"
|
||||
>PSTR "aa"
|
||||
>PSTR "BC"
|
||||
>PSTR "DE"
|
||||
>PSTR "HL"
|
||||
>PSTR "IX"
|
||||
>PSTR "IY"
|
||||
>PSTR "SP"
|
||||
>PSTR "(SP),HL"
|
||||
>PSTR "(SP),IX"
|
||||
>PSTR "(SP),IY"
|
||||
>PSTR "DE,HL"
|
||||
>PSTR "A,(a)"
|
||||
>PSTR "A,(C)"
|
||||
>PSTR "B,(C)"
|
||||
>PSTR "C,(C)"
|
||||
>PSTR "D,(C)"
|
||||
>PSTR "E,(C)"
|
||||
>PSTR "H,(C)"
|
||||
>PSTR "L,(C)"
|
||||
>PSTR "(IX)"
|
||||
>PSTR "(IY)"
|
||||
>PSTR "(aa),A"
|
||||
>PSTR "(aa),BC"
|
||||
>PSTR "(aa),DE"
|
||||
>PSTR "(aa),HL"
|
||||
>PSTR "(aa),IX"
|
||||
>PSTR "(aa),IY"
|
||||
>PSTR "(aa),SP"
|
||||
>PSTR "(BC),A"
|
||||
>PSTR "(DE),A"
|
||||
>PSTR "(HL),A"
|
||||
>PSTR "(HL),a"
|
||||
>PSTR "(HL),B"
|
||||
>PSTR "(HL),C"
|
||||
>PSTR "(HL),D"
|
||||
>PSTR "(HL),E"
|
||||
>PSTR "(HL),H"
|
||||
>PSTR "(HL),L"
|
||||
>PSTR "(IX+a),A"
|
||||
>PSTR "(IX+a),a"
|
||||
>PSTR "(IX+a),B"
|
||||
>PSTR "(IX+a),C"
|
||||
>PSTR "(IX+a),D"
|
||||
>PSTR "(IX+a),E"
|
||||
>PSTR "(IX+a),H"
|
||||
>PSTR "(IX+a),L"
|
||||
>PSTR "(IY+a),A"
|
||||
>PSTR "(IY+a),a"
|
||||
>PSTR "(IY+a),B"
|
||||
>PSTR "(IY+a),C"
|
||||
>PSTR "(IY+a),D"
|
||||
>PSTR "(IY+a),E"
|
||||
>PSTR "(IY+a),H"
|
||||
>PSTR "(IY+a),L"
|
||||
>PSTR "A,(aa)"
|
||||
>PSTR "A,(BC)"
|
||||
>PSTR "A,(DE)"
|
||||
>PSTR "A,I"
|
||||
>PSTR "A,R"
|
||||
>PSTR "B,(HL)"
|
||||
>PSTR "B,(IX+a)"
|
||||
>PSTR "B,(IY+a)"
|
||||
>PSTR "B,A"
|
||||
>PSTR "B,a"
|
||||
>PSTR "B,B"
|
||||
>PSTR "B,C"
|
||||
>PSTR "B,D"
|
||||
>PSTR "B,E"
|
||||
>PSTR "B,H"
|
||||
>PSTR "B,L"
|
||||
>PSTR "BC,(aa)"
|
||||
>PSTR "BC,aa"
|
||||
>PSTR "C,(HL)"
|
||||
>PSTR "C,(IX+a)"
|
||||
>PSTR "C,(IY+a)"
|
||||
>PSTR "C,A"
|
||||
>PSTR "C,a"
|
||||
>PSTR "C,B"
|
||||
>PSTR "C,C"
|
||||
>PSTR "C,D"
|
||||
>PSTR "C,E"
|
||||
>PSTR "C,H"
|
||||
>PSTR "C,L"
|
||||
>PSTR "D,(HL)"
|
||||
>PSTR "D,(IX+a)"
|
||||
>PSTR "D,(IY+a)"
|
||||
>PSTR "D,A"
|
||||
>PSTR "D,a"
|
||||
>PSTR "D,B"
|
||||
>PSTR "D,C"
|
||||
>PSTR "D,D"
|
||||
>PSTR "D,E"
|
||||
>PSTR "D,H"
|
||||
>PSTR "D,L"
|
||||
>PSTR "DE,(aa)"
|
||||
>PSTR "DE,aa"
|
||||
>PSTR "E,(HL)"
|
||||
>PSTR "E,(IX+a)"
|
||||
>PSTR "E,(IY+a)"
|
||||
>PSTR "E,A"
|
||||
>PSTR "E,a"
|
||||
>PSTR "E,B"
|
||||
>PSTR "E,C"
|
||||
>PSTR "E,D"
|
||||
>PSTR "E,E"
|
||||
>PSTR "E,H"
|
||||
>PSTR "E,L"
|
||||
>PSTR "H,(HL)"
|
||||
>PSTR "H,(IX+a)"
|
||||
>PSTR "H,(IY+a)"
|
||||
>PSTR "H,A"
|
||||
>PSTR "H,a"
|
||||
>PSTR "H,B"
|
||||
>PSTR "H,C"
|
||||
>PSTR "H,D"
|
||||
>PSTR "H,E"
|
||||
>PSTR "H,H"
|
||||
>PSTR "H,L"
|
||||
>PSTR "HL,(aa)"
|
||||
>PSTR "HL,aa"
|
||||
>PSTR "I,A"
|
||||
>PSTR "IX,(aa)"
|
||||
>PSTR "IX,aa"
|
||||
>PSTR "IY,(aa)"
|
||||
>PSTR "IY,aa"
|
||||
>PSTR "L,(HL)"
|
||||
>PSTR "L,(IX+a)"
|
||||
>PSTR "L,(IY+a)"
|
||||
>PSTR "L,A"
|
||||
>PSTR "L,a"
|
||||
>PSTR "L,B"
|
||||
>PSTR "L,C"
|
||||
>PSTR "L,D"
|
||||
>PSTR "L,E"
|
||||
>PSTR "L,H"
|
||||
>PSTR "L,L"
|
||||
>PSTR "R,A"
|
||||
>PSTR "SP,(aa)"
|
||||
>PSTR "SP,aa"
|
||||
>PSTR "SP,HL"
|
||||
>PSTR "SP,IX"
|
||||
>PSTR "SP,IY"
|
||||
>PSTR "(a),A"
|
||||
>PSTR "(C),A"
|
||||
>PSTR "(C),B"
|
||||
>PSTR "(C),C"
|
||||
>PSTR "(C),D"
|
||||
>PSTR "(C),E"
|
||||
>PSTR "(C),H"
|
||||
>PSTR "(C),L"
|
||||
>PSTR "AF"
|
||||
.DA #6,$$"A,(HL)"
|
||||
.DA #8,$$"A,(IX+a)"
|
||||
.DA #8,$$"A,(IY+a)"
|
||||
.DA #3,$$"A,A"
|
||||
.DA #3,$$"A,a"
|
||||
.DA #3,$$"A,B"
|
||||
.DA #3,$$"A,C"
|
||||
.DA #3,$$"A,D"
|
||||
.DA #3,$$"A,E"
|
||||
.DA #3,$$"A,H"
|
||||
.DA #3,$$"A,L"
|
||||
.DA #5,$$"HL,BC"
|
||||
.DA #5,$$"HL,DE"
|
||||
.DA #5,$$"HL,HL"
|
||||
.DA #5,$$"HL,SP"
|
||||
.DA #5,$$"IX,BC"
|
||||
.DA #5,$$"IX,DE"
|
||||
.DA #5,$$"IX,IX"
|
||||
.DA #5,$$"IX,SP"
|
||||
.DA #5,$$"IY,BC"
|
||||
.DA #5,$$"IY,DE"
|
||||
.DA #5,$$"IY,IY"
|
||||
.DA #5,$$"IY,SP"
|
||||
.DA #4,$$"(HL)"
|
||||
.DA #6,$$"(IX+a)"
|
||||
.DA #6,$$"(IY+a)"
|
||||
.DA #1,$$"A"
|
||||
.DA #1,$$"a"
|
||||
.DA #1,$$"B"
|
||||
.DA #1,$$"C"
|
||||
.DA #1,$$"D"
|
||||
.DA #1,$$"E"
|
||||
.DA #1,$$"H"
|
||||
.DA #1,$$"L"
|
||||
.DA #2,$$"aa"
|
||||
.DA #2,$$"BC"
|
||||
.DA #2,$$"DE"
|
||||
.DA #2,$$"HL"
|
||||
.DA #2,$$"IX"
|
||||
.DA #2,$$"IY"
|
||||
.DA #2,$$"SP"
|
||||
.DA #7,$$"(SP),HL"
|
||||
.DA #7,$$"(SP),IX"
|
||||
.DA #7,$$"(SP),IY"
|
||||
.DA #5,$$"DE,HL"
|
||||
.DA #5,$$"A,(a)"
|
||||
.DA #5,$$"A,(C)"
|
||||
.DA #5,$$"B,(C)"
|
||||
.DA #5,$$"C,(C)"
|
||||
.DA #5,$$"D,(C)"
|
||||
.DA #5,$$"E,(C)"
|
||||
.DA #5,$$"H,(C)"
|
||||
.DA #5,$$"L,(C)"
|
||||
.DA #4,$$"(IX)"
|
||||
.DA #4,$$"(IY)"
|
||||
.DA #6,$$"(aa),A"
|
||||
.DA #7,$$"(aa),BC"
|
||||
.DA #7,$$"(aa),DE"
|
||||
.DA #7,$$"(aa),HL"
|
||||
.DA #7,$$"(aa),IX"
|
||||
.DA #7,$$"(aa),IY"
|
||||
.DA #7,$$"(aa),SP"
|
||||
.DA #6,$$"(BC),A"
|
||||
.DA #6,$$"(DE),A"
|
||||
.DA #6,$$"(HL),A"
|
||||
.DA #6,$$"(HL),a"
|
||||
.DA #6,$$"(HL),B"
|
||||
.DA #6,$$"(HL),C"
|
||||
.DA #6,$$"(HL),D"
|
||||
.DA #6,$$"(HL),E"
|
||||
.DA #6,$$"(HL),H"
|
||||
.DA #6,$$"(HL),L"
|
||||
.DA #8,$$"(IX+a),A"
|
||||
.DA #8,$$"(IX+a),a"
|
||||
.DA #8,$$"(IX+a),B"
|
||||
.DA #8,$$"(IX+a),C"
|
||||
.DA #8,$$"(IX+a),D"
|
||||
.DA #8,$$"(IX+a),E"
|
||||
.DA #8,$$"(IX+a),H"
|
||||
.DA #8,$$"(IX+a),L"
|
||||
.DA #8,$$"(IY+a),A"
|
||||
.DA #8,$$"(IY+a),a"
|
||||
.DA #8,$$"(IY+a),B"
|
||||
.DA #8,$$"(IY+a),C"
|
||||
.DA #8,$$"(IY+a),D"
|
||||
.DA #8,$$"(IY+a),E"
|
||||
.DA #8,$$"(IY+a),H"
|
||||
.DA #8,$$"(IY+a),L"
|
||||
.DA #6,$$"A,(aa)"
|
||||
.DA #6,$$"A,(BC)"
|
||||
.DA #6,$$"A,(DE)"
|
||||
.DA #3,$$"A,I"
|
||||
.DA #3,$$"A,R"
|
||||
.DA #6,$$"B,(HL)"
|
||||
.DA #8,$$"B,(IX+a)"
|
||||
.DA #8,$$"B,(IY+a)"
|
||||
.DA #3,$$"B,A"
|
||||
.DA #3,$$"B,a"
|
||||
.DA #3,$$"B,B"
|
||||
.DA #3,$$"B,C"
|
||||
.DA #3,$$"B,D"
|
||||
.DA #3,$$"B,E"
|
||||
.DA #3,$$"B,H"
|
||||
.DA #3,$$"B,L"
|
||||
.DA #7,$$"BC,(aa)"
|
||||
.DA #5,$$"BC,aa"
|
||||
.DA #6,$$"C,(HL)"
|
||||
.DA #8,$$"C,(IX+a)"
|
||||
.DA #8,$$"C,(IY+a)"
|
||||
.DA #3,$$"C,A"
|
||||
.DA #3,$$"C,a"
|
||||
.DA #3,$$"C,B"
|
||||
.DA #3,$$"C,C"
|
||||
.DA #3,$$"C,D"
|
||||
.DA #3,$$"C,E"
|
||||
.DA #3,$$"C,H"
|
||||
.DA #3,$$"C,L"
|
||||
.DA #6,$$"D,(HL)"
|
||||
.DA #8,$$"D,(IX+a)"
|
||||
.DA #8,$$"D,(IY+a)"
|
||||
.DA #3,$$"D,A"
|
||||
.DA #3,$$"D,a"
|
||||
.DA #3,$$"D,B"
|
||||
.DA #3,$$"D,C"
|
||||
.DA #3,$$"D,D"
|
||||
.DA #3,$$"D,E"
|
||||
.DA #3,$$"D,H"
|
||||
.DA #3,$$"D,L"
|
||||
.DA #7,$$"DE,(aa)"
|
||||
.DA #5,$$"DE,aa"
|
||||
.DA #6,$$"E,(HL)"
|
||||
.DA #8,$$"E,(IX+a)"
|
||||
.DA #8,$$"E,(IY+a)"
|
||||
.DA #3,$$"E,A"
|
||||
.DA #3,$$"E,a"
|
||||
.DA #3,$$"E,B"
|
||||
.DA #3,$$"E,C"
|
||||
.DA #3,$$"E,D"
|
||||
.DA #3,$$"E,E"
|
||||
.DA #3,$$"E,H"
|
||||
.DA #3,$$"E,L"
|
||||
.DA #6,$$"H,(HL)"
|
||||
.DA #8,$$"H,(IX+a)"
|
||||
.DA #8,$$"H,(IY+a)"
|
||||
.DA #3,$$"H,A"
|
||||
.DA #3,$$"H,a"
|
||||
.DA #3,$$"H,B"
|
||||
.DA #3,$$"H,C"
|
||||
.DA #3,$$"H,D"
|
||||
.DA #3,$$"H,E"
|
||||
.DA #3,$$"H,H"
|
||||
.DA #3,$$"H,L"
|
||||
.DA #7,$$"HL,(aa)"
|
||||
.DA #5,$$"HL,aa"
|
||||
.DA #3,$$"I,A"
|
||||
.DA #7,$$"IX,(aa)"
|
||||
.DA #5,$$"IX,aa"
|
||||
.DA #7,$$"IY,(aa)"
|
||||
.DA #5,$$"IY,aa"
|
||||
.DA #6,$$"L,(HL)"
|
||||
.DA #8,$$"L,(IX+a)"
|
||||
.DA #8,$$"L,(IY+a)"
|
||||
.DA #3,$$"L,A"
|
||||
.DA #3,$$"L,a"
|
||||
.DA #3,$$"L,B"
|
||||
.DA #3,$$"L,C"
|
||||
.DA #3,$$"L,D"
|
||||
.DA #3,$$"L,E"
|
||||
.DA #3,$$"L,H"
|
||||
.DA #3,$$"L,L"
|
||||
.DA #3,$$"R,A"
|
||||
.DA #7,$$"SP,(aa)"
|
||||
.DA #5,$$"SP,aa"
|
||||
.DA #5,$$"SP,HL"
|
||||
.DA #5,$$"SP,IX"
|
||||
.DA #5,$$"SP,IY"
|
||||
.DA #5,$$"(a),A"
|
||||
.DA #5,$$"(C),A"
|
||||
.DA #5,$$"(C),B"
|
||||
.DA #5,$$"(C),C"
|
||||
.DA #5,$$"(C),D"
|
||||
.DA #5,$$"(C),E"
|
||||
.DA #5,$$"(C),H"
|
||||
.DA #5,$$"(C),L"
|
||||
.DA #2,$$"AF"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
T.REGISTERS .EQ *
|
||||
>PSTR "A"
|
||||
>PSTR "HL"
|
||||
>PSTR "IX"
|
||||
>PSTR "IY"
|
||||
>PSTR "B"
|
||||
>PSTR "C"
|
||||
>PSTR "D"
|
||||
>PSTR "E"
|
||||
>PSTR "H"
|
||||
>PSTR "L"
|
||||
>PSTR "BC"
|
||||
>PSTR "DE"
|
||||
>PSTR "SP"
|
||||
>PSTR "I"
|
||||
>PSTR "R"
|
||||
>PSTR "AF"
|
||||
.DA #1,$$"A"
|
||||
.DA #2,$$"HL"
|
||||
.DA #2,$$"IX"
|
||||
.DA #2,$$"IY"
|
||||
.DA #1,$$"B"
|
||||
.DA #1,$$"C"
|
||||
.DA #1,$$"D"
|
||||
.DA #1,$$"E"
|
||||
.DA #1,$$"H"
|
||||
.DA #1,$$"L"
|
||||
.DA #2,$$"BC"
|
||||
.DA #2,$$"DE"
|
||||
.DA #2,$$"SP"
|
||||
.DA #1,$$"I"
|
||||
.DA #1,$$"R"
|
||||
.DA #2,$$"AF"
|
||||
.HS 00
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
2842
BIN/ASM.T.Z80.O.txt
2842
BIN/ASM.T.Z80.O.txt
File diff suppressed because it is too large
Load Diff
@ -4,12 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.Z80
|
||||
*---------------------------------------
|
||||
.MA PSTR
|
||||
.DA #:1-*-1
|
||||
.AS "]1"
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*---------------------------------------
|
||||
.DA T.ADDR.MODES
|
||||
.DA T.REGISTERS
|
||||
|
@ -584,6 +584,11 @@ MEM.GetKeyCharY sta CLRREADAUX
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.SetKeyCharY sta CLRWRITEAUX
|
||||
sta (ZPSListKey),y
|
||||
sta SETWRITEAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.GetDataByte sta CLRREADAUX
|
||||
lda (ZPSListData)
|
||||
sta SETREADAUX
|
||||
|
Loading…
x
Reference in New Issue
Block a user