diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 57e0cdad..dd06a448 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 63856dea..d54d3ef0 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -272,10 +272,9 @@ Cmd.INT.SET.1 >STZ.G CMD.Varname jsr Cmd.GetArgX bcs Cmd.INT.SET.UNSET + jsr Cmd.INT.GetEXP - - - + bcs .99 >PUSHYA >LDA.G CMD.Varname @@ -814,6 +813,62 @@ Cmd.INT.LOOP jsr CMD.StkPull sec .99 rts *-------------------------------------- +Cmd.GetEXP >LDA.G CMD.ArgIndex + inc + tax + jsr Cmd.GetArgX + bcc .1 + + >LDA.G CMD.ArgIndex no op, return text value + jsr Cmd.GetArgX + rts + +.1 >PUSHYA + >LDYA L.CMD.IF.TOKEN4 + - .... ? + jsr Lookup + bcs .9 + txa + >STA.G CMD.Operator + + >LDA.G CMD.ArgIndex + tax + jsr Cmd.GetArgX + >SYSCALL AToL + bcs .9 + + >PULLL.G M32.ACC + + >LDA.G CMD.ArgIndex + inc + inc + tax + jsr Cmd.GetArgX + bcs .9 + >SYSCALL AToL + bcs .9 + + >PULLL.G M32.ARG + + + +.9 lda #E.BADEXP + rts + +.80 >LDA.G CMD.Operator + tax + jmp (J.CMD.IF.TOKEN4,x) +*-------------------------------------- +Cmd.GetValue tax + jsr Cmd.GetArgX + >STYA ZPPtr1 + + lda (ZPPtr1) + cmp #'$' + bne .2 + + +.2 >SYSCALL AToL +*-------------------------------------- Cmd.GetArgX >LDYA ZPArgVBuf dex diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index d7a3f348..6e586686 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -42,6 +42,7 @@ E.STKOVERFLOW .EQ $C1 E.NOWHILE .EQ $C2 E.NOFOR .EQ $C3 E.NOIF .EQ $C4 +E.BADEXP .EQ $C5 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I @@ -146,6 +147,12 @@ J.CMD.IF.TOKEN2 .DA CMD.IF.D .DA CMD.IF.E .DA CMD.IF.F L.CMD.IF.TOKEN3 .DA CMD.IF.TOKEN3 +L.CMD.IF.TOKEN4 .DA CMD.IF.TOKEN4 +J.CMD.IF.TOKEN4 .DA M32.Add + .DA M32.Sub + .DA M32.Mul + .DA M32.Div + .DA M32.Mod L.ERR.Codes .DA ERR.Codes L.ERR.Messages .DA ERR.Messages .DO CSH=1