A2osX/BIN/ASM.S.SYM.txt

659 lines
9.8 KiB
Plaintext
Raw Normal View History

NEW
2019-09-02 06:09:28 +00:00
AUTO 3,1
2015-10-04 20:55:51 +00:00
*---------------------------------------
* Global Symbol Record: (6+ bytes)
* 0 : Len
* 1 : Flags:
* b7=0=pending,1=resolved
* b6=R/W (.SE)
* b2,b1,b0 : Size (in bytes)
* 2-5 : 32 bits Value
* 6+ : Local Symbols.....
2015-11-13 16:25:31 +00:00
*---------------------------------------
* Local/Private Symbol Record: (4 bytes)
* 0 : Local ID (1->255)
2020-02-25 16:42:22 +00:00
* 1 : Macro Context ID (private)
* 2-3 : 16 bits offset (PC)
*---------------------------------------
SYM.Init lda #SL..+SL._
>SYSCALL SListNew
bcs .9
2018-01-22 16:52:04 +00:00
2019-03-29 16:21:30 +00:00
>STA.G SYM.hList
>LDYAI 256
2020-02-28 07:21:46 +00:00
>SYSCALL GetMem
bcs .9
2019-03-29 16:21:30 +00:00
>STYA ZPSymbolBuf
txa
2020-03-02 16:49:47 +00:00
>STA.G SYM.hBuf
.9 rts
*---------------------------------------
2020-03-02 16:49:47 +00:00
SYM.Quit >LDA.G SYM.hBuf
2020-02-26 16:34:13 +00:00
beq .1
2020-08-17 13:03:39 +00:00
2018-07-18 15:30:42 +00:00
>SYSCALL FreeMem
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.1 >LDA.G SYM.hList
2019-04-01 06:07:56 +00:00
beq .8
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
>SYSCALL SListFree
2020-08-17 13:03:39 +00:00
2019-04-01 06:07:56 +00:00
.8 rts
*---------------------------------------
2020-03-02 06:53:19 +00:00
SYM.NewGlobal >LDA.G ASM.PASS
2020-08-17 13:03:39 +00:00
bne SYM.GetGlobal
2020-03-02 06:53:19 +00:00
jsr SYM.StoreGlobal Store previous if any
2019-03-20 16:55:26 +00:00
bcs .99
2019-03-27 17:01:01 +00:00
2020-03-02 06:53:19 +00:00
>STZ.G MAC.CtxID
>STA.G MAC.CtxNextID
2020-08-17 13:03:39 +00:00
2020-02-23 20:01:48 +00:00
>PUSHB.G SYM.hList
>PUSHW ZPLinePtr Pass #1: try to add global...
2022-11-02 06:54:30 +00:00
>PUSHWI 0 ScopeID
2019-03-19 16:52:08 +00:00
>SYSCALL SListNewKey
bcs .9 Already Defined
2020-03-02 06:53:19 +00:00
2020-03-02 16:49:47 +00:00
>STYA.G SYM.ID
2020-03-02 06:53:19 +00:00
jsr SRC.SkipX
2020-03-02 16:49:47 +00:00
2020-08-17 13:03:39 +00:00
.1 stz SRC.ACC.F
jsr SYM.PC2Acc
2019-03-20 16:55:26 +00:00
jsr SYM.Acc2Global
2020-02-23 20:01:48 +00:00
2019-03-20 16:55:26 +00:00
lda #SYMG
2020-03-02 16:49:47 +00:00
>STA.G SYM.BufPtr
2019-03-21 16:37:02 +00:00
tay
lda #0
2019-03-29 16:21:30 +00:00
sta (ZPSymbolBuf),y
2020-08-17 13:03:39 +00:00
.DO ASMDBG=1
lda #'1'
>SYSCALL putchar
jsr SYM.Dump.G
jsr OUT.PrintCR
.FIN
2019-03-20 16:55:26 +00:00
clc
rts
2020-08-17 13:03:39 +00:00
.9 cmp #E.DUPKEY
bne .99
2020-08-17 13:03:39 +00:00
lda #E.SYMBOL.REDEF
.99
2020-03-06 16:20:29 +00:00
SYM.NewGlobal.RTS
rts
*---------------------------------------
2020-08-17 13:03:39 +00:00
SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
>PUSHW ZPLinePtr
2022-11-02 06:54:30 +00:00
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
2020-03-06 16:20:29 +00:00
bcs SYM.NewGlobal.RTS
2020-03-02 06:53:19 +00:00
2020-03-02 16:49:47 +00:00
>STYA.G SYM.ID
2019-03-19 16:52:08 +00:00
jsr SRC.SkipX
2020-08-17 13:03:39 +00:00
.1 >PUSHB.G SYM.hList Pass #2: Restore full context
2020-03-02 16:49:47 +00:00
>PUSHW.G SYM.ID
2020-02-23 20:01:48 +00:00
>PUSHW ZPSymbolBuf
>PUSHWI $ffff all
>PUSHWZ from Start
2019-03-20 16:55:26 +00:00
>SYSCALL SListGetData
2019-03-22 16:47:33 +00:00
bcs .99
2020-03-06 16:20:29 +00:00
2020-08-17 13:03:39 +00:00
lda (ZPSymbolBuf)
and #SYMG.F.EQU
bne .8
>LDA.G ASM.PC
ldy #SYMG.V
cmp (ZPSymbolBuf),y
bne .7
>LDA.G ASM.PC+1
ldy #SYMG.V+1
cmp (ZPSymbolBuf),y
beq .8
.7 lda #E.OUT.OF.SYNC
sec
rts
.8 .DO ASMDBG=1
lda #'2'
>SYSCALL putchar
jsr SYM.Dump.G
jsr OUT.PrintCR
.FIN
lda #SYMG
2020-03-02 16:49:47 +00:00
>STA.G SYM.BufPtr
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
>STZ.G MAC.CtxID
>STA.G MAC.CtxNextID
2020-08-17 13:03:39 +00:00
2020-03-06 16:20:29 +00:00
clc
rts
2019-10-03 06:25:27 +00:00
2019-03-25 07:04:40 +00:00
.9 lda #E.UNDEF.SYMBOL
sec
2019-03-22 16:47:33 +00:00
.99 rts
2018-01-22 07:34:59 +00:00
*---------------------------------------
SYM.LookupGlobal
2020-02-23 20:01:48 +00:00
>PUSHB.G SYM.hList
>PUSHW ZPLinePtr
2022-11-02 06:54:30 +00:00
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
2020-03-02 06:53:19 +00:00
bcs .4
2020-08-17 13:03:39 +00:00
>STYA ZPPtr1 KeyID
2020-03-02 06:53:19 +00:00
jsr SRC.SkipX
2020-02-23 20:01:48 +00:00
2020-03-02 16:49:47 +00:00
.1 >LDA.G SYM.ID
cmp ZPPtr1
bne .3
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
iny
lda (pData),y
cmp ZPPtr1+1
bne .3
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
ldy #SYMG-1
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
.2 lda (ZPSymbolBuf),y
sta SRC.ACC.F,y
dey
2020-08-17 13:03:39 +00:00
bne .2 Keep ACC.F unchanged
2020-03-02 16:49:47 +00:00
clc
2020-08-17 13:03:39 +00:00
.99 rts
2020-03-02 16:49:47 +00:00
.3 >PUSHB.G SYM.hList
2020-08-17 13:03:39 +00:00
>PUSHW ZPPtr1 KeyID
>PUSHW L.SRC.ACC.SIZE
>PUSHWI SYMG-1 Get only Global value
>PUSHWI 1 Skip SYMG.F
2019-03-20 16:55:26 +00:00
>SYSCALL SListGetData
rts
2020-03-02 06:53:19 +00:00
.4 >LDA.G ASM.PASS pass#2?
bne .9 yes, undefined symbol
2020-03-05 16:55:02 +00:00
lda #SYMG.F.FWREF
tsb SRC.ACC.F
2020-03-06 16:20:29 +00:00
lda #2
2020-08-17 13:03:39 +00:00
sta SRC.ACC.SIZE
2020-08-17 13:03:39 +00:00
lda #$ff
sta SRC.ACC
sta SRC.ACC+1
2020-03-02 06:53:19 +00:00
.5 jsr SRC.GetNextChar
bcs .8
jsr SRC.IsLetterOrDigit
bcc .5
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
cmp #'.'
beq .5
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
cmp #'_'
beq .5
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
.8 clc
rts
2020-08-17 13:03:39 +00:00
2019-03-25 07:04:40 +00:00
.9 lda #E.UNDEF.SYMBOL
2019-03-20 16:55:26 +00:00
sec
rts
*---------------------------------------
2019-03-19 16:52:08 +00:00
SYM.StoreGlobal >LDA.G ASM.PASS
bne .8
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr
beq .8
2020-08-17 13:03:39 +00:00
2020-02-23 20:01:48 +00:00
>PUSHB.G SYM.hList
2020-03-02 16:49:47 +00:00
>PUSHW.G SYM.ID
2020-02-23 20:01:48 +00:00
>PUSHW ZPSymbolBuf
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr
2019-03-20 16:55:26 +00:00
tay
lda #0
cpy #SYMG
beq .1
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
iny Add 1 for \0 after locals/privates
2019-03-20 16:55:26 +00:00
bne .1
inc
2020-08-17 13:03:39 +00:00
2019-03-20 16:55:26 +00:00
.1 >PUSHYA
2019-03-18 16:48:16 +00:00
>SYSCALL SListAddData
2019-03-19 16:52:08 +00:00
bcs .9
2020-02-23 20:01:48 +00:00
2020-03-02 16:49:47 +00:00
>STZ.G SYM.BufPtr
2020-02-23 20:01:48 +00:00
.8 clc
.9 rts
*---------------------------------------
2019-03-22 16:47:33 +00:00
SYM.UpdateGlobal
2020-02-23 20:01:48 +00:00
>PUSHB.G SYM.hList
2020-03-02 16:49:47 +00:00
>PUSHW.G SYM.ID
2020-02-26 16:34:13 +00:00
>PUSHW ZPSymbolBuf
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr
2020-02-26 16:34:13 +00:00
tay
lda #0
cpy #SYMG
beq .1
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
iny Add 1 for \0 after locals/privates
bne .1
inc
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.1 >PUSHYA
2019-03-22 16:47:33 +00:00
>SYSCALL SListSetData
2020-08-17 13:03:39 +00:00
bcs .9
2020-08-17 13:03:39 +00:00
>STZ.G SYM.BufPtr
.9 rts
2019-03-22 16:47:33 +00:00
*---------------------------------------
2019-03-19 16:52:08 +00:00
SYM.PC2Acc ldy #ASM.PC+3
2019-03-22 16:47:33 +00:00
ldx #3
2020-08-17 13:03:39 +00:00
.1 lda (pData),y
2019-03-19 16:52:08 +00:00
sta SRC.ACC,x
dey
2019-03-22 16:47:33 +00:00
dex
bpl .1
2020-08-17 13:03:39 +00:00
2020-03-06 06:56:36 +00:00
lda #2
sta SRC.ACC.SIZE
2019-03-19 16:52:08 +00:00
rts
*---------------------------------------
2019-03-21 16:37:02 +00:00
SYM.Acc2Global ldy #SYMG-1
2020-02-26 07:28:45 +00:00
2019-10-03 06:25:27 +00:00
.2 lda SRC.ACC.F,y
2019-03-29 16:21:30 +00:00
sta (ZPSymbolBuf),y
2019-03-21 16:37:02 +00:00
dey
bpl .2
2019-03-25 07:04:40 +00:00
2019-03-20 16:55:26 +00:00
rts
*---------------------------------------
2020-02-25 16:42:22 +00:00
SYM.NewLocalA tax Save Local ID
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr not in a global label
beq .91
2020-02-23 20:01:48 +00:00
2020-02-28 16:30:16 +00:00
>LDA.G ASM.PASS
2020-03-02 06:53:19 +00:00
bne .20
2020-02-28 16:30:16 +00:00
*---------------------------------------
2020-03-02 06:53:19 +00:00
jsr SYM.LookupLocalX Pass #1: try to add
bcc .9 Already Defined
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr
2020-03-06 16:20:29 +00:00
* sec
adc #SYML
bcs .90
2020-02-23 20:01:48 +00:00
ldy #ASM.PC+4
2020-08-17 13:03:39 +00:00
.1 dey
lda (pData),y
pha
cpy #ASM.PC
2019-10-03 06:25:27 +00:00
bne .1
2020-08-17 13:03:39 +00:00
ldy #SYMG.V
sec
pla
sbc (ZPSymbolBuf),y
sta SYM.LocalOfs
iny
pla
sbc (ZPSymbolBuf),y
sta SYM.LocalOfs+1
iny
pla
sbc (ZPSymbolBuf),y
bne .97
iny
pla
sbc (ZPSymbolBuf),y
bne .98
2019-04-01 06:07:56 +00:00
>LDA.G MAC.CtxID Get Macro Context ID
2020-02-23 20:01:48 +00:00
2020-02-26 16:34:13 +00:00
pha
2020-02-23 20:01:48 +00:00
2020-03-02 16:49:47 +00:00
>LDA.G SYM.BufPtr
tay
txa Get Back ID
2019-03-29 16:21:30 +00:00
sta (ZPSymbolBuf),y
pla
iny
sta (ZPSymbolBuf),y
2020-02-23 20:01:48 +00:00
lda SYM.LocalOfs
iny
sta (ZPSymbolBuf),y
lda SYM.LocalOfs+1
iny
2019-03-29 16:21:30 +00:00
sta (ZPSymbolBuf),y
2019-03-22 16:47:33 +00:00
iny
lda #0
2020-02-26 16:34:13 +00:00
sta (ZPSymbolBuf),y ending \0
2019-03-29 07:46:36 +00:00
tya
2020-02-25 16:42:22 +00:00
2020-03-02 16:49:47 +00:00
>STA.G SYM.BufPtr
2020-02-23 20:01:48 +00:00
2019-03-29 16:21:30 +00:00
lda (ZPSymbolBuf)
2019-03-25 07:04:40 +00:00
ora #SYMG.F.LOCALS
2019-03-29 16:21:30 +00:00
sta (ZPSymbolBuf)
2020-02-23 20:01:48 +00:00
clc
rts
2019-03-20 16:55:26 +00:00
2019-10-03 06:25:27 +00:00
.91 lda #E.INV.LABEL
2019-03-20 16:55:26 +00:00
sec
rts
2020-08-17 13:03:39 +00:00
2019-03-25 07:04:40 +00:00
.90 lda #E.TOO.MANY.LOCAL
2019-03-20 16:55:26 +00:00
sec
rts
.97 pla
.98 lda #E.RANGE
sec
rts
2019-03-25 07:04:40 +00:00
.9 lda #E.SYMBOL.REDEF
sec
2020-08-17 13:03:39 +00:00
rts
2018-01-29 16:48:07 +00:00
*---------------------------------------
2020-03-02 16:49:47 +00:00
.20 >LDA.G SYM.BufPtr Pass #2: setup SYM.BufPtr in case of .EQ
clc
adc #SYML
sta (pData),y
* clc
2020-03-02 06:53:19 +00:00
rts
*---------------------------------------
2020-02-28 16:30:16 +00:00
SYM.LookupLocalX
lda (ZPSymbolBuf)
2019-03-22 16:47:33 +00:00
and #SYMG.F.LOCALS
2020-02-28 16:30:16 +00:00
beq .99
2020-08-17 13:03:39 +00:00
2019-03-25 07:04:40 +00:00
ldy #SYMG
2019-04-01 06:07:56 +00:00
.1 lda (ZPSymbolBuf),y
beq .99
2020-08-17 13:03:39 +00:00
phy SYML.ID
2022-11-02 06:54:30 +00:00
2019-03-21 16:37:02 +00:00
txa
2019-03-29 16:21:30 +00:00
cmp (ZPSymbolBuf),y
bne .4
2019-04-01 06:07:56 +00:00
>LDA.G MAC.CtxID
2020-08-17 13:03:39 +00:00
2019-04-01 06:07:56 +00:00
ply
2020-02-28 16:30:16 +00:00
phy
iny SYML.CtxID
2019-04-01 06:07:56 +00:00
cmp (ZPSymbolBuf),y
bne .4
ldy #SYMG.V
2019-03-25 07:04:40 +00:00
ldx #0
2020-08-17 13:03:39 +00:00
.2 lda (ZPSymbolBuf),y
2019-03-25 07:04:40 +00:00
sta SRC.ACC,x
inx
iny
cpy #SYMG
2019-03-20 16:55:26 +00:00
bne .2
ply
iny
iny SYML.O
2020-03-02 06:53:19 +00:00
lda (ZPSymbolBuf),y
clc
adc SRC.ACC
sta SRC.ACC
iny
lda (ZPSymbolBuf),y
adc SRC.ACC+1
sta SRC.ACC+1
bcc .3
inc SRC.ACC+2
.3 clc
rts
2020-08-17 13:03:39 +00:00
.4 pla
2019-03-20 16:55:26 +00:00
clc
adc #SYML
tay
2019-03-29 16:21:30 +00:00
bra .1
2020-08-17 13:03:39 +00:00
2020-02-28 16:30:16 +00:00
.99 lda #E.UNDEF.SYMBOL
2019-03-20 16:55:26 +00:00
sec
2020-08-17 13:03:39 +00:00
rts
*---------------------------------------
2020-02-26 16:34:13 +00:00
SYM.Dump.End >PUSHW L.MSG.SUMMARY
>PUSHW ZPPtr2
>PUSHBI 2
jmp OUT.Print
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
SYM.Dump.8 clc
rts
*---------------------------------------
SYM.Dump >LDA.G bListAll
2020-03-02 06:53:19 +00:00
bmi SYM.Dump.1
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
>LDA.G ASM.LI.ON
bpl SYM.Dump.8
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
SYM.Dump.1 >LDYA L.MSG.SYMBOLS
2020-02-28 07:21:46 +00:00
>SYSCALL PutS
2020-02-26 16:34:13 +00:00
stz ZPPtr2
lda #1
sta ZPPtr2+1
2020-02-26 16:34:13 +00:00
2020-08-17 13:03:39 +00:00
.1 >LDYA ZPPtr2
2020-02-26 16:34:13 +00:00
>STYA ZPPtr1
>PUSHB.G SYM.hList
>PUSHW ZPPtr1
2020-08-17 13:03:39 +00:00
>PUSHW ZPTmpBuf
2020-02-26 16:34:13 +00:00
>SYSCALL SListGetByID
bcs SYM.Dump.End
>STYA ZPPtr2 Save Next ID
>PUSHB.G SYM.hList
>PUSHW ZPPtr1 KeyID
>PUSHW ZPSymbolBuf
>PUSHWI $ffff All
>PUSHWZ from Start
>SYSCALL SListGetData
bcs .9
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
jsr SYM.Dump.GLP
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
bcc .1
2020-08-17 13:03:39 +00:00
.9 rts
2020-03-02 16:49:47 +00:00
*---------------------------------------
SYM.Dump.GLP jsr SYM.Dump.G
2020-03-02 06:53:19 +00:00
bcs .9
2020-08-17 13:03:39 +00:00
>LDYA ZPTmpBuf Label
>SYSCALL PutS
2020-03-02 06:53:19 +00:00
ldx #5
lda (ZPSymbolBuf)
bit #SYMG.F.LOCALS
beq .2
jsr SYM.Dump.LP
bcs .9
2020-08-17 13:03:39 +00:00
2020-03-02 06:53:19 +00:00
.2 cpx #5 already CR printed ?
beq .8
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
jmp OUT.PrintCR
2020-08-17 13:03:39 +00:00
2020-03-02 16:49:47 +00:00
.8 clc
.9 rts
2020-03-02 06:53:19 +00:00
*---------------------------------------
SYM.Dump.G ldy #SYMG.SIZE Get Symbol Size
2020-02-26 16:34:13 +00:00
lda (ZPSymbolBuf),y
pha
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
asl
tax
>PUSHB L.MSG.EQU0+1,x
>PUSHB L.MSG.EQU0,x
pla
pha
tax byte count
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
clc
adc #SYMG.V
tay
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.2 dey
lda (ZPSymbolBuf),y
>PUSHA
dex
bne .2
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
pla Byte Count
.3 >PUSHA
2020-08-17 13:03:39 +00:00
>SYSCALL PrintF
2020-03-02 06:53:19 +00:00
rts
2020-02-26 16:34:13 +00:00
*---------------------------------------
SYM.Dump.LP ldy #SYMG
2020-02-28 16:30:16 +00:00
ldx #5
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.1 lda (ZPSymbolBuf),y
beq .8
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
phy
2020-08-17 13:03:39 +00:00
2020-02-28 16:30:16 +00:00
phx
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
tax ID
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
iny
lda (ZPSymbolBuf),y MacID
bne .3
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
>PUSHW L.MSG.LSYMBOL
txa
>PUSHA
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
jsr SYM.Dump.PushValueY
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
lda #5
bra .5
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.3 >PUSHW L.MSG.PSYMBOL
txa
>PUSHA
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
>PUSHB (ZPSymbolBuf),y
jsr SYM.Dump.PushValueY
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
lda #6
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.5 >PUSHA
2020-08-17 13:03:39 +00:00
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2020-02-26 16:34:13 +00:00
2020-02-28 16:30:16 +00:00
plx
dex
bne .6
2020-08-17 13:03:39 +00:00
2020-02-28 16:30:16 +00:00
jsr OUT.PrintCR
ldx #5
2020-08-17 13:03:39 +00:00
2020-02-28 16:30:16 +00:00
.6 pla
2020-02-26 16:34:13 +00:00
clc
adc #SYML
tay
bra .1
2020-08-17 13:03:39 +00:00
2020-02-26 16:34:13 +00:00
.8 rts
*---------------------------------------
SYM.Dump.PushValueY
iny
lda (ZPSymbolBuf),y
sta SRC.ACC
2020-02-26 16:34:13 +00:00
iny
lda (ZPSymbolBuf),y
sta SRC.ACC+1
2022-11-02 06:54:30 +00:00
stz SRC.ACC+2
stz SRC.ACC+3
ldy #SYMG.V
ldx #0
2022-11-02 06:54:30 +00:00
clc
2022-11-02 06:54:30 +00:00
.1 lda (ZPSymbolBuf),y
adc SRC.ACC,x
sta SRC.ACC,x
2020-02-26 16:34:13 +00:00
iny
inx
txa
eor #4
bne .1
2020-08-17 13:03:39 +00:00
ldx #3
2022-11-02 06:54:30 +00:00
.2 lda SRC.ACC,x
2020-02-26 16:34:13 +00:00
>PUSHA
dex
bpl .1
2020-02-26 16:34:13 +00:00
rts
*---------------------------------------
2015-10-04 20:55:51 +00:00
MAN
2020-08-17 13:03:39 +00:00
SAVE usr/src/bin/asm.s.sym
LOAD usr/src/bin/asm.s
2015-10-04 20:55:51 +00:00
ASM