Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-03-29 16:21:30 +00:00
parent bdb1045920
commit 4ec9387e39
11 changed files with 182 additions and 166 deletions

Binary file not shown.

View File

@ -307,7 +307,7 @@ DIR.EQ clc
jsr SYM.Acc2Global jsr SYM.Acc2Global
jmp SYM.StoreGlobal jmp SYM.StoreGlobal
.2 lda (ZPGlobalBuf) PASS#2 .2 lda (ZPSymbolBuf) PASS#2
and #SYMG.F.FWREF and #SYMG.F.FWREF
beq .3 beq .3
@ -318,7 +318,7 @@ DIR.EQ clc
.3 ldy #SYMG-1 copy back value for OUT.Print .3 ldy #SYMG-1 copy back value for OUT.Print
.4 lda (ZPGlobalBuf),y .4 lda (ZPSymbolBuf),y
sta SRC.ACC.F,y sta SRC.ACC.F,y
dey dey
bpl .4 bpl .4
@ -513,10 +513,10 @@ DIR.MA >LDA.G ASM.MA.ON
beq DIR.OP.SYNERR beq DIR.OP.SYNERR
>PUSHW ZPLinePtr >PUSHW ZPLinePtr
>LDA.G MAC.hMacroList >LDA.G MAC.hList
>SYSCALL SListNewKey >SYSCALL SListNewKey
bcs .99 bcs .99
>STYA.G MAC.MacroID >STYA.G MAC.ID
.8 lda #$ff .8 lda #$ff
>STA.G ASM.MA.ON >STA.G ASM.MA.ON

View File

@ -79,7 +79,7 @@ EXP.Eval.Next stz SRC.ACC.F
jsr SRC.GetDecimal jsr SRC.GetDecimal
bcs EXP.EvalExitRTS bcs EXP.EvalExitRTS
bra EXP.EvalOperator jmp EXP.EvalOperator
.1 cmp #'$' Hex? .1 cmp #'$' Hex?
bne .2 bne .2
@ -115,8 +115,12 @@ EXP.Eval.Next stz SRC.ACC.F
jsr SRC.GetNextChar jsr SRC.GetNextChar
bcs EXP.EvalOperator bcs EXP.EvalOperator
cmp #''' cmp #'''
beq .44
cmp #','
bne EXP.EvalExitSYN bne EXP.EvalExitSYN
jsr SRC.GetNextChar bra EXP.EvalOperator
.44 jsr SRC.GetNextChar
bra EXP.EvalOperator bra EXP.EvalOperator
.43 cmp #'"' .43 cmp #'"'
@ -128,8 +132,12 @@ EXP.Eval.Next stz SRC.ACC.F
jsr SRC.GetNextChar jsr SRC.GetNextChar
bcs EXP.EvalOperator bcs EXP.EvalOperator
cmp #'"' cmp #'"'
beq .45
cmp #','
bne EXP.EvalExitSYN bne EXP.EvalExitSYN
jsr SRC.GetNextChar bra EXP.EvalOperator
.45 jsr SRC.GetNextChar
bra EXP.EvalOperator bra EXP.EvalOperator
.42 jsr SRC.IsLetter Symbol ? .42 jsr SRC.IsLetter Symbol ?
@ -205,7 +213,7 @@ EXP.GetLocal jsr SRC.GetNextChar
bne EXP.EvalExitUND bne EXP.EvalExitUND
lda #SYMG.F.FWREF Mark ACC as pending lda #SYMG.F.FWREF Mark ACC as pending
tsb SRC.ACC.F sta SRC.ACC.F
stz SRC.ACC.SIZE stz SRC.ACC.SIZE
clc clc
@ -216,13 +224,13 @@ EXP.GetLocal jsr SRC.GetNextChar
.8 rts .8 rts
*--------------------------------------- *---------------------------------------
EXP.GetGlobal jsr SYM.LookupGlobal EXP.GetGlobal jsr SYM.LookupGlobal
bcc .2 bcc .8
>LDA.G ASM.PASS pass#2? >LDA.G ASM.PASS pass#2?
bne EXP.EvalExitUND yes, undefined symbol bne EXP.EvalExitUND yes, undefined symbol
lda #SYMG.F.FWREF lda #SYMG.F.FWREF
tsb SRC.ACC.F Mark ACC as pending sta SRC.ACC.F Mark ACC as pending
stz SRC.ACC.SIZE stz SRC.ACC.SIZE
.1 jsr SRC.GetNextChar .1 jsr SRC.GetNextChar
@ -235,11 +243,6 @@ EXP.GetGlobal jsr SYM.LookupGlobal
cmp #'_' cmp #'_'
beq .1 beq .1
clc
rts
.2
.8 clc .8 clc
rts rts
*--------------------------------------- *---------------------------------------

