Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-03-02 17:49:47 +01:00
parent f8dd42b0d6
commit 95fb344b30
10 changed files with 190 additions and 131 deletions

Binary file not shown.

View File

@ -137,7 +137,7 @@ DIR.DA jsr SRC.GetNextCharNB
ldx SRC.ACC.SIZE ldx SRC.ACC.SIZE
bne .10 bne .10
>DEBUG
ldx #2 ldx #2
.10 ldy #0 .10 ldy #0
@ -265,10 +265,21 @@ DIR.SE sec
*--------------------------------------- *---------------------------------------
DIR.EQ clc DIR.EQ clc
>LDA.G SYM.bInGlobal >LDA.G SYM.BufPtr
bpl .99 beq .99
jsr SRC.GetNextCharNB eor #SYMG
beq .1
bcs .99 .SE not allowed in local/private
bcc .10 in local, skip F update
.1 ror A = 0 : SYMG.F.RW
ora (ZPSymbolBuf)
sta (ZPSymbolBuf)
.10 jsr SRC.GetNextCharNB
bcs .99 bcs .99
lda #$ff lda #$ff
@ -280,7 +291,7 @@ DIR.EQ clc
>LDA.G ASM.PASS >LDA.G ASM.PASS
bne .2 bne .2
*--------------------------------------- *---------------------------------------
>LDA.G SYM.GlobalPtr PASS#1 >LDA.G SYM.BufPtr PASS#1
cmp #SYMG cmp #SYMG
beq .12 beq .12
@ -293,14 +304,14 @@ DIR.EQ clc
sta (ZPSymbolBuf),y sta (ZPSymbolBuf),y
dex dex
bpl .11 bpl .11
clc clc
rts rts
.12 jsr SYM.Acc2Global global, update and close .12 jsr SYM.Acc2Global global, update and close
jmp SYM.StoreGlobal jmp SYM.StoreGlobal
*--------------------------------------- *---------------------------------------
.2 >LDA.G SYM.GlobalPtr PASS#2 .2 >LDA.G SYM.BufPtr PASS#2
cmp #SYMG cmp #SYMG
beq .22 beq .22
@ -314,6 +325,12 @@ DIR.EQ clc
dex dex
bpl .21 bpl .21
lda #'e'
* jsr OUT.DEBUG
>DEBUG
clc clc
rts rts

View File

