2018-01-10 16:34:57 +00:00
|
|
|
|
NEW
|
2019-09-02 06:09:28 +00:00
|
|
|
|
AUTO 3,1
|
2015-10-04 20:55:51 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-23 15:57:35 +00:00
|
|
|
|
* Global Symbol Record: (6+ bytes)
|
|
|
|
|
* 0 : Len
|
2018-01-19 16:21:31 +00:00
|
|
|
|
* 1 : Flags:
|
|
|
|
|
* b7=0=pending,1=resolved
|
|
|
|
|
* b6=R/W (.SE)
|
2018-03-22 16:45:23 +00:00
|
|
|
|
* b2,b1,b0 : Size (in bytes)
|
2018-01-19 16:21:31 +00:00
|
|
|
|
* 2-5 : 32 bits Value
|
2018-03-23 15:57:35 +00:00
|
|
|
|
* 6+ : Local Symbols.....
|
2015-11-13 16:25:31 +00:00
|
|
|
|
*---------------------------------------
|
2022-09-11 19:11:32 +00:00
|
|
|
|
* Local/Private Symbol Record: (4 bytes)
|
2018-04-06 15:10:02 +00:00
|
|
|
|
* 0 : Local ID (1->255)
|
2020-02-25 16:42:22 +00:00
|
|
|
|
* 1 : Macro Context ID (private)
|
2022-09-11 19:11:32 +00:00
|
|
|
|
* 2-3 : 16 bits offset (PC)
|
2018-04-06 15:10:02 +00:00
|
|
|
|
*---------------------------------------
|
2022-09-17 11:35:52 +00:00
|
|
|
|
SYM.Init lda #SL..+SL._
|
|
|
|
|
>SYSCALL SListNew
|
2018-03-28 15:23:32 +00:00
|
|
|
|
bcs .9
|
2018-01-22 16:52:04 +00:00
|
|
|
|
|
2019-03-29 16:21:30 +00:00
|
|
|
|
>STA.G SYM.hList
|
2018-03-28 15:23:32 +00:00
|
|
|
|
>LDYAI 256
|
2020-02-28 07:21:46 +00:00
|
|
|
|
>SYSCALL GetMem
|
2018-03-28 15:23:32 +00:00
|
|
|
|
bcs .9
|
2019-03-29 16:21:30 +00:00
|
|
|
|
>STYA ZPSymbolBuf
|
2018-03-28 15:23:32 +00:00
|
|
|
|
txa
|
2020-03-02 16:49:47 +00:00
|
|
|
|
>STA.G SYM.hBuf
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.9 rts
|
2018-01-19 16:21:31 +00:00
|
|
|
|
*---------------------------------------
|
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
|
2018-01-19 16:21:31 +00:00
|
|
|
|
*---------------------------------------
|
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
|
2018-03-23 15:57:35 +00:00
|
|
|
|
|
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...
|
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
|
|
|
|
|
2022-09-11 19:11:32 +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
|
2022-09-11 19:11:32 +00:00
|
|
|
|
|
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
|
2018-03-23 15:57:35 +00:00
|
|
|
|
*---------------------------------------
|
2020-08-17 13:03:39 +00:00
|
|
|
|
SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
|
|
|
|
|
>PUSHW ZPLinePtr
|
2018-03-28 15:23:32 +00:00
|
|
|
|
>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
|
|
|
|
|
2022-09-11 19:11:32 +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
|
2018-03-28 15:23:32 +00:00
|
|
|
|
rts
|
2019-10-03 06:25:27 +00:00
|
|
|
|
|
2019-03-25 07:04:40 +00:00
|
|
|
|
.9 lda #E.UNDEF.SYMBOL
|
2018-03-28 15:23:32 +00:00
|
|
|
|
sec
|
2019-03-22 16:47:33 +00:00
|
|
|
|
.99 rts
|
2018-01-22 07:34:59 +00:00
|
|
|
|
*---------------------------------------
|
2018-03-28 15:23:32 +00:00
|
|
|
|
SYM.LookupGlobal
|
2020-02-23 20:01:48 +00:00
|
|
|
|
>PUSHB.G SYM.hList
|
2018-03-28 15:23:32 +00:00
|
|
|
|
>PUSHW ZPLinePtr
|
|
|
|
|
>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
|
|
|
|
|
2022-09-11 19:11:32 +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
|
2022-09-11 19:11:32 +00:00
|
|
|
|
|
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
|
2018-03-28 15:23:32 +00:00
|
|
|
|
*---------------------------------------
|
2019-03-19 16:52:08 +00:00
|
|
|
|
SYM.StoreGlobal >LDA.G ASM.PASS
|
|
|
|
|
bne .8
|
2018-03-28 15:23:32 +00:00
|
|
|
|
|
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
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.8 clc
|
2018-04-06 15:10:02 +00:00
|
|
|
|
.9 rts
|
2018-03-28 15:23:32 +00:00
|
|
|
|
*---------------------------------------
|
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
|
2022-09-11 19:11:32 +00:00
|
|
|
|
|
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
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
.1 lda (pData),y
|
2019-03-19 16:52:08 +00:00
|
|
|
|
sta SRC.ACC,x
|
2018-03-28 15:23:32 +00:00
|
|
|
|
dey
|
2019-03-22 16:47:33 +00:00
|
|
|
|
dex
|
2018-03-28 15:23:32 +00:00
|
|
|
|
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
|
|
|
|
|
2018-03-28 15:23:32 +00:00
|
|
|
|
rts
|
2018-01-24 16:24:06 +00:00
|
|
|
|
*---------------------------------------
|
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
|
2018-04-06 15:10:02 +00:00
|
|
|
|
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
|
|
|
|
|
2018-04-06 15:10:02 +00:00
|
|
|
|
ldy #ASM.PC+4
|
2020-08-17 13:03:39 +00:00
|
|
|
|
|
2018-04-06 15:10:02 +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
|
|
|
|
|
2022-09-11 19:11:32 +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
|
2018-04-06 15:10:02 +00:00
|
|
|
|
tay
|
|
|
|
|
txa Get Back ID
|
2019-03-29 16:21:30 +00:00
|
|
|
|
sta (ZPSymbolBuf),y
|
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
pla
|
|
|
|
|
iny
|
|
|
|
|
sta (ZPSymbolBuf),y
|
2020-02-23 20:01:48 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
lda SYM.LocalOfs
|
|
|
|
|
iny
|
|
|
|
|
sta (ZPSymbolBuf),y
|
|
|
|
|
|
|
|
|
|
lda SYM.LocalOfs+1
|
2018-03-28 15:23:32 +00:00
|
|
|
|
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
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
clc
|
2018-03-28 15:23:32 +00:00
|
|
|
|
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
|
2018-03-28 15:23:32 +00:00
|
|
|
|
rts
|
2018-04-06 15:10:02 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
.97 pla
|
|
|
|
|
.98 lda #E.RANGE
|
|
|
|
|
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
|
2019-03-25 07:04:40 +00:00
|
|
|
|
.9 lda #E.SYMBOL.REDEF
|
2018-04-06 15:10:02 +00:00
|
|
|
|
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
|
2022-09-11 19:11:32 +00:00
|
|
|
|
* 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
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
.1 lda (ZPSymbolBuf),y
|
|
|
|
|
beq .99
|
2020-08-17 13:03:39 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
phy SYML.ID
|
|
|
|
|
|
2019-03-21 16:37:02 +00:00
|
|
|
|
txa
|
2019-03-29 16:21:30 +00:00
|
|
|
|
cmp (ZPSymbolBuf),y
|
2022-09-11 19:11:32 +00:00
|
|
|
|
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
|
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
iny SYML.CtxID
|
2019-04-01 06:07:56 +00:00
|
|
|
|
cmp (ZPSymbolBuf),y
|
2022-09-11 19:11:32 +00:00
|
|
|
|
bne .4
|
2018-04-06 15:10:02 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
ldy #SYMG.V
|
2019-03-25 07:04:40 +00:00
|
|
|
|
ldx #0
|
2020-08-17 13:03:39 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
.2 lda (ZPSymbolBuf),y
|
2019-03-25 07:04:40 +00:00
|
|
|
|
sta SRC.ACC,x
|
|
|
|
|
inx
|
2022-09-11 19:11:32 +00:00
|
|
|
|
iny
|
|
|
|
|
cpy #SYMG
|
2019-03-20 16:55:26 +00:00
|
|
|
|
bne .2
|
2018-01-26 16:19:17 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
ply
|
|
|
|
|
iny
|
|
|
|
|
iny SYML.O
|
2020-03-02 06:53:19 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
lda (ZPSymbolBuf),y
|
2018-03-28 15:23:32 +00:00
|
|
|
|
clc
|
2022-09-11 19:11:32 +00:00
|
|
|
|
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
|
2018-03-28 15:23:32 +00:00
|
|
|
|
rts
|
2020-08-17 13:03:39 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +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
|
2018-03-28 15:23:32 +00:00
|
|
|
|
*---------------------------------------
|
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
|
2022-09-17 11:35:52 +00:00
|
|
|
|
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
|
2022-09-11 19:11:32 +00:00
|
|
|
|
lda (ZPSymbolBuf),y
|
|
|
|
|
sta SRC.ACC
|
|
|
|
|
|
2020-02-26 16:34:13 +00:00
|
|
|
|
iny
|
2022-09-11 19:11:32 +00:00
|
|
|
|
lda (ZPSymbolBuf),y
|
|
|
|
|
sta SRC.ACC+1
|
|
|
|
|
|
|
|
|
|
stz SRC.ACC+2
|
|
|
|
|
stz SRC.ACC+3
|
|
|
|
|
|
|
|
|
|
ldy #SYMG.V
|
|
|
|
|
ldx #0
|
|
|
|
|
|
|
|
|
|
clc
|
|
|
|
|
|
|
|
|
|
.1 lda (ZPSymbolBuf),y
|
|
|
|
|
adc SRC.ACC,x
|
|
|
|
|
sta SRC.ACC,x
|
2020-02-26 16:34:13 +00:00
|
|
|
|
iny
|
2022-09-11 19:11:32 +00:00
|
|
|
|
inx
|
|
|
|
|
txa
|
|
|
|
|
eor #4
|
|
|
|
|
bne .1
|
2020-08-17 13:03:39 +00:00
|
|
|
|
|
2022-09-11 19:11:32 +00:00
|
|
|
|
ldx #3
|
|
|
|
|
|
|
|
|
|
.2 lda SRC.ACC,x
|
2020-02-26 16:34:13 +00:00
|
|
|
|
>PUSHA
|
|
|
|
|
dex
|
2022-09-11 19:11:32 +00:00
|
|
|
|
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
|