View File

@ -181,10 +181,7 @@ FIO.OpenFile >STYA ZPPtr1
sec sec
.99 rts .99 rts
*--------------------------------------- *---------------------------------------
FIO.ReadLine >LDYA ZPLineBuf FIO.ReadLine ldy #SRC.COUNT
>STYA ZPLinePtr
ldy #SRC.COUNT
lda (pData),y lda (pData),y
clc clc
adc #SRC.hFILETYPES-1 adc #SRC.hFILETYPES-1

View File

@ -5,7 +5,7 @@ AUTO 4,1
MAC.Init >SYSCALL SListNew MAC.Init >SYSCALL SListNew
bcs .9 bcs .9
>STA.G MAC.hMacroList >STA.G MAC.hList
>LDYAI 256 >LDYAI 256
>SYSCALL getmem >SYSCALL getmem
@ -13,43 +13,32 @@ MAC.Init >SYSCALL SListNew
>STYA ZPMacroBuf >STYA ZPMacroBuf
txa txa
>STA.G MAC.hMacroBuf >STA.G MAC.hBuf
>SYSCALL SListNew
bcs .9
>STA.G MAC.hCtxList
>LDYAI 256 >LDYAI 256
>SYSCALL getmem >SYSCALL getmem
bcs .9 bcs .9
>STYA ZPCtxBuf >STYA ZPMacroStk
txa txa
>STA.G MAC.hCtxBuf >STA.G MAC.hStk
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
MAC.Reset >STZ.G MAC.CtxID MAC.Reset >STZ.G MAC.StkPtr
iny
sta (pData),y
rts rts
*--------------------------------------- *---------------------------------------
MAC.Quit >LDA.G MAC.hCtxBuf MAC.Quit >LDA.G MAC.hStk
beq .1 beq .1
>SYSCALL FreeMem >SYSCALL FreeMem
.1 >LDA.G MAC.hCtxList .1 >LDA.G MAC.hBuf
beq .2
>SYSCALL SListFree
.2 >LDA.G MAC.hMacroBuf
beq .3 beq .3
>SYSCALL FreeMem >SYSCALL FreeMem
.3 >LDA.G MAC.hMacroList .3 >LDA.G MAC.hList
beq .8 beq .8
>SYSCALL SListFree >SYSCALL SListFree
@ -77,8 +66,8 @@ MAC.AddChar tax
>PUSHYA >PUSHYA
>PUSHW ZPMacroBuf >PUSHW ZPMacroBuf
>PUSHW.G MAC.MacroID >PUSHW.G MAC.ID
>LDA.G MAC.hMacroList >LDA.G MAC.hList
>SYSCALL SListAddData >SYSCALL SListAddData
rts rts
@ -86,9 +75,11 @@ MAC.AddChar tax
rts rts
*--------------------------------------- *---------------------------------------
MAC.Lookup >PUSHW ZPLinePtr MAC.Lookup >PUSHW ZPLinePtr
>LDA.G MAC.hMacroList >LDA.G MAC.hList
>SYSCALL SListLookup >SYSCALL SListLookup
bcs .9 bcs .9
pha
txa txa
adc ZPLinePtr adc ZPLinePtr
sta ZPLinePtr sta ZPLinePtr
@ -96,15 +87,43 @@ MAC.Lookup >PUSHW ZPLinePtr
inc ZPLinePtr+1 inc ZPLinePtr+1
clc clc
.8 rts .8 pla Y,A = MAC.ID
.9 >DEBUG .9 rts
rts
*--------------------------------------- *---------------------------------------
MAC.NewOrGetCtx sec MAC.ReadLine >LDA.G MAC.StkPtr
tay
dey
dey
dey
lda (ZPMacroStk),y
>PUSHA offset
dey
lda (ZPMacroStk),y
>PUSHA
lda #0
>PUSHA len = 0 (string mode)
>PUSHA
>PUSHW ZPLineBuf
>LDA.G MAC.StkPtr
tay
dey
lda (ZPMacroStk),y
>PUSHA
dey
lda (ZPMacroStk),y
>PUSHA
>LDA.G MAC.hList
>SYSCALL SListGetData
rts rts
*--------------------------------------- *---------------------------------------
*---------------------------------------
MAN MAN
SAVE USR/SRC/BIN/ASM.S.MAC SAVE USR/SRC/BIN/ASM.S.MAC
LOAD USR/SRC/BIN/ASM.S LOAD USR/SRC/BIN/ASM.S