@ -22,15 +22,20 @@ EXP.Eval.Missing
EXP.Eval >STZ.G EXP.Modifier EXP.Eval >STZ.G EXP.Modifier
>STZ.G EXP.Prefix >STZ.G EXP.Prefix
>STZ.G EXP.Operator >STZ.G EXP.Operator
jsr SRC.GetChar jsr SRC.GetChar
bcs EXP.Eval.Missing bcs EXP.Eval.Missing
jsr SRC.IsMODReserved jsr SRC.IsMODReserved
bcs EXP.Eval.Next bcs EXP.Eval.Next
txa txa
>STA.G EXP.Modifier >STA.G EXP.Modifier
lda #'#' lda #'#'
>STA.G EXP.Prefix >STA.G EXP.Prefix
EXP.Eval.Next0 jsr SRC.GetNextChar EXP.Eval.Next0 jsr SRC.GetNextChar
EXP.Eval.Next stz SRC.ACC.F EXP.Eval.Next stz SRC.ACC.F
lda #2 lda #2
sta SRC.ACC.SIZE Default To WORD (2 bytes) sta SRC.ACC.SIZE Default To WORD (2 bytes)
@ -57,23 +62,23 @@ EXP.Eval.Next stz SRC.ACC.F
beq .9 illegal OUTSIDE macro beq .9 illegal OUTSIDE macro
.13 jsr EXP.GetLocal .13 jsr EXP.GetLocal
bcs .19 bcs .99
* jsr OUT.DEBUG
jmp EXP.EvalOperator jmp EXP.EvalOperator
.19 rts
.14 cmp #'*' .14 cmp #'*'
bne .10 bne .10
jsr SYM.PC2Acc jsr SYM.PC2Acc
lda #"*"
* jsr OUT.DEBUG
jsr SRC.GetNextChar jsr SRC.GetNextChar
jmp EXP.EvalOperator jmp EXP.EvalOperator
.9 lda #E.INV.LABEL .9 lda #E.INV.LABEL
sec sec
rts .99 rts
*--------------------------------------- *---------------------------------------
.10 jsr SRC.IsDigit10 Decimal constant ? .10 jsr SRC.IsDigit10 Decimal constant ?
bcs .1 bcs .1
@ -168,19 +173,14 @@ EXP.EvalOperator
>LDA.G EXP.Operator >LDA.G EXP.Operator
beq .7 beq .7
* pha
* phx
* phy
* tax
* lda SRC.EXP.RESERVED,x
* >SYSCALL putchar
* jsr OUT.DEBUG
* ply
* plx
* pla
jsr EXP.Compute jsr EXP.Compute
bcc .7
tax
>LDA.G ASM.PASS
beq .7 Ignore error ...
txa
bcs EXP.EvalExitRTS bcs EXP.EvalExitRTS
.7 jsr SRC.GetChar .7 jsr SRC.GetChar
@ -220,8 +220,6 @@ EXP.GetLocal jsr SRC.GetNextChar
>LDA.G ASM.PASS pass#2? >LDA.G ASM.PASS pass#2?
bne EXP.EvalExitUND bne EXP.EvalExitUND
stz SRC.ACC.SIZE Mark ACC as undefined
clc clc
rts rts
@ -251,26 +249,9 @@ EXP.MOD.32 lda #4
clc clc
rts rts
*--------------------------------------- *---------------------------------------
EXP.Compute ldx SRC.ACC.SIZE EXP.Compute asl
beq .1
ldx SRC.ARG.SIZE
beq .1
asl
tax tax
jmp (J.EXP.OP-2,x) jmp (J.EXP.OP-2,x)
.1 >LDA.G ASM.PASS
beq .8
lda #E.UNDEF.SYMBOL
sec
rts
.8 stz SRC.ACC.SIZE Mark ACC as undefined
clc
rts
*--------------------------------------- *---------------------------------------
EXP.OP.EOR ldx #3 EXP.OP.EOR ldx #3

View File

@ -31,9 +31,6 @@ MAC.Init >SYSCALL SListNew
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
MAC.Reset >STZ.G MAC.StkPtr
rts
*---------------------------------------
MAC.Quit >LDA.G MAC.StkPtr MAC.Quit >LDA.G MAC.StkPtr
beq .10 beq .10
@ -280,7 +277,7 @@ MAC.ReadLine >LDA.G MAC.hBuf
inc ZPMacroBuf+1 inc ZPMacroBuf+1
.21 cmp #'#' .21 cmp #'#'
bne .20 bne .22
lda ZPMacroArgCnt lda ZPMacroArgCnt
ora #$30 ora #$30
@ -289,7 +286,7 @@ MAC.ReadLine >LDA.G MAC.hBuf
bra .1 bra .1
.20 cmp #'1' .22 cmp #'1'
bcc .9 bcc .9
cmp #'9'+1 cmp #'9'+1
@ -304,6 +301,17 @@ MAC.ReadLine >LDA.G MAC.hBuf
jsr MAC.GetArgX jsr MAC.GetArgX
bcs .1 no arg ]n, append nothing bcs .1 no arg ]n, append nothing
lda (ZPPtr1)
cmp #'"'
bne .3
inc ZPPtr1
bne .23
inc ZPPtr1+1
.23 dex
dex
.3 lda (ZPPtr1) .3 lda (ZPPtr1)
sta (ZPLineBuf),y sta (ZPLineBuf),y
iny iny

View File

@ -297,7 +297,7 @@ OUT.PrintCR1 >DEC.G OUT.LineCnt
*--------------------------------------- *---------------------------------------
OUT.DEBUG phy OUT.DEBUG phy
phx phx
>SYSCALL putchar
>PUSHW L.MSG.DEBUG >PUSHW L.MSG.DEBUG
ldy #ASM.PC+4 ldy #ASM.PC+4

