diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b8d44523..77c1d9ff 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 38f4743f..a6c778a8 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 48f77ab8..7cc7d7fd 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -26,28 +26,39 @@ DIR.AS clc sta DIR.Byte Save b7 of last char in string jsr SRC.GetNextChar bcs .9 + cmp #'-' bne .1 + lda #$40 save b7 status of ALL chars tsb DIR.Byte + jsr SRC.GetNextChar bcs .9 + .1 sta DIR.Word Save delimiter.... sta DIR.Word+1 Save also in prev char.. + .2 jsr SRC.GetNextChar bcs .8 + cmp DIR.Word delimiter ? beq .8 + ldx DIR.Word+1 Get prev char sta DIR.Word+1 replace it with new txa cmp DIR.Word is it the starting delimiter beq .2 yes, skip + bit DIR.Byte bvc .3 + ora #$80 + .3 jsr OUT.EmitByte no, emit prev char bcc .2 + .9 lda #E.SYNTAX.ERROR sec rts @@ -55,20 +66,21 @@ DIR.AS clc .8 lda DIR.Word+1 Get prev char cmp DIR.Word someone typed .AS "" ? beq .88 + bit DIR.Byte bpl .81 + eor #$80 .81 jmp OUT.EmitByte .88 clc - rts +DIR.AS.RTS rts *--------------------------------------- DIR.AZ jsr DIR.AS - bcs .9 + bcs DIR.AS.RTS lda #0 jmp OUT.EmitByte -.9 rts *--------------------------------------- DIR.BS jsr SRC.GetNextCharNB bcs .98 @@ -173,11 +185,30 @@ DIR.DA jsr SRC.GetNextCharNB rts *--------------------------------------- DIR.DO >LDA.G ASM.DO.StackPtr + tay inc cmp #DO.MAXDEPTH bcs .98 + + tya + beq .1 + +* clc + adc #ASM.DO.Stack-1 + tay + + lda (pData),y Previous DO is false? + bne .1 + + >INC.G ASM.DO.StackPtr yes,stack FALSE - jsr SRC.GetNextCharNB +* clc + adc #ASM.DO.Stack-1 + tay + lda #0 + bra .8 + +.1 jsr SRC.GetNextCharNB bcs .99 jsr EXP.ResetAcc @@ -186,17 +217,17 @@ DIR.DO >LDA.G ASM.DO.StackPtr bcs .99 >INC.G ASM.DO.StackPtr -* clc ok from bcs .99 +* clc adc #ASM.DO.Stack-1 tay lda SRC.ACC ora SRC.ACC+1 ora SRC.ACC+2 ora SRC.ACC+3 - beq .1 + beq .8 lda #$ff -.1 sta (pData),y +.8 sta (pData),y clc rts @@ -207,7 +238,18 @@ DIR.DO >LDA.G ASM.DO.StackPtr *--------------------------------------- DIR.EL >LDA.G ASM.DO.StackPtr beq .9 + + tax + dec + beq .1 no previous DO context + + clc + adc #ASM.DO.Stack-1 + tay + lda (pData),y + beq .8 previous is FALSE +.1 txa clc adc #ASM.DO.Stack-1 tay @@ -215,7 +257,7 @@ DIR.EL >LDA.G ASM.DO.StackPtr eor #$ff sta (pData),y - clc +.8 clc rts .9 lda #E.ELSE.WITHOUT.DO @@ -264,23 +306,26 @@ DIR.EP >LDA.G ASM.PH.ON .9 DIR.EP.ILLEGAL lda #E.ILLEGAL.DIR sec - rts +DIR.EP.RTS rts *--------------------------------------- DIR.SE sec .HS 90 BCC *--------------------------------------- DIR.EQ clc + lda #$ff + >STA.G OUT.bEquate + >LDA.G SYM.BufPtr - beq .9 + beq DIR.EP.ILLEGAL not in global symbol context eor #SYMG beq .1 - bcs .9 .SE not allowed in local/private - bcc .10 in local, skip F update + bcs DIR.EP.ILLEGAL .SE not allowed in local/private + bcc .10 .EQ in local, skip F update -.1 ror A = 0 : SYMG.F.RW +.1 ror A = 0 : CS = SYMG.F.RW ora #SYMG.F.EQU sta SRC.ACC.F @@ -288,13 +333,10 @@ DIR.EQ clc .10 jsr SRC.GetNextCharNB bcs .9 - lda #$ff - >STA.G OUT.bEquate - - jsr EXP.ResetAcc + jsr EXP.ResetAccV keep F jsr EXP.Eval - bcs .9 + bcs DIR.EP.RTS >LDA.G SYM.BufPtr @@ -313,7 +355,13 @@ DIR.EQ clc clc rts -.12 jsr SYM.Acc2Global global, update and close +.12 ldy #SYMG-1 + +.13 lda SRC.ACC.F,y + sta (ZPSymbolBuf),y + dey + bpl .13 + >LDA.G ASM.PASS bne .2 @@ -321,20 +369,18 @@ DIR.EQ clc .2 jmp SYM.UpdateGlobal -.9 rts +.9 lda #E.SYNTAX.ERROR + sec + rts *--------------------------------------- DIR.FI >LDA.G ASM.DO.StackPtr - beq .99 + beq DIR.EP.ILLEGAL dec sta (pData),y clc rts - -.99 lda #E.ILLEGAL.DIR - sec - rts *--------------------------------------- DIR.HS jsr SRC.GetNextCharNB bcs .99 @@ -681,6 +727,6 @@ DIR.RestorePC ldx #3 rts *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.DIR -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.dir +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 18f66dae..c9b535bc 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -2,7 +2,7 @@ NEW AUTO 3,1 *--------------------------------------- * EXP.Modifiers: -* # : 8b,Byte 1 +* # : 8b,Byte 1 * / : 8b,Byte 2 * ^ : 8b,Byte 3 * < : 24b,Byte 1,2,3 @@ -18,7 +18,7 @@ EXP.Eval.Missing lda #E.MISSING.EXP sec rts - + EXP.Eval >STZ.G EXP.Modifier >STA.G EXP.Prefix >STA.G EXP.Operator @@ -49,13 +49,13 @@ EXP.Eval.Next stz SRC.ACC bne .12 >LDA.G MAC.StkPtr - bne .9 illegal OUTSIDE macro - + bne .9 illegal INSIDE macro + bra .13 - + .12 cmp #':' bne .14 - + >LDA.G MAC.StkPtr beq .9 illegal OUTSIDE macro @@ -63,15 +63,15 @@ EXP.Eval.Next stz SRC.ACC bcs .99 jmp EXP.EvalOperator - + .14 cmp #'*' bne .10 - + jsr SYM.PC2Acc - + jsr SRC.GetNextChar jmp EXP.EvalOperator - + .9 lda #E.INV.LABEL sec .99 rts @@ -82,14 +82,14 @@ EXP.Eval.Next stz SRC.ACC jsr SRC.GetDecimal bcs EXP.EvalExitRTS jmp EXP.EvalOperator - + .1 cmp #'$' Hex? bne .2 jsr SRC.GetHex bcs EXP.EvalExitRTS jmp EXP.EvalOperator - + .2 cmp #'%' binary? bne .3 @@ -99,28 +99,28 @@ EXP.Eval.Next stz SRC.ACC .3 cmp #'&' octal? bne .4 - + jsr SRC.GetOctal bcs EXP.EvalExitRTS bra EXP.EvalOperator .4 cmp #''' bne .43 - + jsr SRC.GetNextChar bcs EXP.EvalExitSYN jsr EXP.SetAccA jsr SRC.GetNextChar bcs EXP.EvalOperator - + cmp #''' beq .44 - + cmp #',' bne EXP.EvalExitSYN - + bra EXP.EvalOperator - + .44 jsr SRC.GetNextChar bra EXP.EvalOperator @@ -129,19 +129,19 @@ EXP.Eval.Next stz SRC.ACC jsr SRC.GetNextChar bcs EXP.EvalExitSYN - + ora #$80 jsr EXP.SetAccA jsr SRC.GetNextChar bcs EXP.EvalOperator - + cmp #'"' beq .45 cmp #',' bne EXP.EvalExitSYN bra EXP.EvalOperator - + .45 jsr SRC.GetNextChar bra EXP.EvalOperator @@ -149,20 +149,25 @@ EXP.Eval.Next stz SRC.ACC bcs EXP.EvalExitSYN jsr SYM.LookupGlobal + .DO ASMDBG=1 + bcs * + lda #"?" + jsr EXP.DBG + .FIN bcc EXP.EvalOperator EXP.EvalExitRTS rts - + EXP.EvalExitOK >LDA.G EXP.Modifier beq .1 asl tax - + lda #SYMG.F.FWREF trb SRC.ACC.F - + jmp (J.EXP.MOD-2,x) - + .1 clc rts @@ -176,18 +181,26 @@ EXP.EvalExitUND lda #E.UNDEF.SYMBOL *--------------------------------------- EXP.EvalOperator >LDA.G EXP.Operator - beq .7 + beq .7 no previous OP.... + + asl + tax - jsr EXP.Compute + lda SRC.ACC.F + ora SRC.ARG.F + and #SYMG.F.FWREF + tsb SRC.ACC.F + + jsr EXP.Compute ARG op ACC -> ACC bcc .7 tax >LDA.G ASM.PASS beq .7 Ignore error ... - + txa - bcs EXP.EvalExitRTS - + rts + .7 jsr SRC.GetChar bcs EXP.EvalExitOK @@ -199,17 +212,25 @@ EXP.EvalOperator jsr SRC.IsEXPReserved bcs EXP.EvalExitSYN - + txa >STA.G EXP.Operator - - ldx #4 - -.8 lda SRC.ACC.SIZE,x - sta SRC.ARG.SIZE,x + + ldx #3 + +.8 lda SRC.ACC,x + sta SRC.ARG,x dex bpl .8 + lda SRC.ACC.F + sta SRC.ARG.F + + .DO ASMDBG=1 + lda #'@' + jsr EXP.DBG + .FIN + jmp EXP.Eval.Next0 *--------------------------------------- EXP.GetLocal jsr SRC.GetNextChar @@ -219,30 +240,34 @@ EXP.GetLocal jsr SRC.GetNextChar bcs EXP.EvalExitSYN tax - + jsr SYM.LookupLocalX bcc .8 >LDA.G ASM.PASS pass#2? bne EXP.EvalExitUND - + lda #SYMG.F.FWREF tsb SRC.ACC.F - + lda #2 - sta SYMG.SIZE - + sta SRC.ACC.SIZE + + lda #$ff + sta SRC.ACC + sta SRC.ACC+1 + clc rts - + .9 lda #E.SYNTAX.ERROR sec - + .8 rts *--------------------------------------- EXP.MOD.8.3 lda SRC.ACC+2 bra EXP.MOD.8 - + EXP.MOD.8.2 lda SRC.ACC+1 EXP.MOD.8 sta SRC.ACC @@ -255,16 +280,14 @@ EXP.MOD.8.1 lda #1 EXP.MOD.24 lda #3 sta SRC.ACC.SIZE clc - rts + rts EXP.MOD.32 lda #4 sta SRC.ACC.SIZE clc - rts + rts *--------------------------------------- -EXP.Compute asl - tax - jmp (J.EXP.OP-2,x) +EXP.Compute jmp (J.EXP.OP-2,x) *--------------------------------------- EXP.OP.EOR ldx #3 @@ -327,16 +350,16 @@ EXP.OP.GRT jsr EXP.OP.SUB *--------------------------------------- EXP.OP.ADD ldx #0 ARG-ACC->ACC ldy #4 - + clc - + .1 lda SRC.ARG,x adc SRC.ACC,x sta SRC.ACC,x inx dey bne .1 - + bcc .8 lda #E.VAL.TOO.BIG @@ -346,20 +369,20 @@ EXP.OP.SUB ldx #0 ARG-ACC->ACC ldy #4 sec - + .1 lda SRC.ARG,x sbc SRC.ACC,x sta SRC.ACC,x inx dey bne .1 - + bcs .8 - + lda #E.VAL.TOO.BIG sec rts - + .8 clc rts *--------------------------------------- @@ -378,10 +401,10 @@ EXP.OP.DIV >PUSHL SRC.ARG rts *--------------------------------------- EXP.ResetAcc stz SRC.ACC.F - - lda #2 + +EXP.ResetAccV lda #2 sta SRC.ACC.SIZE - + stz SRC.ACC stz SRC.ACC+1 stz SRC.ACC+2 @@ -396,8 +419,22 @@ EXP.SetAccA sta SRC.ACC sta SRC.ACC.SIZE clc rts +*--------------------------------------- + .DO ASMDBG=1 +EXP.DBG >SYSCALL putchar + >PUSHW L.MSG.DBG + >PUSHB.G MAC.CtxID + >PUSHL SRC.ARG + >PUSHL SRC.ACC + >PUSHB SRC.ACC.F + >PUSHB SRC.ACC.SIZE + >PUSHBI 11 + >SYSCALL PrintF +* >DEBUG + rts + .FIN *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.EXP -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.exp +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index 9806ead5..d043962a 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -56,7 +56,7 @@ FIO.LOAD.CPU >STYA ZPPtr2 >STZ.G ASM.hCPUFILE -.4 >PUSHW L.MSG.T.FILE +.4 >PUSHW L.MSG.CPU.FILE >PUSHW L.ASM.CPU.FILE >PUSHBI 2 jsr OUT.Print @@ -309,6 +309,6 @@ FIO.FileClose >LDA.G SRC.Depth rts *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.FIO -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.fio +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index f50f5194..d81506b5 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -224,7 +224,7 @@ MAC.Exec jsr SRC.GetNextChar skip '>' .8 jmp MAC.Push .90 lda #E.MACRO.INV - sec +* sec rts .92 lda #E.SYNTAX.ERROR @@ -578,6 +578,6 @@ MAC.GetArgX phy rts *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.MAC -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.mac +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index 333fb3aa..cb355a2c 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -12,10 +12,10 @@ OUT.EmitByte phy >LDA.G ASM.PASS beq .1 - + >LDA.G ASM.DU.ON bmi .1 - + txa pha >PUSHA @@ -23,7 +23,7 @@ OUT.EmitByte phy >SYSCALL FPutC plx bcs .99 - + .1 >INC.G ASM.PC bne .2 >INC.G ASM.PC+1 @@ -51,10 +51,10 @@ OUT.EmitByte phy jsr OUT.PrintBuf plx bcs .99 - + ldy #OUT.Buf lda #0 - + .4 inc sta (pData),y clc @@ -62,12 +62,12 @@ OUT.EmitByte phy tay txa sta (pData),y - + .8 clc .99 plx ply - rts + rts *--------------------------------------- OUT.PrintBuf jsr OUT.PrintLineOn bcs OUT.PrintBufReset @@ -79,39 +79,39 @@ OUT.PrintBuf jsr OUT.PrintLineOn bcs OUT.PrintBuf.RTS jsr OUT.PrintCR bcs OUT.PrintBuf.RTS - + OUT.PrintBufReset >STZ.G OUT.Buf - + ldx #4 ldy #ASM.PC - + .2 lda (pData),y pha iny dex bne .2 - + ldx #4 ldy #OUT.PC+3 - + .3 pla sta (pData),y dey dex bne .3 - + .8 clc - -OUT.PrintBuf.RTS + +OUT.PrintBuf.RTS rts *--------------------------------------- -OUT.PrintLine jsr OUT.PrintLineOn +OUT.PrintLine jsr OUT.PrintLineOn bcs OUT.PrintBuf.RTS - + OUT.PrintLine.1 jsr OUT.PrintLineOutBuf bcs OUT.PrintBuf.RTS - + >LDA.G SRC.Depth .1 dec @@ -122,17 +122,17 @@ OUT.PrintLine.1 jsr OUT.PrintLineOutBuf >SYSCALL PutChar pla bra .1 - + .2 >PUSHW L.MSG.LINENUM >PUSHW.G SRC.LINENUM >PUSHBI 2 >SYSCALL PrintF - + >LDA.G MAC.CtxStackPtr - + .3 dec bmi .4 - + pha lda #'>' >SYSCALL PutChar @@ -147,40 +147,40 @@ OUT.PrintLine.1 jsr OUT.PrintLineOutBuf OUT.PrintLineOutBuf >LDA.G OUT.bEquate bne OUT.PrintLineEQU - + >LDA.G OUT.Buf pha asl tax >PUSHB L.MSG.OUT0+1,x >PUSHB L.MSG.OUT0,x - + ldy #OUT.PC+1 >PUSHB (pData),y dey >PUSHB (pData),y - + pla beq .2 tax ldy #OUT.Buf - + pha - + .1 iny >PUSHB (pData),y dex bne .1 pla - + .2 inc inc >PUSHA Byte Count+2 for PC >SYSCALL PrintF - + rts *--------------------------------------- OUT.PrintLineEQU @@ -193,14 +193,14 @@ OUT.PrintLineEQU lda SRC.ACC.SIZE beq .2 - + tay - + .1 dey >PUSHB SRC.ACC,y tya bne .1 - + lda SRC.ACC.SIZE .2 >PUSHA Byte Count @@ -210,46 +210,50 @@ OUT.PrintLineEQU OUT.PrintLineOn >LDA.G bListAll bmi .8 - + >LDA.G ASM.LI.ON bpl .9 - + >LDA.G ASM.MA.ON MACRO Mode ? - bpl .1 + bmi .1 - >LDA.G ASM.LI.MON + >LDA.G MAC.CtxID within MACRO ? + beq .11 + +.1 >LDA.G ASM.LI.MON bpl .9 clc rts -.1 >LDA.G ASM.DO.StackPtr within a DO/ELSE ? +.11 >LDA.G ASM.DO.StackPtr within a DO/ELSE ? beq .2 - + clc adc #ASM.DO.Stack-1 tay - lda (pData),y TRUE ? - bne .8 yes, print always - - >LDA.G ASM.LI.CON FALSE, check CON flag... + lda (pData),y TRUE ? + bne .8 yes, print always + + >LDA.G ASM.LI.CON FALSE, check CON flag... bpl .9 clc rts - + .2 .8 clc rts .9 sec +OUT.PrintLineOnRTS rts *--------------------------------------- OUT.PrintLineErr sta DIR.Byte Save Error code jsr OUT.PrintLine.1 - bcs .9 - + bcs OUT.PrintLineOnRTS + .1 >PUSHW L.MSG.ERROR >PUSHB DIR.Byte >PUSHBI 1 @@ -263,16 +267,16 @@ OUT.PrintLineErr >LDA.G SRC.Depth dec jsr OUT.PrintLineErrDashA - + >LDA.G MAC.CtxStackPtr jsr OUT.PrintLineErrDashA lda #'^' >SYSCALL PutChar - bcs .9 + bcs OUT.PrintLineOnRTS jsr OUT.PrintCR - + >PUSHW L.MSG.PASS >LDA.G ASM.PASS inc @@ -280,23 +284,32 @@ OUT.PrintLineErr >PUSHBI 1 jsr OUT.Print - jmp OUT.PrintCR + .DO ASMDBG=1 + >PUSHW L.MSG.EQU0+2 + >PUSHB (ZPSymbolBuf) flags + >PUSHBI 1 + >SYSCALL printf -.9 rts + >LDYA L.MSG.CRLF + >STYA ZPTmpBuf + jsr SYM.Dump.GLP + .FIN + + jmp OUT.PrintCR *--------------------------------------- OUT.PrintLineErrDashA tax beq .8 - + .1 phx lda #'-' >SYSCALL PutChar plx bcs .9 - + dex bne .1 - + .8 clc .9 rts *--------------------------------------- @@ -312,13 +325,12 @@ OUT.PrintCR1 >DEC.G OUT.LineCnt lda #PAGE.LEN sta (pData),y -* lda #$80 -* >STA.G bPause -.8 +.8 +* clc OUT.Print.RTS rts *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.OUT -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.out +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index a77196a3..6eb80fea 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -91,8 +91,12 @@ SRC.ParseLine.DirOp jsr SRC.DoCheck bcs .1 TRUE, always execute + cpx #12 .DO? + beq .1 + cpx #20 .ELSE? beq .1 + cpx #30 .FIN? bne SRC.ParseLine.Ok @@ -1053,6 +1057,6 @@ SRC.DoCheck sec .8 rts CS if TRUE *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.SRC -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.src +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 5871a468..ed0a12b8 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -29,26 +29,26 @@ SYM.Init >SYSCALL SListNew *--------------------------------------- SYM.Quit >LDA.G SYM.hBuf beq .1 - + >SYSCALL FreeMem - + .1 >LDA.G SYM.hList beq .8 - + >PUSHA >SYSCALL SListFree - + .8 rts *--------------------------------------- SYM.NewGlobal >LDA.G ASM.PASS - bne SYM.NewGlobal2 + bne SYM.GetGlobal jsr SYM.StoreGlobal Store previous if any bcs .99 >STZ.G MAC.CtxID >STA.G MAC.CtxNextID - + >PUSHB.G SYM.hList >PUSHW ZPLinePtr Pass #1: try to add global... >SYSCALL SListNewKey @@ -57,16 +57,14 @@ SYM.NewGlobal >LDA.G ASM.PASS >STYA.G SYM.ID txa -* clc +* clc adc ZPLinePtr sta ZPLinePtr bcc .1 inc ZPLinePtr+1 - -.1 jsr SYM.PC2Acc - - stz SRC.ACC.F +.1 stz SRC.ACC.F + jsr SYM.PC2Acc jsr SYM.Acc2Global lda #SYMG @@ -74,62 +72,76 @@ SYM.NewGlobal >LDA.G ASM.PASS tay lda #0 sta (ZPSymbolBuf),y - + + .DO ASMDBG=1 + lda #'1' + >SYSCALL putchar + jsr SYM.Dump.G + jsr OUT.PrintCR + .FIN clc rts - -.9 lda #E.SYMBOL.REDEF - sec -.99 + +.9 cmp #E.DUPKEY + bne .99 + lda #E.SYMBOL.REDEF +.99 SYM.NewGlobal.RTS rts *--------------------------------------- -SYM.NewGlobal2 >PUSHB.G SYM.hList Pass #2: should be already defined... - >PUSHW ZPLinePtr +SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined... + >PUSHW ZPLinePtr >SYSCALL SListLookup bcs SYM.NewGlobal.RTS >STYA.G SYM.ID txa -* clc +* clc adc ZPLinePtr sta ZPLinePtr bcc .1 inc ZPLinePtr+1 - -.1 >PUSHB.G SYM.hList Pass #2: Retore full context + +.1 >PUSHB.G SYM.hList Pass #2: Restore full context >PUSHW.G SYM.ID >PUSHW ZPSymbolBuf >PUSHWI $ffff all >PUSHWZ from Start >SYSCALL SListGetData bcs .99 - -* 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 lda #SYMG + 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 >STA.G SYM.BufPtr - + >STZ.G MAC.CtxID >STA.G MAC.CtxNextID - + clc rts @@ -142,11 +154,11 @@ SYM.LookupGlobal >PUSHW ZPLinePtr >SYSCALL SListLookup bcs .4 - - >STYA ZPPtr1 + + >STYA ZPPtr1 KeyID txa -* clc +* clc adc ZPLinePtr sta ZPLinePtr bcc .1 @@ -155,26 +167,27 @@ SYM.LookupGlobal .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 - + bne .2 Keep ACC.F unchanged + clc - rts - +.99 rts + .3 >PUSHB.G SYM.hList - >PUSHW ZPPtr1 - >PUSHW L.SRC.ACC.F - >PUSHWI SYMG Get only Global value - >PUSHWZ Start + >PUSHW ZPPtr1 KeyID + >PUSHW L.SRC.ACC.SIZE + >PUSHWI SYMG-1 Get only Global value + >PUSHWI 1 Skip SYMG.F >SYSCALL SListGetData rts @@ -185,23 +198,27 @@ SYM.LookupGlobal tsb SRC.ACC.F lda #2 - sta SYMG.SIZE + sta SRC.ACC.SIZE + lda #$ff + sta SRC.ACC + sta SRC.ACC+1 + .5 jsr SRC.GetNextChar bcs .8 jsr SRC.IsLetterOrDigit bcc .5 - + cmp #'.' beq .5 - + cmp #'_' beq .5 - + .8 clc rts - + .9 lda #E.UNDEF.SYMBOL sec rts @@ -211,21 +228,21 @@ SYM.StoreGlobal >LDA.G ASM.PASS >LDA.G SYM.BufPtr beq .8 - + >PUSHB.G SYM.hList >PUSHW.G SYM.ID >PUSHW ZPSymbolBuf - + >LDA.G SYM.BufPtr tay lda #0 cpy #SYMG beq .1 - + iny Add 1 for \0 after locals/privates bne .1 inc - + .1 >PUSHYA >SYSCALL SListAddData @@ -240,31 +257,34 @@ SYM.UpdateGlobal >PUSHB.G SYM.hList >PUSHW.G SYM.ID >PUSHW ZPSymbolBuf - + >LDA.G SYM.BufPtr tay lda #0 cpy #SYMG beq .1 - + iny Add 1 for \0 after locals/privates bne .1 inc - + .1 >PUSHYA >SYSCALL SListSetData - rts + bcs .9 + + >STZ.G SYM.BufPtr +.9 rts *--------------------------------------- SYM.PC2Acc ldy #ASM.PC+3 ldx #3 - + .1 lda (pData),y sta SRC.ACC,x dey dex bpl .1 - + lda #2 sta SRC.ACC.SIZE @@ -280,7 +300,7 @@ SYM.Acc2Global ldy #SYMG-1 rts *--------------------------------------- SYM.NewLocalA tax Save Local ID - + >LDA.G SYM.BufPtr not in a global label beq .91 @@ -296,13 +316,13 @@ SYM.NewLocalA tax Save Local ID bcs .90 ldy #ASM.PC+4 - + .1 dey lda (pData),y pha cpy #ASM.PC bne .1 - + >LDA.G MAC.CtxID Get Macro Context ID pha @@ -337,39 +357,39 @@ SYM.NewLocalA tax Save Local ID .91 lda #E.INV.LABEL sec rts - + .90 lda #E.TOO.MANY.LOCAL sec rts .9 lda #E.SYMBOL.REDEF sec - rts + rts *--------------------------------------- .20 >LDA.G SYM.BufPtr Pass #2: setup SYM.BufPtr in case of .EQ clc adc #SYML sta (pData),y - + rts *--------------------------------------- SYM.LookupLocalX lda (ZPSymbolBuf) and #SYMG.F.LOCALS beq .99 - + ldy #SYMG .1 phy lda (ZPSymbolBuf),y beq .9 - + txa cmp (ZPSymbolBuf),y bne .3 >LDA.G MAC.CtxID - + ply phy @@ -378,60 +398,57 @@ SYM.LookupLocalX bne .3 ldx #0 - + .2 iny lda (ZPSymbolBuf),y sta SRC.ACC,x inx cpx #4 - + bne .2 pla clc rts - + .3 pla clc adc #SYML tay bra .1 - + .9 ply .99 lda #E.UNDEF.SYMBOL sec - rts + rts *--------------------------------------- SYM.Dump.End >PUSHW L.MSG.SUMMARY >PUSHW ZPPtr2 >PUSHBI 2 jmp OUT.Print - + SYM.Dump.8 clc rts *--------------------------------------- SYM.Dump >LDA.G bListAll bmi SYM.Dump.1 - + >LDA.G ASM.LI.ON bpl SYM.Dump.8 - + SYM.Dump.1 >LDYA L.MSG.SYMBOLS >SYSCALL PutS stz ZPPtr2 stz ZPPtr2+1 -.1 -* jsr SYM.Dump.DBG - - >LDYA ZPPtr2 +.1 >LDYA ZPPtr2 >STYA ZPPtr1 >PUSHB.G SYM.hList >PUSHW ZPPtr1 - >PUSHW ZPTmpBuf + >PUSHW ZPTmpBuf >SYSCALL SListGetByID bcs SYM.Dump.End @@ -444,16 +461,19 @@ SYM.Dump.1 >LDYA L.MSG.SYMBOLS >PUSHWZ from Start >SYSCALL SListGetData bcs .9 - + jsr SYM.Dump.GLP - + bcc .1 - -.9 rts + +.9 rts *--------------------------------------- SYM.Dump.GLP jsr SYM.Dump.G bcs .9 + >LDYA ZPTmpBuf Label + >SYSCALL PutS + ldx #5 lda (ZPSymbolBuf) @@ -462,12 +482,12 @@ SYM.Dump.GLP jsr SYM.Dump.G jsr SYM.Dump.LP bcs .9 - + .2 cpx #5 already CR printed ? beq .8 - + jmp OUT.PrintCR - + .8 clc .9 rts *--------------------------------------- @@ -475,7 +495,7 @@ SYM.Dump.G ldy #SYMG.SIZE Get Symbol Size lda (ZPSymbolBuf),y pha - + asl tax >PUSHB L.MSG.EQU0+1,x @@ -484,92 +504,89 @@ SYM.Dump.G ldy #SYMG.SIZE Get Symbol Size pla pha tax byte count - + clc adc #SYMG.V tay - + .2 dey lda (ZPSymbolBuf),y >PUSHA dex bne .2 - + pla Byte Count .3 >PUSHA - - >SYSCALL PrintF - >LDYA ZPTmpBuf Label - >SYSCALL PutS + >SYSCALL PrintF rts *--------------------------------------- SYM.Dump.LP ldy #SYMG ldx #5 - + .1 lda (ZPSymbolBuf),y beq .8 - + phy - + phx - + tax ID - + iny lda (ZPSymbolBuf),y MacID bne .3 - + >PUSHW L.MSG.LSYMBOL txa >PUSHA - + jsr SYM.Dump.PushValueY - + lda #5 bra .5 - + .3 >PUSHW L.MSG.PSYMBOL txa >PUSHA - + >PUSHB (ZPSymbolBuf),y jsr SYM.Dump.PushValueY - + lda #6 - + .5 >PUSHA - + >SYSCALL PrintF plx dex bne .6 - + jsr OUT.PrintCR ldx #5 - + .6 pla clc adc #SYML tay bra .1 - + .8 rts *--------------------------------------- SYM.Dump.PushValueY ldx #4 - + iny iny iny iny - + .1 lda (ZPSymbolBuf),y >PUSHA dey @@ -579,6 +596,6 @@ SYM.Dump.PushValueY rts *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S.SYM -LOAD USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s.sym +LOAD usr/src/bin/asm.s ASM diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index d131708e..df9edb31 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -5,15 +5,17 @@ NEW .OR $2000 .TF bin/asm *--------------------------------------- +ASMDBG .EQ 0 +*--------------------------------------- PAGE.LEN .EQ 23 DO.MAXDEPTH .EQ 8 IN.MAXDEPTH .EQ 4 MA.MAXDEPTH .EQ 8 *--------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.I - .INB INC/MLI.E.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.i + .INB inc/mli.e.i *--------------------------------------- .DUMMY .OR ZPBIN @@ -29,7 +31,7 @@ ZPOpsPtr .BS 2 ZPOpDefPtr .BS 2 ZPMacroStk .BS 2 -ZPMacroBuf .BS 2 +ZPMacroBuf .BS 2 ZPMacroArgBuf .BS 2 ZPMacroArgCnt .BS 1 @@ -113,7 +115,7 @@ CS.START cld *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN - .DA CS.DOEVENT + .DA CS.DOEVENT .DA CS.QUIT L.MSG.HELP .DA MSG.HELP L.MSG.CRLF .DA MSG.CRLF @@ -134,33 +136,35 @@ L.MSG.LSYMBOL .DA MSG.LSYMBOL L.MSG.PSYMBOL .DA MSG.PSYMBOL L.MSG.SUMMARY .DA MSG.SUMMARY L.MSG.END .DA MSG.END -L.MSG.DEBUG .DA MSG.DEBUG + .DO ASMDBG=1 +L.MSG.DBG .DA MSG.DBG + .FIN L.MSG.SRC.FILE .DA MSG.SRC.FILE L.MSG.OBJ.FILE .DA MSG.OBJ.FILE -L.MSG.T.FILE .DA MSG.T.FILE +L.MSG.CPU.FILE .DA MSG.CPU.FILE L.SRC.AM.StrBuf .DA SRC.AM.StrBuf L.ASM.6502 .DA ASM.6502 L.ASM.CPU.FILE .DA ASM.CPU.FILE -L.SRC.ACC.F .DA SRC.ACC.F +L.SRC.ACC.SIZE .DA SRC.ACC.SIZE L.SRC.ACC .DA SRC.ACC L.SRC.ARG .DA SRC.ARG L.T.DIRECTIVES .DA T.DIRECTIVES -J.DIRECTIVES .DA DIR.AC +J.DIRECTIVES .DA DIR.AC 0 .DA DIR.AS .DA DIR.AT .DA DIR.AZ .DA DIR.BS .DA DIR.DA - .DA DIR.DO + .DA DIR.DO 12 .DA DIR.DU .DA DIR.DU .DA DIR.ED - .DA DIR.EL + .DA DIR.EL 20 .DA DIR.EM .DA DIR.EN .DA DIR.EP .DA DIR.EQ - .DA DIR.FI + .DA DIR.FI 30 .DA DIR.HS .DA DIR.IN .DA DIR.IN @@ -209,12 +213,15 @@ J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/ .DA EXP.OP.ADD .DA EXP.OP.SUB .DA EXP.OP.MUL - .DA EXP.OP.DIV + .DA EXP.OP.DIV .DA 0 *--------------------------------------- -CS.INIT jsr CS.RUN.ARGS - bcs .99 - +CS.INIT clc + rts +*-------------------------------------- +CS.RUN jsr CS.RUN.ARGS + bcs .9 + jsr FIO.Init bcs .9 @@ -224,71 +231,16 @@ CS.INIT jsr CS.RUN.ARGS jsr MAC.Init bcs .9 - jmp OUT.Init + jsr OUT.Init + bcs .9 + +.1 >SLEEP + jsr CS.RUN.LOOP + bcc .1 -.99 pha - >PUSHW L.MSG.HELP - >PUSHBI 0 - >SYSCALL PrintF - pla - sec .9 rts *-------------------------------------- -CS.RUN.ARGS ldy #S.PS.ARGC - lda (pPS),y - beq .90 - -.1 inc ZPPtr1 - - lda ZPPtr1 - >SYSCALL ArgV - bcs .8 - >STYA ZPPtr2 - - lda (ZPPtr2) - cmp #'-' - beq .2 - - >PUSHW ZPPtr2 - >PUSHWI 0 Allocate - >SYSCALL RealPath - bcs .99 - txa - >STA.G SRC.hFILENAME - bra .1 - -.2 ldy #1 - lda (ZPPtr2),y - cmp #'L' - bne .3 - - lda #$ff - >STA.G bListAll - bra .1 - -.3 cmp #'T' - bne .90 - - inc ZPPtr1 - lda ZPPtr1 - >SYSCALL ArgV - bcs .90 - - lda ZPPtr1 - >STA.G ArgDstFile - bra .1 - -.8 >LDA.G SRC.hFILENAME - beq .90 - - clc - rts - -.90 lda #E.INV.ARGS - sec -.99 rts -*-------------------------------------- -CS.RUN ldy #S.PS.hStdIn +CS.RUN.LOOP ldy #S.PS.hStdIn lda (pPS),y >SYSCALL FEOF bcs .99 @@ -297,7 +249,7 @@ CS.RUN ldy #S.PS.hStdIn >SYSCALL GetChar bcs .99 - + cmp #$03 Ctrl-C beq .99 Abort....beq=CS @@ -307,9 +259,9 @@ CS.RUN ldy #S.PS.hStdIn >LDA.G bPause eor #$ff sta (pData),y - + bpl .12 - + clc rts @@ -322,15 +274,15 @@ CS.RUN ldy #S.PS.hStdIn .11 >STZ.G bPause .12 >LDA.G SRC.Depth root file is already opened? - bne .10 - + bne .10 + >PUSHW L.MSG.PASS >LDA.G ASM.PASS inc >PUSHA >PUSHBI 1 jsr OUT.Print - + >LDA.G SRC.hFILENAME >SYSCALL GetMemPtr jsr FIO.OpenFile @@ -340,35 +292,35 @@ CS.RUN ldy #S.PS.hStdIn >STZ.G MAC.StkPtr >STZ.G SYM.BufPtr - + .10 >LDYA ZPLineBuf >STYA ZPLinePtr - + >LDA.G MAC.StkPtr beq .20 - + .15 jsr MAC.ReadLine bcc .2 cmp #E.EMPTYKEY bne .9 - + jsr MAC.Pop bne .15 - + .20 jsr FIO.ReadLine bcc .2 cmp #MLI.E.EOF End Of File? bne .9 - + jsr FIO.FileClose >LDA.G SRC.Depth end of root file ? bne .8 no continue back to previous file jsr SYM.StoreGlobal Make sure last Global flushed bcs .9 - + >LDA.G ASM.PASS End of pass #2 ?? bne .1 inc @@ -382,12 +334,12 @@ CS.RUN ldy #S.PS.hStdIn >LDYA L.MSG.END >SYSCALL PutS lda #0 End of assembly, exit with no error - sec + sec rts - + .2 jsr SRC.ParseLine bcs .9 - + jsr OUT.PrintLine .8 clc @@ -399,52 +351,110 @@ CS.RUN ldy #S.PS.hStdIn sec rts *-------------------------------------- +CS.RUN.ARGS ldy #S.PS.ARGC + lda (pPS),y + beq .90 + +.1 inc ZPPtr1 + + lda ZPPtr1 + >SYSCALL ArgV + bcs .8 + >STYA ZPPtr2 + + lda (ZPPtr2) + cmp #'-' + beq .2 + + >PUSHW ZPPtr2 + >PUSHWI 0 Allocate + >SYSCALL RealPath + bcs .99 + txa + >STA.G SRC.hFILENAME + bra .1 + +.2 ldy #1 + lda (ZPPtr2),y + cmp #'L' + bne .3 + + lda #$ff + >STA.G bListAll + bra .1 + +.3 cmp #'T' + bne .90 + + inc ZPPtr1 + lda ZPPtr1 + >SYSCALL ArgV + bcs .90 + + lda ZPPtr1 + >STA.G ArgDstFile + bra .1 + +.8 >LDA.G SRC.hFILENAME + beq .90 + + clc + rts + +.90 >PUSHW L.MSG.HELP + >PUSHBI 0 + >SYSCALL PrintF + + lda #E.INV.ARGS + sec +.99 rts +*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- CS.QUIT >LDA.G SRC.Depth beq .1 - + jsr FIO.FileClose - bra CS.QUIT + bra CS.QUIT .1 >LDA.G DST.hREFNUM beq .2 - + >SYSCALL FClose - + .2 jsr MAC.Quit jsr SYM.Quit - + ldy #ASM.hCPUFILE jsr .7 ldy #SRC.hFILENAME jsr .7 - + ldy #DST.hFILENAME jsr .7 - + ldy #SRC.hLineBuf jsr .7 - + ldy #SRC.hTmpBuf - + .7 lda (pData),y beq .8 >SYSCALL FreeMem - + .8 clc rts *--------------------------------------- - .INB USR/SRC/BIN/ASM.S.DIR - .INB USR/SRC/BIN/ASM.S.EXP - .INB USR/SRC/BIN/ASM.S.FIO - .INB USR/SRC/BIN/ASM.S.MAC - .INB USR/SRC/BIN/ASM.S.OUT - .INB USR/SRC/BIN/ASM.S.SRC - .INB USR/SRC/BIN/ASM.S.SYM + .INB usr/src/bin/asm.s.dir + .INB usr/src/bin/asm.s.exp + .INB usr/src/bin/asm.s.fio + .INB usr/src/bin/asm.s.mac + .INB usr/src/bin/asm.s.out + .INB usr/src/bin/asm.s.src + .INB usr/src/bin/asm.s.sym *--------------------------------------- CS.END T.DIRECTIVES >PSTR "AC" @@ -514,7 +524,7 @@ MSG.CRLF .AZ "\r\n" MSG.PASS .AZ "**** Pass:#%d" MSG.SRC.FILE .AZ "**** Reading SRC File:%s" MSG.OBJ.FILE .AZ "**** Writing OBJ File:%s, Type=%02x" -MSG.T.FILE .AZ "**** Loading CPU File:%s" +MSG.CPU.FILE .AZ "**** Loading CPU File:%s" MSG.OUT0 .AZ "%H- " MSG.OUT1 .AZ "%H-%h " MSG.OUT2 .AZ "%H-%h %h " @@ -531,15 +541,16 @@ MSG.LSYMBOL .AZ " .%d=%h%h%h%h" MSG.PSYMBOL .AZ " :%d(%d)=%h%h%h%h" MSG.SUMMARY .AZ "\r\n**** Symbol Table Size : %5D Bytes.\r\n" MSG.END .AZ "**** End Of Assembly." -MSG.DEBUG .AZ "PC=%h%h%h%h, ACC=%h%h%h%h [%h] F:%b ARG=%h%h%h%h [%h]\r\n" + .DO ASMDBG=1 +MSG.DBG .AZ "\r\nCtxID=%d, ARG=%H%H ACC=%H%H -> ACC %b [%h]\r\n" + .FIN *--------------------------------------- ASM.CPU.FILE .BS 65 SRC.ACC.F .BS 1 SRC.ACC.SIZE .BS 1 SRC.ACC .BS 4 - -SRC.ARG.SIZE .BS 1 +SRC.ARG.F .BS 1 SRC.ARG .BS 4 SRC.ACCTMP .BS 4 @@ -547,7 +558,7 @@ SRC.AM.StrBuf .BS 32 *-------------------------------------- .DUMMY .OR 0 -DS.START +DS.START bPause .BS 1 bListAll .BS 1 ArgDstFile .BS 1 @@ -622,5 +633,5 @@ DS.END .ED .FIN *--------------------------------------- MAN -SAVE USR/SRC/BIN/ASM.S +SAVE usr/src/bin/asm.s ASM diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index 0a9ebfae..fd289c77 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -5,10 +5,10 @@ NEW .OR $2000 .TF bin/ping *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/ETH.I - .INB INC/LIBTCPIP.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/eth.i + .INB inc/libtcpip.i *-------------------------------------- TIMEOUT.MAX .EQ 100 10 sec. *-------------------------------------- @@ -111,15 +111,15 @@ CS.RUN.IPOK inc ArgIndex bra CS.RUN.IPOK .1 lda #TIMEOUT.MAX - sta Timeout + sta TimeOut .2 >PUSHEA.G SA.REMOTE+S.SOCKADDR.ADDR >PUSHW ZPTmpPtr - >LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME + >LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName bcc .3 >SLEEP - lda Timeout + lda TimeOut bne .2 >PUSHW L.MSG.UNKNOWN @@ -179,13 +179,13 @@ CS.RUN.OPENSKT ldx #3 dex bpl .2 - lda A2OSX.RANDOM16 + lda A2osX.RANDOM16 eor A2osX.TIMER16+1 >STA.G SA.LOCAL+S.SOCKADDR.PORT >STA.G SA.REMOTE+S.SOCKADDR.PORT sta Identifier - lda A2OSX.RANDOM16+1 + lda A2osX.RANDOM16+1 eor A2osX.TIMER16 >STA.G SA.LOCAL+S.SOCKADDR.PORT+1 >STA.G SA.REMOTE+S.SOCKADDR.PORT+1 @@ -193,7 +193,7 @@ CS.RUN.OPENSKT ldx #3 >PUSHBI S.IP.PROTOCOL.ICMP lda #S.SOCKET.T.RAW - >LIBCALL hLIBTCPIP,LIBTCPIP.socket + >LIBCALL hLIBTCPIP,LIBTCPIP.Socket bcs .9 sta hSocket @@ -240,11 +240,11 @@ CS.RUN.SEND.ECHO >PUSHW pData lda hSocket - >LIBCALL hLIBTCPIP,LIBTCPIP.send + >LIBCALL hLIBTCPIP,LIBTCPIP.Send bcs CS.RUN.ERR lda #TIMEOUT.MAX - sta Timeout + sta TimeOut CS.RUN.WAIT.REPLY >SLEEP ldy #S.PS.hStdIn @@ -264,7 +264,7 @@ CS.RUN.WAIT.REPLY >LIBCALL hLIBTCPIP,LIBTCPIP.Recv bcc .2 - lda Timeout + lda TimeOut bne CS.RUN.WAIT.REPLY jsr CS.Print.UNREACH @@ -419,5 +419,5 @@ SA.REMOTE .BS S.SOCKADDR DS.END .ED *-------------------------------------- MAN -SAVE USR/SRC/BIN/PING.S +SAVE usr/src/bin/ping.s ASM diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 3acf013f..a53e181a 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -458,6 +458,9 @@ CS.QUIT jsr CORE.FUNCRESET .1 ldy #CL.hCLBuf jsr .7 +.2 jsr CMD.POPD + bcc .2 + ldy #CORE.hArgVBuf .7 lda (pData),y diff --git a/SYS/KERNEL.S.SLISTX.txt b/SYS/KERNEL.S.SLISTX.txt index a7e331d2..6a475e17 100644 --- a/SYS/KERNEL.S.SLISTX.txt +++ b/SYS/KERNEL.S.SLISTX.txt @@ -41,7 +41,7 @@ SLISTX.SListGetData lda FORPNT ora FORPNT+1 - bne .12 + bne .12 buffer provided >LDYA SLIST.DataLen @@ -76,7 +76,7 @@ SLISTX.SListGetData .2 inc SLIST.nDataCnt bne .3 inc SLIST.nDataCnt+1 - beq .81 + beq .80 .3 bit SLIST.bStringMode bmi .4 String mode : until CR