View File

@ -32,8 +32,8 @@ OUT.Reset ldx #4
rts rts
*--------------------------------------- *---------------------------------------
OUT.PrintLineOn OUT.PrintLineOn
clc * clc
rts * rts
>LDA.G ASM.LI.ON >LDA.G ASM.LI.ON
bpl .9 bpl .9

View File

@ -205,22 +205,32 @@ SRC.ParseLine.ExecMacro
jsr MAC.Lookup jsr MAC.Lookup
bcs .90 bcs .90
>STYA ZPPtr1 MAC.ID
>LDA.G MAC.StkPtr
cmp #MA.MAXDEPTH*4
>LDA.G ASM.MA.StackPtr
cmp #MA.MAXDEPTH
beq .91 beq .91
clc
adc #ASM.MA.StackPtr
tay tay
lda #0
sta (ZPMacroStk),y
iny
sta (ZPMacroStk),y
iny
lda ZPPtr1
sta (ZPMacroStk),y
iny
lda ZPPtr1+1
sta (ZPMacroStk),y
iny
tya
>STA.G MAC.StkPtr
* >INC.G ASM.MA.StackPtr
clc clc
rts rts
@ -342,7 +352,7 @@ SRC.ParseLine.AM
dex dex
bne .4 bne .4
bra .7 bra .74
.6 jsr EXP.Eval .6 jsr EXP.Eval
bcs .99 bcs .99
@ -369,7 +379,8 @@ SRC.ParseLine.AM
.71 jsr SRC.AddToBuf .71 jsr SRC.AddToBuf
dex dex
bne .71 bne .71
jsr SRC.GetChar
.74 jsr SRC.GetChar
bcs .8 bcs .8
cmp #C.SPACE cmp #C.SPACE

View File