View File

@ -55,8 +55,8 @@ SRC.ParseLine.LABEL
>LDA.G MAC.StkPtr >LDA.G MAC.StkPtr
beq SRC.ParseLine.InvLbl illegal OUTSIDE macro beq SRC.ParseLine.InvLbl illegal OUTSIDE macro
.2 >LDA.G SYM.bInGlobal Not relative to Global label... .2 >LDA.G SYM.BufPtr Not relative to Global label...
bpl SRC.ParseLine.InvLbl beq SRC.ParseLine.InvLbl
jsr SRC.GetNextChar jsr SRC.GetNextChar
bcs SRC.ParseLine.InvLbl bcs SRC.ParseLine.InvLbl
@ -188,54 +188,73 @@ SRC.ParseLine.AM
.1 jsr SRC.IsAMReserved .1 jsr SRC.IsAMReserved
bcs .2 bcs .2
jsr SRC.AddToBuf jsr SRC.AddToBuf
bra .7 bra .7
.2 jsr SRC.IsLetter Any register? .2 jsr SRC.IsLetter Any register?
bcs .6 no, try something else bcs .6 no, try something else
>LDYA ZPRPtr Check in register table >LDYA ZPRPtr Check in register table
jsr SRC.GetKeyword jsr SRC.GetKeyword
bcs .6 bcs .6
lda (ZPPtr1) get register len lda (ZPPtr1) get register len
tax tax
.4 inc ZPPtr1 .4 inc ZPPtr1
bne .5 bne .5
inc ZPPtr1+1 inc ZPPtr1+1
.5 lda (ZPPtr1) .5 lda (ZPPtr1)
jsr SRC.AddToBuf jsr SRC.AddToBuf
dex dex
bne .4 bne .4
bra .74 bra .74
.6 jsr EXP.Eval .6 jsr EXP.Eval
bcs .99 bcs .99
>LDA.G EXP.Prefix >LDA.G EXP.Prefix
beq .75 beq .75
jsr SRC.AddToBuf jsr SRC.AddToBuf
.75 ldx SRC.ACC.SIZE .75 ldx SRC.ACC.SIZE
bne .73 bne .73
>DEBUG
ldx #2 FWREF ...assume 2 bytes... ldx #2 FWREF ...assume 2 bytes...
.73 lda SRC.ACC-1,x .73 lda SRC.ACC-1,x
bne .72 bne .72
dex dex
bne .73 bne .73
inx inx
.72 lda #'a' .72 lda #'a'
.71 jsr SRC.AddToBuf .71 jsr SRC.AddToBuf
dex dex
bne .71 bne .71
.74 jsr SRC.GetChar .74 jsr SRC.GetChar
bcs .8 bcs .8
cmp #C.SPACE cmp #C.SPACE
bne .1 bne .1
bra .8 bra .8
.7 jsr SRC.GetNextChar .7 jsr SRC.GetNextChar
bcs .8 bcs .8
cmp #C.SPACE cmp #C.SPACE
bne .1 bne .1
.8 jsr SRC.ParseLine.AMCheck .8 jsr SRC.ParseLine.AMCheck
bcs .9 bcs .9
jsr SRC.ParseLine.AMCheck4OP jsr SRC.ParseLine.AMCheck4OP
bcc .88 bcc .88
@ -369,29 +388,37 @@ SRC.ParseLine.Emit
.6 cmp #'r .6 cmp #'r
bne .7 bne .7
lda SRC.ACC.SIZE jsr SRC.ComputeRel8
bcs .61
lda SRC.ACC
bra .50
.61 >LDA.G ASM.PASS
beq .50 Emit 00 if pending symbol (pass #1) beq .50 Emit 00 if pending symbol (pass #1)
jsr SRC.ComputeRel8 bra .91
bcs .91
bra .50
.7 cmp #'l .7 cmp #'l
bne .90 bne .90
lda SRC.ACC.SIZE jsr SRC.ComputeRel16
bne .71 bcs .71
jsr OUT.EmitByte Emit 00 00 if pending symbol (pass #1)
bcs .9
lda #0
bra .50
.71 jsr SRC.ComputeRel16
bcs .91
lda SRC.ACC lda SRC.ACC
jsr OUT.EmitByte jsr OUT.EmitByte
bcs .9 bcs .9
lda SRC.ACC+1 lda SRC.ACC+1
bra .50 bra .50
.71 >LDA.G ASM.PASS
bne .91
lda #0
jsr OUT.EmitByte
bcs .9
lda #0
bra .50 Emit 00 00 if pending symbol (pass #1)
.8 clc .8 clc
.9 rts .9 rts
@ -399,6 +426,7 @@ SRC.ParseLine.Emit
.90 lda #E.INV.T.FILE .90 lda #E.INV.T.FILE
sec sec
rts rts
.91 lda #E.RANGE .91 lda #E.RANGE
sec sec
rts rts
@ -485,7 +513,8 @@ SRC.ComputeRel16
*--------------------------------------- *---------------------------------------
SRC.ComputeRel phy SRC.ComputeRel phy
jsr OUT.DEBUG lda #'r'
* jsr OUT.DEBUG
ldy #ASM.PC ldy #ASM.PC
clc clc
@ -506,7 +535,8 @@ SRC.ComputeRel phy
sta SRC.ACC+3 sta SRC.ACC+3
php php
jsr OUT.DEBUG lda #'R'
* jsr OUT.DEBUG
plp plp
ply ply
rts rts

View File

@ -24,10 +24,10 @@ SYM.Init >SYSCALL SListNew
bcs .9 bcs .9
>STYA ZPSymbolBuf >STYA ZPSymbolBuf
txa txa
>STA.G SYM.hGlobalBuf >STA.G SYM.hBuf
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
SYM.Quit >LDA.G SYM.hGlobalBuf SYM.Quit >LDA.G SYM.hBuf
beq .1 beq .1
>SYSCALL FreeMem >SYSCALL FreeMem
@ -54,7 +54,7 @@ SYM.NewGlobal >LDA.G ASM.PASS
>SYSCALL SListNewKey >SYSCALL SListNewKey
bcs .9 Already Defined bcs .9 Already Defined
>STYA.G SYM.GlobalID >STYA.G SYM.ID
txa txa
* clc * clc
@ -64,17 +64,19 @@ SYM.NewGlobal >LDA.G ASM.PASS
inc ZPLinePtr+1 inc ZPLinePtr+1
.1 jsr SYM.PC2Acc .1 jsr SYM.PC2Acc
lda #2
sta SRC.ACC.SIZE
stz SRC.ACC.F
jsr SYM.Acc2Global jsr SYM.Acc2Global
lda #SYMG lda #SYMG
>STA.G SYM.GlobalPtr >STA.G SYM.BufPtr
tay tay
lda #0 lda #0
sta (ZPSymbolBuf),y sta (ZPSymbolBuf),y
lda #$ff
>STA.G SYM.bInGlobal
clc clc
rts rts
@ -87,7 +89,7 @@ SYM.NewGlobal2 >PUSHB.G SYM.hList Pass #2: should be already defined...
>SYSCALL SListLookup >SYSCALL SListLookup
bcs .9 bcs .9
>STYA.G SYM.GlobalID >STYA.G SYM.ID
txa txa
* clc * clc
@ -97,15 +99,15 @@ SYM.NewGlobal2 >PUSHB.G SYM.hList Pass #2: should be already defined...
inc ZPLinePtr+1 inc ZPLinePtr+1
.1 >PUSHB.G SYM.hList Pass #2: Retore full context .1 >PUSHB.G SYM.hList Pass #2: Retore full context
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.ID
>PUSHW ZPSymbolBuf >PUSHW ZPSymbolBuf
>PUSHWI $ffff all >PUSHWI $ffff all
>PUSHWZ from Start >PUSHWZ from Start
>SYSCALL SListGetData >SYSCALL SListGetData
bcs .99 bcs .99
lda #$ff lda #SYMG
>STA.G SYM.bInGlobal >STA.G SYM.BufPtr
>STZ.G MAC.CtxID >STZ.G MAC.CtxID
>STA.G MAC.CtxNextID >STA.G MAC.CtxNextID
@ -132,19 +134,41 @@ SYM.LookupGlobal
bcc .1 bcc .1
inc ZPLinePtr+1 inc ZPLinePtr+1
.1 >PUSHB.G SYM.hList .1 >LDA.G SYM.ID
cmp ZPPtr1
bne .3
iny
lda (pData),y
cmp ZPPtr1+1
bne .3
ldy #SYMG-1
.2 lda (ZPSymbolBuf),y
sta SRC.ACC.F,y
dey
bpl .2
clc
rts
.3 >PUSHB.G SYM.hList
>PUSHW ZPPtr1 >PUSHW ZPPtr1
>PUSHW L.SRC.ACC.F >PUSHW L.SRC.ACC.F
>PUSHWI SYMG Get only Global value >PUSHWI SYMG Get only Global value
>PUSHWZ Start >PUSHWZ Start
>SYSCALL SListGetData >SYSCALL SListGetData
php
pha
lda #'G'
* jsr OUT.DEBUG
pla
plp
rts rts
.4 >LDA.G ASM.PASS pass#2? .4 >LDA.G ASM.PASS pass#2?
bne .9 yes, undefined symbol bne .9 yes, undefined symbol
stz SRC.ACC.SIZE Mark ACC as undefined
.5 jsr SRC.GetNextChar .5 jsr SRC.GetNextChar
bcs .8 bcs .8
@ -167,14 +191,14 @@ SYM.LookupGlobal
SYM.StoreGlobal >LDA.G ASM.PASS SYM.StoreGlobal >LDA.G ASM.PASS
bne .8 bne .8
>LDA.G SYM.bInGlobal >LDA.G SYM.BufPtr
bpl .8 beq .8
>PUSHB.G SYM.hList >PUSHB.G SYM.hList
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.ID
>PUSHW ZPSymbolBuf >PUSHW ZPSymbolBuf
>LDA.G SYM.GlobalPtr >LDA.G SYM.BufPtr
tay tay
lda #0 lda #0
cpy #SYMG cpy #SYMG
@ -189,17 +213,17 @@ SYM.StoreGlobal >LDA.G ASM.PASS
>SYSCALL SListAddData >SYSCALL SListAddData
bcs .9 bcs .9
>STZ.G SYM.bInGlobal >STZ.G SYM.BufPtr
.8 clc .8 clc
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
SYM.UpdateGlobal SYM.UpdateGlobal
>PUSHB.G SYM.hList >PUSHB.G SYM.hList
>PUSHW.G SYM.GlobalID >PUSHW.G SYM.ID
>PUSHW ZPSymbolBuf >PUSHW ZPSymbolBuf
>LDA.G SYM.GlobalPtr >LDA.G SYM.BufPtr
tay tay
lda #0 lda #0
cpy #SYMG cpy #SYMG
@ -223,9 +247,6 @@ SYM.PC2Acc ldy #ASM.PC+3
dex dex
bpl .1 bpl .1
lda #2
sta SRC.ACC.SIZE
stz SRC.ACC.F
rts rts
*--------------------------------------- *---------------------------------------
SYM.Acc2Global ldy #SYMG-1 SYM.Acc2Global ldy #SYMG-1
@ -239,8 +260,8 @@ SYM.Acc2Global ldy #SYMG-1
*--------------------------------------- *---------------------------------------
SYM.NewLocalA tax Save Local ID SYM.NewLocalA tax Save Local ID
>LDA.G SYM.bInGlobal not in a global label >LDA.G SYM.BufPtr not in a global label
bpl .91 beq .91
>LDA.G ASM.PASS >LDA.G ASM.PASS
bne .20 bne .20
@ -248,7 +269,7 @@ SYM.NewLocalA tax Save Local ID
jsr SYM.LookupLocalX Pass #1: try to add jsr SYM.LookupLocalX Pass #1: try to add
bcc .9 Already Defined bcc .9 Already Defined
>LDA.G SYM.GlobalPtr >LDA.G SYM.BufPtr
cmp #252 6*42 cmp #252 6*42
beq .90 beq .90
@ -264,7 +285,7 @@ SYM.NewLocalA tax Save Local ID
pha pha
>LDA.G SYM.GlobalPtr >LDA.G SYM.BufPtr
tay tay
txa Get Back ID txa Get Back ID
sta (ZPSymbolBuf),y sta (ZPSymbolBuf),y
@ -282,7 +303,7 @@ SYM.NewLocalA tax Save Local ID
sta (ZPSymbolBuf),y ending \0 sta (ZPSymbolBuf),y ending \0
tya tya
>STA.G SYM.GlobalPtr >STA.G SYM.BufPtr
lda (ZPSymbolBuf) lda (ZPSymbolBuf)
ora #SYMG.F.LOCALS ora #SYMG.F.LOCALS
@ -303,10 +324,11 @@ SYM.NewLocalA tax Save Local ID
sec sec
rts rts
*--------------------------------------- *---------------------------------------
.20 jsr SYM.LookupLocalX Pass #2: check if defined .20 >LDA.G SYM.BufPtr Pass #2: setup SYM.BufPtr in case of .EQ
bcs .9 clc
adc #SYML
sta (pData),y
>STA.G SYM.GlobalPtr
rts rts
*--------------------------------------- *---------------------------------------
SYM.LookupLocalX SYM.LookupLocalX
@ -343,14 +365,8 @@ SYM.LookupLocalX
bne .2 bne .2
lda #2
sta SRC.ACC.SIZE
pla pla
iny point to 0 after local
tya
clc clc
rts rts
@ -406,8 +422,21 @@ SYM.Dump.1 >LDYA L.MSG.SYMBOLS
>PUSHWZ from Start >PUSHWZ from Start
>SYSCALL SListGetData >SYSCALL SListGetData
bcs .9 bcs .9
jsr SYM.Dump.GLP
bcc .1
.9 rts
*---------------------------------------
SYM.Dump.DBG >PUSHW L.MSG.WORD
jsr SYM.Dump.G >PUSHW ZPPtr2
>PUSHBI 2
>SYSCALL printf
rts
*---------------------------------------
SYM.Dump.GLP jsr SYM.Dump.G
bcs .9 bcs .9
ldx #5 ldx #5
@ -422,17 +451,10 @@ SYM.Dump.1 >LDYA L.MSG.SYMBOLS
.2 cpx #5 already CR printed ? .2 cpx #5 already CR printed ?
beq .8 beq .8
jsr OUT.PrintCR jmp OUT.PrintCR
.8 jmp .1
.8 clc
.9 rts .9 rts
*---------------------------------------
SYM.Dump.DBG >PUSHW L.MSG.WORD
>PUSHW ZPPtr2
>PUSHBI 2
>SYSCALL printf
rts
*--------------------------------------- *---------------------------------------
SYM.Dump.G ldy #SYMG.SIZE Get Symbol Size SYM.Dump.G ldy #SYMG.SIZE Get Symbol Size
lda (ZPSymbolBuf),y lda (ZPSymbolBuf),y

View File

@ -337,9 +337,9 @@ CS.RUN ldy #S.PS.hStdIn
bcs .99 bcs .99
jsr DIR.Reset jsr DIR.Reset
jsr MAC.Reset
>STZ.G MAC.StkPtr
>STZ.G SYM.bInGlobal >STZ.G SYM.BufPtr
.10 >LDYA ZPLineBuf .10 >LDYA ZPLineBuf
>STYA ZPLinePtr >STYA ZPLinePtr
@ -395,7 +395,8 @@ CS.RUN ldy #S.PS.hStdIn
.9 pha .9 pha
jsr OUT.PrintLineErr jsr OUT.PrintLineErr
jsr SYM.Dump.GLP
jsr SYM.StoreGlobal Make sure last Global flushed jsr SYM.StoreGlobal Make sure last Global flushed
* jsr SYM.Dump.1 * jsr SYM.Dump.1
pla pla
@ -597,18 +598,18 @@ ASM.PC.PH .BS 4
ASM.PC.DU .BS 4 ASM.PC.DU .BS 4
SYM.hList .BS 1 SYM.hList .BS 1
SYM.bInGlobal .BS 1 SYM.hBuf .BS 1
SYM.GlobalID .BS 2 SYM.BufPtr .BS 1
SYM.hGlobalBuf .BS 1 SYM.ID .BS 2
SYM.GlobalPtr .BS 1
MAC.hList .BS 1 MAC.hList .BS 1
MAC.hBuf .BS 1 MAC.hBuf .BS 1
MAC.BufPtr .BS 1 MAC.BufPtr .BS 1
MAC.ID .BS 2
MAC.hStk .BS 1 MAC.hStk .BS 1
MAC.StkPtr .BS 1 MAC.StkPtr .BS 1
MAC.hArgBuf .BS 1 MAC.hArgBuf .BS 1
MAC.ID .BS 2
MAC.CtxID .BS 1 MAC.CtxID .BS 1
MAC.CtxNextID .BS 1 MAC.CtxNextID .BS 1
MAC.CtxStackPtr .BS 1 MAC.CtxStackPtr .BS 1

View File

@ -14,7 +14,7 @@ NEW
.OR ZPBIN .OR ZPBIN
ZS.START ZS.START
ArgIndex .BS 1 ArgIndex .BS 1
ZPPTR1 .BS 2 ZPPtr1 .BS 2
bPause .BS 1 bPause .BS 1
bAll .BS 1 bAll .BS 1
@ -143,7 +143,7 @@ CS.RUN
*-------------------------------------- *--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y lda (pPS),y
>SYSCALL feof >SYSCALL FEOF
bcs .9 IO error bcs .9 IO error
tay tay
bne .1 no char bne .1 no char
@ -211,7 +211,7 @@ CS.RUN.OPEN >PUSHW ZPPtr1
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.SEEK >LDYA ZPPtr1 CS.RUN.SEEK >LDYA ZPPtr1
>SYSCALL atol >SYSCALL AToL
bcs .9 bcs .9
>PULLL SeekOfs >PULLL SeekOfs
@ -221,12 +221,12 @@ CS.RUN.SEEK >LDYA ZPPtr1
>PUSHL SeekOfs >PUSHL SeekOfs
lda hFile1 lda hFile1
>SYSCALL fseek >SYSCALL FSeek
bcs .9 bcs .9
.1 >PUSHBI SEEK.SET .1 >PUSHBI SEEK.SET
>PUSHL SeekOfs >PUSHL SeekOfs
lda hFile2 lda hFile2
>SYSCALL fseek >SYSCALL FSeek
.9 rts .9 rts
*-------------------------------------- *--------------------------------------

View File

@ -16,7 +16,7 @@ CSH.T.ULONG .EQ 6
CSH.T.FLOAT .EQ 7 CSH.T.FLOAT .EQ 7
CSH.T.VARIADIC .EQ $1F CSH.T.VARIADIC .EQ $1F
*-------------------------------------- *--------------------------------------
CSH.OPChars .AS "!~+-*/%=&|^&<>" CSH.OPChars .AS "!~+-*/%=&|^<>"
CSH.OPChars.Cnt .EQ *-CSH.OPChars CSH.OPChars.Cnt .EQ *-CSH.OPChars
*-------------------------------------- *--------------------------------------
* Pre Operators: + - ! ~ ++ -- * Pre Operators: + - ! ~ ++ --