From f3a26b40a4fc1161d0b6f3ff3a5edebef9da02fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 27 Aug 2019 17:13:00 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CSH.S.CORE.txt | 120 +++++++++++++++++++++------------------ BIN/CSH.S.txt | 111 +++++++++++++++++++++++------------- 3 files changed, 137 insertions(+), 94 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 35d8e73c7b20a3b25ee36739e4f65589f6c42ed0..8da2ea9f8dca0b796c6b6c68248be26b63f671f6 100644 GIT binary patch delta 16574 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 diff --git a/BIN/CSH.S.CORE.txt b/BIN/CSH.S.CORE.txt index 46d6e658..e8bc6358 100644 --- a/BIN/CSH.S.CORE.txt +++ b/BIN/CSH.S.CORE.txt @@ -50,7 +50,7 @@ CSH.Quit.RTS rts CSH.Run jsr CSH.GetCharNB bcs CSH.Quit.RTS - cmp #'}' End of block ? +CSH.Run.1 cmp #'}' End of block ? bne .1 jsr CSH.CheckStack must be something on stack.... @@ -63,7 +63,7 @@ CSH.Run jsr CSH.GetCharNB .1 cmp #C.CR bne .2 - jmp CSH.GetNextCharNB Skip CR and exit + jmp CSH.GetNextChar Skip CR and exit .2 pha jsr CSH.SavePtr Save Ptr, in case of while,for.... @@ -84,7 +84,10 @@ CSH.Run jsr CSH.GetCharNB txa >STA.G CSH.CmdSave - jmp (J.CSH.KW,x) + jsr CSH.KW.JMP + bcs .9 + + bra .7 .4 jsr CSH.GetVar bcs .5 @@ -94,7 +97,7 @@ CSH.Run jsr CSH.GetCharNB cmp #'=' bne .99 - jsr CSH.GetNextCharNB Skip = + jsr CSH.GetNextChar Skip = bcs .99 jsr CSH.ExpEval @@ -107,13 +110,19 @@ CSH.Run jsr CSH.GetCharNB cmp #';' bne .99 - jmp CSH.GetNextCharNB Skip ; + bra .7 .5 lda #0 no return value type check required jsr CSH.FnEval X = function index bcs .9 - jmp CSH.GetNextCharNB Skip ; +.7 jsr CSH.GetNextCharNB Skip ; + bcs .9 + + cmp #C.CR + bne CSH.Run.1 + + jmp CSH.GetNextChar Skip CR .99 lda #CSH.E.SYNTAX sec @@ -126,11 +135,12 @@ CSH.Run jsr CSH.GetCharNB cmp #C.CR bne .80 - clc - rts + jmp CSH.GetNextChar Skip CR *-------------------------------------- * Built in Keywords *-------------------------------------- +CSH.KW.JMP jmp (J.CSH.KW,x) + CSH.WHILE CSH.IF jsr CSH.GetCharNB bcs .9 @@ -314,7 +324,7 @@ CSH.TYPE stx ZPVarType cmp #'=' bne .9 - jsr CSH.GetNextCharNB + jsr CSH.GetNextCharNB Skip = bcs .9 lda ZPVarType @@ -329,8 +339,7 @@ CSH.TYPE stx ZPVarType cmp #';' bne .9 -.8 jsr CSH.GetNextCharNB Skip ; - clc +.8 clc rts .90 lda #CSH.E.DUP @@ -418,10 +427,17 @@ CSH.FnEval ldx ZPPtr1 cmp #')' bne .90 - jsr CSH.GetNextCharNB Skip ) + jsr CSH.GetNextChar Skip ) + + plx restore X = function index + + pla + sta ZPPtr2 + pla + sta ZPPtr1+1 + pla + sta ZPPtr1 - jsr .9 - jmp (J.CSH.EXEC,x) .90 lda #CSH.E.SYNTAX @@ -445,7 +461,11 @@ CSH.FnEval ldx ZPPtr1 * CS, A = EC * CC, A, Y,A or x bytes on Stack *-------------------------------------- -CSH.ExpEval ldx ZPPtr2 +CSH.ExpEval ldx ZPPtr1 + phx + ldx ZPPtr1+1 + phx + ldx ZPPtr2 phx ldx ZPPtr2+1 One local : BOP1 phx @@ -456,14 +476,15 @@ CSH.ExpEval ldx ZPPtr2 sta ZPPtr2+1 Reset BOP1 jsr CSH.GetCharNB - bcs .9 + bcs .33 .20 jsr CSH.IsLetter Fnc or Var ? bcs .2 + lda ZPPtr2 var type jsr CSH.GetVar bcs .1 - + jsr CSH.GetVarValue Get value on stack bra .11 @@ -475,10 +496,10 @@ CSH.ExpEval ldx ZPPtr2 bcs .3 jsr CSH.GetNumOnStack - bcs .9 + bcs .99 .11 jsr CSH.GetCharNB - bcs .9 + bcs .90 cmp #',' beq .8 @@ -488,11 +509,11 @@ CSH.ExpEval ldx ZPPtr2 beq .8 jsr CSH.IsOPChar - bcs .9 +.33 bcs .90 >LDYA L.CSH.BOPS jsr CSH.LookupOP - bcs .9 + bcs .90 lda ZPPtr2+1 previous OP... bpl .5 go check precedence @@ -503,27 +524,15 @@ CSH.ExpEval ldx ZPPtr2 jsr CSH.GetCharNB bcc .20 go check for an ARG - bra .9 + bra .90 .3 cmp #'"' String literal - bne .9 + bne .90 - - jsr CSH.AddContCharP bcs .99 jmp .11 - - -.9 plx - stx ZPPtr2+1 - plx - stx ZPPtr2 - - lda #CSH.E.SYNTAX - sec -.99 rts .5 cpx ZPPtr2+1 bcs .6 @@ -537,23 +546,34 @@ CSH.ExpEval ldx ZPPtr2 * Old OP has precedence, compute ACC=ARG ACC .6 lda ZPPtr2+1 jsr CSH.Compute - bcs .9 + bcs .99 jsr CSH.GetCharNB - bcs .9 + bcs .90 jmp .10 .8 lda ZPPtr2+1 bmi .80 - jmp CSH.Compute + jsr CSH.Compute + bcc .80 + bcs .99 -.80 plx +.90 lda #CSH.E.SYNTAX + +.99 sec + .HS 90 BCC +.80 clc + + plx stx ZPPtr2+1 plx stx ZPPtr2 + plx + stx ZPPtr1+1 + plx + stx ZPPtr1 - clc rts *-------------------------------------- CSH.AddContCharP @@ -570,18 +590,12 @@ CSH.AddContCharP iny bra .1 -.2 lda #0 +.2 lda #0 sta (ZPCSHConst),y - phy - - lda #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR - sta ZPVarType + >PUSHW ZPCSHConst Push PTR on stack - >LDYA ZPCSHConst - >STYA ZPVarData - - pla + tya sec adc ZPCSHConst sta ZPCSHConst @@ -589,7 +603,7 @@ CSH.AddContCharP inc ZPCSHConst+1 -.3 jsr CSH.GetNextCharNB Skip " +.3 jsr CSH.GetNextChar Skip " clc rts @@ -698,8 +712,8 @@ CSH.GetNumOnStack >PUSHWI ZPFileBufPtr >LDYA ZPFileBufPtr - >SYSCALL StrToF + clc rts .1 >PUSHBI 10 @@ -758,7 +772,7 @@ CSH.AddVar sta ZPVarType .9 rts *-------------------------------------- CSH.GetVar sta ZPVarType - + >DEBUG >PUSHW ZPFileBufPtr >LDA.G CSH.hSymbols >SYSCALL SListLookup @@ -1021,8 +1035,6 @@ CSH.GetNextCharNB.RTS rts *-------------------------------------- CSH.CheckCharNB cmp #C.SPACE - beq .9 - cmp #C.CR beq .9 cmp #C.LF beq .9 diff --git a/BIN/CSH.S.txt b/BIN/CSH.S.txt index 6d041603..a0fb834b 100644 --- a/BIN/CSH.S.txt +++ b/BIN/CSH.S.txt @@ -67,7 +67,10 @@ CS.INIT clc * Called until exit with CS * if RUN exits with CC, RN entered again *-------------------------------------- -CS.RUN >PUSHWI K.VER +CS.RUN lda #$ff + >STA.G bTrace + + >PUSHWI K.VER >PUSHBI 2 >LDYA L.MSG.GREETINGS >SYSCALL printf @@ -95,11 +98,19 @@ CS.RUN >PUSHWI K.VER >STYA ZPFileBufPtr .1 >SLEEP - jsr CSH.Run + + >LDA.G bTrace + bpl .2 + + >LDYA ZPFileBufPtr + jsr PrintTraceMsg + +.2 jsr CSH.Run bcc .1 cmp #MLI.E.EOF beq .8 + pha jsr PrintErrMsg pla @@ -130,26 +141,25 @@ CS.QUIT jsr CSH.Quit PrintErrMsg >LDYA ZPFileBuf >STYA ZPPtr1 - lda #1 - sta ZPPtr3 - stz ZPPtr3+1 + stz ZPPtr2 + stz ZPPtr2+1 Line counter -.1 >LDYA ZPPtr1 - >STYA ZPPtr2 Save actual line start - - inc ZPPtr3 +.1 inc ZPPtr2 bne .2 - inc ZPPtr3+1 + inc ZPPtr2+1 -.2 lda (ZPPtr1) - beq .6 EoF +.2 >LDYA ZPPtr1 + >STYA ZPPtr3 save line start + +.20 lda (ZPPtr1) + beq .4 EoF inc ZPPtr1 bne .3 inc ZPPtr1+1 .3 cmp #C.CR - bne .2 Scan until EoL + bne .20 Scan until EoL ldx ZPPtr1 cpx ZPFileBufPtr @@ -157,47 +167,67 @@ PrintErrMsg >LDYA ZPFileBuf sbc ZPFileBufPtr+1 bcc .1 not this line.... +.4 >LDA.G bTrace + bmi .5 + + jsr PrintTraceMsg.3 + +.5 lda ZPPtr3 + cmp ZPFileBufPtr + bne .6 + + lda ZPPtr3+1 + cmp ZPFileBufPtr+1 + beq .8 + +.6 >PUSHBI '-' + ldy #S.PS.hStdErr + lda (pPS),y + >SYSCALL fputc + + inc ZPPtr3 + bne .5 + inc ZPPtr3+1 + bra .5 + +.8 >PUSHW ZPPtr2 Line counter + + >PUSHBI 2 + >PUSHW L.MSG.ERR + ldy #S.PS.hStdErr + lda (pPS),y + >SYSCALL fprintf + + rts +*-------------------------------------- +PrintTraceMsg >STYA ZPPtr3 + +PrintTraceMsg.3 >PUSHBI '>' + ldy #S.PS.hStdErr + lda (pPS),y + >SYSCALL fputc + ldy #$ff -.5 iny - lda (ZPPtr2),y - beq .6 +.1 iny + lda (ZPPtr3),y + beq .8 cmp #C.CR - beq .6 - + beq .8 + phy >PUSHA ldy #S.PS.hStdErr lda (pPS),y >SYSCALL fputc ply - bra .5 + bra .1 -.6 phy - >PUSHBI 0 +.8 >PUSHBI 0 >PUSHW L.MSG.ECHOCRLF ldy #S.PS.hStdErr lda (pPS),y >SYSCALL fprintf - ply - beq .8 - -.7 phy - >PUSHBI '-' - ldy #S.PS.hStdErr - lda (pPS),y - >SYSCALL fputc - ply - dey - bne .7 - -.8 >PUSHW ZPPtr3 - - >PUSHBI 2 - >PUSHW L.MSG.ERR - ldy #S.PS.hStdErr - lda (pPS),y - >SYSCALL fprintf rts *-------------------------------------- @@ -216,6 +246,7 @@ MSG.ERR .AZ "^\r\nLine #%D:" .DUMMY .OR 0 DS.START .INB USR/SRC/BIN/CSH.D +bTrace .BS 1 DS.END .ED *--------------------------------------