@ -18,13 +18,13 @@ AUTO 4,1
SYM.Init >SYSCALL SListNew SYM.Init >SYSCALL SListNew
bcs .9 bcs .9
>STA.G SYM.hGlobalList >STA.G SYM.hList
>LDYAI 256 >LDYAI 256
>SYSCALL getmem >SYSCALL getmem
bcs .9 bcs .9
>STYA ZPGlobalBuf >STYA ZPSymbolBuf
txa txa
>STA.G SYM.hGlobalBuf >STA.G SYM.hGlobalBuf
@ -38,7 +38,7 @@ SYM.Quit >LDA.G SYM.hGlobalBuf
>SYSCALL FreeMem >SYSCALL FreeMem
.3 >LDA.G SYM.hGlobalList .3 >LDA.G SYM.hList
beq SYM.Quit.8 beq SYM.Quit.8
>SYSCALL SListFree >SYSCALL SListFree
@ -65,7 +65,7 @@ SYM.Dump >LDA.G ASM.LI.ON
>PUSHW ZPTmpBuf >PUSHW ZPTmpBuf
>PUSHW ZPPtr1 >PUSHW ZPPtr1
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListGetByID >SYSCALL SListGetByID
bcs SYM.Dump.End bcs SYM.Dump.End
@ -73,15 +73,15 @@ SYM.Dump >LDA.G ASM.LI.ON
>PUSHWI 0 Start >PUSHWI 0 Start
>PUSHWI $ffff End >PUSHWI $ffff End
>PUSHW ZPGlobalBuf >PUSHW ZPSymbolBuf
>PUSHW ZPPtr1 KeyID >PUSHW ZPPtr1 KeyID
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListGetData >SYSCALL SListGetData
bcs SYM.Dump.RTS bcs SYM.Dump.RTS
ldy #SYMG.SIZE Get Symbol Size ldy #SYMG.SIZE Get Symbol Size
lda (ZPGlobalBuf),y lda (ZPSymbolBuf),y
tax tax
beq .3 beq .3
@ -89,7 +89,7 @@ SYM.Dump >LDA.G ASM.LI.ON
phx phx
.2 iny .2 iny
lda (ZPGlobalBuf),y lda (ZPSymbolBuf),y
>PUSHA >PUSHA
dex dex
bne .2 bne .2
@ -108,22 +108,24 @@ SYM.Dump >LDA.G ASM.LI.ON
>LDYA ZPTmpBuf Label >LDYA ZPTmpBuf Label
>SYSCALL printf >SYSCALL printf
lda (ZPGlobalBuf) lda (ZPSymbolBuf)
bit #SYMG.F.LOCALS bit #SYMG.F.LOCALS
beq .7 beq .7
ldy #SYMG ldy #SYMG
.4 lda (ZPGlobalBuf),y .4 lda (ZPSymbolBuf),y
beq .7 End Local Symbol beq .7 End Local Symbol
pha Save ID pha Save ID
ldx #4 ldx #4
iny Skip Macro ID
.5 iny .5 iny
lda (ZPGlobalBuf),y lda (ZPSymbolBuf),y
>PUSHA >PUSHA
dex dex
bne .5 bne .5
@ -135,7 +137,8 @@ SYM.Dump >LDA.G ASM.LI.ON
>LDYA L.MSG.LSYMBOL >LDYA L.MSG.LSYMBOL
>SYSCALL printf >SYSCALL printf
ply ply
bne .4 iny
bra .4
.7 >PUSHBI 0 .7 >PUSHBI 0
>LDYA L.MSG.CRLF >LDYA L.MSG.CRLF
@ -150,7 +153,7 @@ SYM.NewGlobal jsr SYM.StoreGlobal
bcs .99 bcs .99
>PUSHW ZPLinePtr Pass #1; try to add global... >PUSHW ZPLinePtr Pass #1; try to add global...
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListNewKey >SYSCALL SListNewKey
bcs .9 Already Defined bcs .9 Already Defined
>STYA.G SYM.GlobalID >STYA.G SYM.GlobalID
@ -172,7 +175,7 @@ SYM.NewGlobal jsr SYM.StoreGlobal
tay tay
lda #0 lda #0
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
lda #$ff lda #$ff
>STA.G SYM.bInGlobal >STA.G SYM.bInGlobal
@ -189,7 +192,7 @@ SYM.NewGlobal jsr SYM.StoreGlobal
.99 rts .99 rts
*--------------------------------------- *---------------------------------------
SYM.GetGlobal >PUSHW ZPLinePtr Pass #2: should be already defined... SYM.GetGlobal >PUSHW ZPLinePtr Pass #2: should be already defined...
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListLookup >SYSCALL SListLookup
bcs .9 bcs .9
>STYA.G SYM.GlobalID >STYA.G SYM.GlobalID
@ -203,9 +206,9 @@ SYM.GetGlobal >PUSHW ZPLinePtr Pass #2: should be already defined...
.1 >PUSHWI 0 Start .1 >PUSHWI 0 Start
>PUSHWI $ffff End >PUSHWI $ffff End
>PUSHW ZPGlobalBuf >PUSHW ZPSymbolBuf
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.GlobalID
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListGetData >SYSCALL SListGetData
bcs .99 bcs .99
@ -220,7 +223,7 @@ SYM.GetGlobal >PUSHW ZPLinePtr Pass #2: should be already defined...
*--------------------------------------- *---------------------------------------
SYM.LookupGlobal SYM.LookupGlobal
>PUSHW ZPLinePtr >PUSHW ZPLinePtr
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListLookup >SYSCALL SListLookup
bcs .9 bcs .9
@ -243,7 +246,7 @@ SYM.LookupGlobal
ldy #SYMG-1 ldy #SYMG-1
.2 lda (ZPGlobalBuf),y .2 lda (ZPSymbolBuf),y
sta SRC.ACC.F,y sta SRC.ACC.F,y
dey dey
bpl .2 bpl .2
@ -255,7 +258,7 @@ SYM.LookupGlobal
>PUSHWI SYMG Get only Global value >PUSHWI SYMG Get only Global value
>PUSHW L.SRC.ACC.F >PUSHW L.SRC.ACC.F
>PUSHW ZPPtr1 >PUSHW ZPPtr1
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListGetData >SYSCALL SListGetData
rts rts
@ -275,31 +278,21 @@ SYM.StoreGlobal >LDA.G ASM.PASS
cpy #SYMG cpy #SYMG
beq .1 beq .1
lda (ZPGlobalBuf) lda (ZPSymbolBuf)
ora #SYMG.F.LOCALS ora #SYMG.F.LOCALS
sta (ZPGlobalBuf) sta (ZPSymbolBuf)
lda #0 lda #0
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
iny iny
bne .1 bne .1
inc inc
* phy
* pha
* >PUSHYA
* >PUSHBI 2
* >LDYA L.MSG.WORD
* >SYSCALL printf
* pla
* ply
.1 >PUSHYA .1 >PUSHYA
.2 >PUSHW ZPGlobalBuf >PUSHW ZPSymbolBuf
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.GlobalID
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
* >DEBUG
>SYSCALL SListAddData >SYSCALL SListAddData
bcs .9 bcs .9
@ -315,7 +308,7 @@ SYM.UpdateGlobal
>PUSHWI SYMG >PUSHWI SYMG
>PUSHW L.SRC.ACC.F >PUSHW L.SRC.ACC.F
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.GlobalID
>LDA.G SYM.hGlobalList >LDA.G SYM.hList
>SYSCALL SListSetData >SYSCALL SListSetData
rts rts
*--------------------------------------- *---------------------------------------
@ -337,7 +330,7 @@ SYM.PC2Acc ldy #ASM.PC+3
SYM.Acc2Global ldy #SYMG-1 SYM.Acc2Global ldy #SYMG-1
.2 lda SRC.ACC.F,y .2 lda SRC.ACC.F,y
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
dey dey
bpl .2 bpl .2
@ -345,7 +338,7 @@ SYM.Acc2Global ldy #SYMG-1
*--------------------------------------- *---------------------------------------
* Local Symbol Record: (6 bytes) * Local Symbol Record: (6 bytes)
* 0 : Local ID (1->255) * 0 : Local ID (1->255)
* 1 : Macro Context ID * 1 : Macro ID
* 2-5 : 32 bits Value (PC) * 2-5 : 32 bits Value (PC)
*--------------------------------------- *---------------------------------------
SYM.NewOrGetLocalA SYM.NewOrGetLocalA
@ -361,7 +354,7 @@ SYM.NewOrGetLocalA
bcc .9 Already Defined bcc .9 Already Defined
>LDA.G SYM.GlobalPtr >LDA.G SYM.GlobalPtr
tay cmp #252 6*42
beq .90 beq .90
ldy #ASM.PC+4 ldy #ASM.PC+4
@ -372,30 +365,32 @@ SYM.NewOrGetLocalA
cpy #ASM.PC cpy #ASM.PC
bne .1 bne .1
>LDA.G MAC.StkPtr Get Macro Context ID
pha
>LDA.G SYM.GlobalPtr >LDA.G SYM.GlobalPtr
tay tay
txa Get Back ID txa Get Back ID
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
ldx #4 ldx #5 MAC ID + PC (4)
.2 pla .2 pla
iny iny
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
dex dex
bne .2 bne .2
tya
iny iny
lda #0 lda #0
sta (ZPGlobalBuf),y sta (ZPSymbolBuf),y
tya tya
>STA.G SYM.GlobalPtr >STA.G SYM.GlobalPtr
lda (ZPGlobalBuf) lda (ZPSymbolBuf)
ora #SYMG.F.LOCALS ora #SYMG.F.LOCALS
sta (ZPGlobalBuf) sta (ZPSymbolBuf)
.8 clc .8 clc
rts rts
@ -412,23 +407,25 @@ SYM.NewOrGetLocalA
sec sec
rts rts
*--------------------------------------- *---------------------------------------
SYM.GetLocalX lda (ZPGlobalBuf) SYM.GetLocalX lda (ZPSymbolBuf)
and #SYMG.F.LOCALS and #SYMG.F.LOCALS
beq .9 beq .9
ldy #SYMG ldy #SYMG
.1 lda (ZPGlobalBuf),y .1 lda (ZPSymbolBuf),y
beq .9 beq .9
txa txa
cmp (ZPGlobalBuf),y cmp (ZPSymbolBuf),y
bne .3 bne .3
ldx #0 ldx #0
iny Macro ID
.2 iny .2 iny
lda (ZPGlobalBuf),y lda (ZPSymbolBuf),y
sta SRC.ACC,x sta SRC.ACC,x
inx inx
cpx #4 cpx #4
@ -444,28 +441,12 @@ SYM.GetLocalX lda (ZPGlobalBuf)
clc clc
adc #SYML adc #SYML
tay tay
bne .1 bra .1
.9 lda #E.UNDEF.SYMBOL .9 lda #E.UNDEF.SYMBOL
sec sec
rts rts
*--------------------------------------- *---------------------------------------
* Private Symbol Record: (9 bytes)
* 0 : Len (8)
* 1 : Flags:
* b7=0=pending,1=resolved
* 2-5 : 32 bits Value (PC)
* 6,7 : MCID (Macro Context ID)
* 8 : Private ID (0->255)
*---------------------------------------
SYM.AddPrivate
clc
rts
*---------------------------------------
SYM.LookupPrivate
clc
rts
*---------------------------------------
MAN MAN
SAVE USR/SRC/BIN/ASM.S.SYM SAVE USR/SRC/BIN/ASM.S.SYM
LOAD USR/SRC/BIN/ASM.S LOAD USR/SRC/BIN/ASM.S

