A2osX/BIN/ASM.S.SYM.txt

714 lines
10 KiB
Plaintext
Raw Permalink 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
lda #SL..+SL._
>SYSCALL SListNew
bcs .9
>STA.G FWR.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
.1 >LDA.G FWR.hList
beq .2
>SYSCALL SListFree
.2 >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
stz SRC.ACC.F
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
2023-07-22 13:41:22 +00:00
phx
2023-07-22 13:43:25 +00:00
2023-07-22 13:41:22 +00:00
jsr SYM.LookupFWFef
bcs .1
lda #SYMG.F.FWREF
tsb SRC.ACC.F
.1 plx
jsr SRC.SkipX
jsr SYM.PC2Acc
jsr SYM.Acc2Global
.80 clc
2019-03-20 16:55:26 +00:00
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
2023-07-22 13:41:22 +00:00
lda (ZPSymbolBuf) #SYMG.F
bit #SYMG.F.EQU
2020-08-17 13:03:39 +00:00
bne .8
2023-07-22 13:43:25 +00:00
2023-07-22 13:41:22 +00:00
* bit #SYMG.F.FWREF
* beq .2
2023-07-22 13:43:25 +00:00
* >DEBUG
2020-08-17 13:03:39 +00:00
2023-07-22 13:41:22 +00:00
.2 >LDA.G ASM.PC
2020-08-17 13:03:39 +00:00
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 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
bcc .10
2020-08-17 13:03:39 +00:00
>LDA.G ASM.PASS pass#2?
beq .11
2020-03-02 06:53:19 +00:00
lda #E.UNDEF.SYMBOL
sec
rts
2023-07-22 13:41:22 +00:00
.11 lda #SYMG.F.FWREF
tsb SRC.ACC.F
lda #$FF
sta SRC.ACC
sta SRC.ACC+1
2023-07-22 13:43:25 +00:00
2023-07-22 13:41:22 +00:00
jmp SYM.AddFWFef
.10 >STYA ZPPtr1 KeyID
2020-02-23 20:01:48 +00:00
2023-07-22 13:41:22 +00:00
jsr SRC.SkipX
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
2023-07-22 13:41:22 +00:00
bpl .2
2020-03-02 16:49:47 +00:00
clc
rts
2023-07-22 13:41:22 +00:00
.3 >PUSHB.G SYM.hList
2020-08-17 13:03:39 +00:00
>PUSHW ZPPtr1 KeyID
2023-07-22 13:41:22 +00:00
>PUSHW L.SRC.ACC.F
>PUSHWI SYMG
>PUSHWZ
2019-03-20 16:55:26 +00:00
>SYSCALL SListGetData
bcs .90
clc
rts
2020-08-17 13:03:39 +00:00
.90 plx
.9 rts
*---------------------------------------
SYM.AddFWFef jsr SYM.LookupFWFef
bcc .8 Already Defined
2020-03-02 06:53:19 +00:00
>PUSHB.G FWR.hList
>PUSHW ZPLinePtr Pass #1: try to add global...
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9
2020-08-17 13:03:39 +00:00
>STYA.G FWR.ID
2020-08-17 13:03:39 +00:00
jsr SRC.SkipX
2020-08-17 13:03:39 +00:00
>PUSHB.G FWR.hList
>PUSHW.G FWR.ID
>PUSHW ZPSymbolBuf
>PUSHWI 1
>SYSCALL SListAddData
2020-03-02 06:53:19 +00:00
rts
2020-08-17 13:03:39 +00:00
.8 jsr SRC.SkipX
clc
.9 rts
*---------------------------------------
SYM.LookupFWFef >PUSHB.G FWR.hList
>PUSHW ZPLinePtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
2019-03-20 16:55:26 +00:00
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
2019-03-20 16:55:26 +00:00
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
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
*---------------------------------------
2023-07-22 13:41:22 +00:00
SYM.Dump.G ldx #8
2020-02-26 16:34:13 +00:00
2023-07-22 13:41:22 +00:00
ldy #SYMG.V+3
.10 lda (ZPSymbolBuf),y
bne .1
2023-07-22 13:43:25 +00:00
2023-07-22 13:41:22 +00:00
dey
dex
dex
bne .10
2020-08-17 13:03:39 +00:00
2023-07-22 13:41:22 +00:00
.1 txa
lsr
pha
2023-07-22 13:43:25 +00:00
2020-02-26 16:34:13 +00:00
>PUSHB L.MSG.EQU0+1,x
>PUSHB L.MSG.EQU0,x
pla
2023-07-22 13:41:22 +00:00
beq .3
2020-02-26 16:34:13 +00:00
pha
tax byte count
2023-07-22 13:43:25 +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
2023-07-22 13:43:25 +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
2023-07-22 13:41:22 +00:00
bpl .2
2020-02-26 16:34:13 +00:00
rts
*---------------------------------------
.DO SYMDBG=1
SYM.Debug >PUSHW L.MSG.SYMDBG
>PUSHW.G SYM.ID
>PUSHBI 2
>SYSCALL PrintF
rts
.FIN
2020-02-26 16:34:13 +00:00
*---------------------------------------
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