View File

@ -21,10 +21,10 @@ ZPPtr2 .BS 2
ZPTmpBuf .BS 2 ZPTmpBuf .BS 2
ZPLineBuf .BS 2 ZPLineBuf .BS 2
ZPLinePtr .BS 2 ZPLinePtr .BS 2
ZPGlobalBuf .BS 2 ZPSymbolBuf .BS 2
ZPMacroBuf .BS 2 ZPMacroBuf .BS 2
ZPCtxBuf .BS 2 ZPMacroStk .BS 2
ZPAMPtr .BS 2 ZPAMPtr .BS 2
ZPRPtr .BS 2 ZPRPtr .BS 2
@ -45,21 +45,17 @@ SYMG.V .EQ 2
SYMG .EQ 6 DWORD SYMG .EQ 6 DWORD
*--------------------------------------- *---------------------------------------
SYML.ID .EQ 0 1..255 SYML.ID .EQ 0 1..255
SYML.V .EQ 1 DWORD SYML.MacroID .EQ 1
SYML.V .EQ 2 DWORD
* *
SYML .EQ 5 SYML .EQ 6
*---------------------------------------
MCTX.LEN .EQ 0
MCTX.PTR .EQ 1
MCTX.ID .EQ 2
MCTX.ARGS .EQ 4
*--------------------------------------- *---------------------------------------
ASM.T.AM .EQ 0 ASM.T.AM .EQ 0
ASM.T.R .EQ 2 ASM.T.R .EQ 2
ASM.T.O .EQ 4 ASM.T.O .EQ 4
*--------------------------------------- *---------------------------------------
DO.MAXDEPTH .EQ 8 DO.MAXDEPTH .EQ 8
IN.MAXDEPTH .EQ 7 IN.MAXDEPTH .EQ 4
MA.MAXDEPTH .EQ 8 MA.MAXDEPTH .EQ 8
*--------------------------------------- *---------------------------------------
E.SYNTAX.ERROR .EQ $A0 E.SYNTAX.ERROR .EQ $A0
@ -309,7 +305,18 @@ CS.RUN ldy #S.PS.hStdIn
jsr SYM.Reset jsr SYM.Reset
jsr MAC.Reset jsr MAC.Reset
.10 jsr FIO.ReadLine .10 >LDYA ZPLineBuf
>STYA ZPLinePtr
>LDA.G MAC.StkPtr
beq .20
jsr MAC.ReadLine
bcc .2
tax
bne .9
.20 jsr FIO.ReadLine
bcc .2 bcc .2
cmp #MLI.E.EOF End Of File? cmp #MLI.E.EOF End Of File?
bne .9 bne .9
@ -454,10 +461,10 @@ MSG.PASS .AZ "**** Pass:#%d ****"
MSG.SRC.FILE .AZ "**** Reading SRC File:%s" MSG.SRC.FILE .AZ "**** Reading SRC File:%s"
MSG.OBJ.FILE .AZ "**** Writing OBJ File:%s, Type=%02x" MSG.OBJ.FILE .AZ "**** Writing OBJ File:%s, Type=%02x"
MSG.T.FILE .AZ "**** Loading CPU File:%s" MSG.T.FILE .AZ "**** Loading CPU File:%s"
MSG.OUT0 .AZ "%H%H- " MSG.OUT0 .AZ "%H- "
MSG.OUT1 .AZ "%H%H-%h " MSG.OUT1 .AZ "%H-%h "
MSG.OUT2 .AZ "%H%H-%h %h " MSG.OUT2 .AZ "%H-%h %h "
MSG.OUT3 .AZ "%H%H-%h %h %h" MSG.OUT3 .AZ "%H-%h %h %h"
MSG.EQU0 .AZ " [ ?] " MSG.EQU0 .AZ " [ ?] "
MSG.EQU1 .AZ " [ %h] " MSG.EQU1 .AZ " [ %h] "
MSG.EQU2 .AZ " [ %h%h] " MSG.EQU2 .AZ " [ %h%h] "
@ -536,14 +543,12 @@ ASM.LI.MON .BS 1
ASM.LI.XON .BS 1 ASM.LI.XON .BS 1
ASM.MA.ON .BS 1 ASM.MA.ON .BS 1
ASM.MA.StackPtr .BS 1
ASM.MA.Stack .BS MA.MAXDEPTH
ASM.PC .BS 4 ASM.PC .BS 4
ASM.PC.PH .BS 4 ASM.PC.PH .BS 4
ASM.PC.DU .BS 4 ASM.PC.DU .BS 4
SYM.hGlobalList .BS 1 SYM.hList .BS 1
SYM.bInGlobal .BS 1 SYM.bInGlobal .BS 1
SYM.GlobalID .BS 2 SYM.GlobalID .BS 2
SYM.hGlobalBuf .BS 1 SYM.hGlobalBuf .BS 1
@ -551,13 +556,12 @@ SYM.GlobalPtr .BS 1
SYM.LookupID .BS 2 SYM.LookupID .BS 2
MAC.hMacroList .BS 1 MAC.hList .BS 1
MAC.hMacroBuf .BS 1 MAC.hBuf .BS 1
MAC.hCtxList .BS 1
MAC.hCtxBuf .BS 1
MAC.MacroID .BS 2
MAC.BufPtr .BS 1 MAC.BufPtr .BS 1
MAC.CtxID .BS 2 MAC.hStk .BS 1
MAC.StkPtr .BS 1
MAC.ID .BS 2
OUT.PC .BS 4 OUT.PC .BS 4
OUT.Buf .BS 4 OUT.Buf .BS 4

View File

@ -254,7 +254,8 @@ SLIST.NewKey jsr SLIST.Search
clc clc
rts rts
.99 lda #E.DUPKEY .99 >DEBUG
lda #E.DUPKEY
sec sec
.9 rts .9 rts
*-------------------------------------- *--------------------------------------