mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-21 06:29:08 +00:00
Kernel 0.93
This commit is contained in:
parent
fcc36ca1ed
commit
058026fea0
@ -64,12 +64,13 @@ where [ exp ] and [ condition ] allow to detail operators....
|
|||||||
| CALL | Working | CALL function <arg> ... |
|
| CALL | Working | CALL function <arg> ... |
|
||||||
| CASE | Working | CASE <expression> |
|
| CASE | Working | CASE <expression> |
|
||||||
| CD | Working | CD path or relative path |
|
| CD | Working | CD path or relative path |
|
||||||
|
| .. | Working | CD .. |
|
||||||
| DATE | Working | |
|
| DATE | Working | |
|
||||||
| DEFAULT | Working | Default CASE for SWITCH |
|
| DEFAULT | Working | Default CASE for SWITCH |
|
||||||
| ECHO | Working | \b,\e,\f,\n,\\\ and \\% supported <br> -N : Suppress \r\n |
|
| ECHO | Working | \b,\e,\f,\n,\\\ and \\% supported <br> -N : Suppress \r\n |
|
||||||
| ELSE | Working | Optional branch for IF block |
|
| ELSE | Working | Optional branch for IF block |
|
||||||
| END | Working | End of SWITCH Statement |
|
| END | Working | End of SWITCH Statement |
|
||||||
| EXIT | Working | exit script or shell |
|
| EXIT | Working | exit function, script or shell |
|
||||||
| FI | Working | Terminator for IF block |
|
| FI | Working | Terminator for IF block |
|
||||||
| FUNC | In Progress | FUNC fonction_name <br> \<body\> <br> END |
|
| FUNC | In Progress | FUNC fonction_name <br> \<body\> <br> END |
|
||||||
| IF | Working | [ \<condition\> ] |
|
| IF | Working | [ \<condition\> ] |
|
||||||
@ -81,10 +82,9 @@ where [ exp ] and [ condition ] allow to detail operators....
|
|||||||
| PUSHD | Working | Save actual working directory <br> PUSHD \<dir\> do also a CD to \<dir\> |
|
| PUSHD | Working | Save actual working directory <br> PUSHD \<dir\> do also a CD to \<dir\> |
|
||||||
| PWD | Working | Print Working Directory |
|
| PWD | Working | Print Working Directory |
|
||||||
| RD | Working | Delete an empty directory |
|
| RD | Working | Delete an empty directory |
|
||||||
| READ | Working | -F : Undefine all functions <br> -S : no echo (password) <br> -P : "prompt message" |
|
| READ | Working | -S : no echo (password) <br> -P : "prompt message" |
|
||||||
| REN | Working | Rename a file, directory or volume |
|
| REN | Working | Rename a file, directory or volume |
|
||||||
| RETURN | In Progress | Exit function with return code |
|
| SET | Working | -X : toggle debug mode <br> -C : toggle Control-C break mode <br> -E : toggle error printing mode <br> -F : delete all declared functions |
|
||||||
| SET | Working | -X : toggle debug mode <br> -C : toggle Control-C break mode |
|
|
||||||
| SHIFT | Working | Remove $1 from cmd line |
|
| SHIFT | Working | Remove $1 from cmd line |
|
||||||
| SLEEP | Working | Wait \<count\> 10th sec |
|
| SLEEP | Working | Wait \<count\> 10th sec |
|
||||||
| SWITCH | Working | SWITCH <expression> |
|
| SWITCH | Working | SWITCH <expression> |
|
||||||
|
180
BIN/SH.S.CMD.txt
180
BIN/SH.S.CMD.txt
@ -572,17 +572,24 @@ CMD.. lda (ZPArgVBufPtr)
|
|||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
jmp CORE.FCALL exec cmd file and continue
|
jsr IO.Load
|
||||||
|
bcs CMD.CALL.RTS
|
||||||
|
>LDYA ZPArgVBufPtr
|
||||||
|
jmp CMD.CALL exec cmd file and continue
|
||||||
|
|
||||||
.9 jmp CMD.Exec.CSYN
|
.9 jmp CMD.Exec.CSYN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CMD.CALL.UNDEF lda #E.FUNDEF
|
||||||
|
sec
|
||||||
|
CMD.CALL.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
CMD.CALL >LDA.G hFuncList
|
CMD.CALL >LDA.G hFuncList
|
||||||
beq .9
|
beq CMD.CALL.UNDEF
|
||||||
|
|
||||||
>PUSHW ZPArgVBufPtr
|
>PUSHW ZPArgVBufPtr
|
||||||
>LDA.G hFuncList
|
>LDA.G hFuncList
|
||||||
>SYSCALL SListLookup
|
>SYSCALL SListLookup
|
||||||
bcs .9
|
bcs CMD.CALL.UNDEF
|
||||||
|
|
||||||
>STYA M32.TMP KeyID
|
>STYA M32.TMP KeyID
|
||||||
|
|
||||||
@ -592,47 +599,131 @@ CMD.CALL >LDA.G hFuncList
|
|||||||
>PUSHW M32.TMP KeyID
|
>PUSHW M32.TMP KeyID
|
||||||
>LDA.G hFuncList
|
>LDA.G hFuncList
|
||||||
>SYSCALL SListGetData
|
>SYSCALL SListGetData
|
||||||
bcs .99
|
bcs CMD.CALL.RTS
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr FUNC PARAM1 PARAM2...
|
>LDYA ZPArgVBufPtr FUNC PARAM1 PARAM2...
|
||||||
jmp CORE.CALL X = Func Code
|
|
||||||
|
|
||||||
.9 lda #E.FUNDEF
|
CMD.CALL.YAX stx M32.ACC X=Code to Execute
|
||||||
sec
|
|
||||||
.99 rts
|
jsr CORE.ArgV.Dup Y,A = ArgV
|
||||||
*--------------------------------------
|
|
||||||
CMD.RETURN jsr CORE.RETURN
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda (ZPArgVBufPtr)
|
stx M32.ACC+1 X=ARGV
|
||||||
beq .8 no arg, exit 0
|
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
lda #7
|
||||||
>SYSCALL AToL
|
jsr CORE.StkCheck
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PULLL M32.ACC
|
lda ZPInputBuf
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
lda ZPInputBuf+1
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
lda ZPInputBufPtr
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
lda ZPInputBufPtr+1
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
ldy #S.PS.hARGV
|
||||||
|
lda (pPS),y
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
lda M32.ACC+1 new ARGV
|
||||||
|
ldy #S.PS.hARGV
|
||||||
|
sta (pPS),y
|
||||||
|
|
||||||
lda M32.ACC
|
lda M32.ACC
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
.8 clc
|
lda M32.ACC
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>STYA ZPInputBuf
|
||||||
|
>STYA ZPInputBufPtr
|
||||||
|
|
||||||
|
lda #$C0
|
||||||
|
jsr CORE.StkPush
|
||||||
|
|
||||||
|
>INC.G bBatchMode
|
||||||
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.EXIT lda (ZPArgVBufPtr)
|
CMD.EXIT lda (ZPArgVBufPtr)
|
||||||
beq .8 no arg, exit 0
|
beq CMD.EXIT.A no arg, exit 0
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
|
jsr EXP.GET
|
||||||
|
bcs CMD.EXIT.RTS
|
||||||
>SYSCALL AToL
|
>SYSCALL AToL
|
||||||
bcs .9
|
bcs CMD.EXIT.RTS
|
||||||
|
|
||||||
>PULLL M32.ACC
|
>PULLA
|
||||||
lda M32.ACC
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
|
||||||
.8 pha
|
CMD.EXIT.A sta M32.ACC
|
||||||
|
>DEBUG
|
||||||
|
.1 jsr CORE.StkPull
|
||||||
|
bcs CMD.EXIT.RTS
|
||||||
|
|
||||||
|
cmp #$C0 in CALL / . context ?
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
and #$3F
|
||||||
|
ldx #1
|
||||||
|
cmp #C.IF
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
.2 ldx #3
|
||||||
|
cmp #C.WHILE
|
||||||
|
bne CMD.EXIT.99
|
||||||
|
|
||||||
|
.3 lda (pData)
|
||||||
|
|
||||||
|
.4 dec
|
||||||
|
dex
|
||||||
|
bne .4
|
||||||
|
|
||||||
|
sta (pData)
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 jsr CORE.StkPull
|
||||||
|
>SYSCALL freemem Code buffer
|
||||||
|
|
||||||
|
ldy #S.PS.hARGV
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL freemem ArgV buffer
|
||||||
|
|
||||||
|
jsr CORE.StkPull
|
||||||
|
ldy #S.PS.hARGV
|
||||||
|
sta (pPS),y
|
||||||
|
|
||||||
|
jsr CORE.StkPull
|
||||||
|
sta ZPInputBufPtr+1
|
||||||
|
|
||||||
|
jsr CORE.StkPull
|
||||||
|
sta ZPInputBufPtr
|
||||||
|
|
||||||
|
jsr CORE.StkPull
|
||||||
|
sta ZPInputBuf+1
|
||||||
|
|
||||||
|
jsr CORE.StkPull
|
||||||
|
sta ZPInputBuf
|
||||||
|
|
||||||
|
>DEC.G bBatchMode
|
||||||
|
|
||||||
|
pha
|
||||||
lda #$FF
|
lda #$FF
|
||||||
>STA.G bExit
|
>STA.G bExit
|
||||||
pla
|
pla
|
||||||
clc
|
clc
|
||||||
.9 rts
|
CMD.EXIT.RTS rts
|
||||||
|
|
||||||
|
CMD.EXIT.99 lda #E.STACKERROR
|
||||||
|
sec
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.BREAK jsr CORE.StkGetCtx Get context in CORE.Test
|
CMD.BREAK jsr CORE.StkGetCtx Get context in CORE.Test
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -659,6 +750,10 @@ CMD.BREAK jsr CORE.StkGetCtx Get context in CORE.Test
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.SWITCH jsr CORE.StkGetCtx
|
CMD.SWITCH jsr CORE.StkGetCtx
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
jsr CORE.StkCheck
|
||||||
|
bcs .9
|
||||||
|
|
||||||
jsr EXP.GET
|
jsr EXP.GET
|
||||||
bcs .9
|
bcs .9
|
||||||
>SYSCALL strdup
|
>SYSCALL strdup
|
||||||
@ -799,6 +894,14 @@ CMD.FOR jsr CORE.StkGetCtx
|
|||||||
jsr CORE.ArgV.Next
|
jsr CORE.ArgV.Next
|
||||||
beq CMD.END.CSYN
|
beq CMD.END.CSYN
|
||||||
|
|
||||||
|
lda #8
|
||||||
|
jsr CORE.StkCheck
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
sec
|
||||||
|
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
||||||
|
|
||||||
|
lda (ZPArgVBufPtr)
|
||||||
cmp #'('
|
cmp #'('
|
||||||
beq FOR.FILE
|
beq FOR.FILE
|
||||||
|
|
||||||
@ -806,15 +909,9 @@ CMD.FOR jsr CORE.StkGetCtx
|
|||||||
bne FOR.LIST
|
bne FOR.LIST
|
||||||
|
|
||||||
jmp FOR.EXEC
|
jmp FOR.EXEC
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.LIST lda #8
|
FOR.LIST >LDYA ZPArgVBufPtr
|
||||||
jsr CORE.StkCheck
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
sec
|
|
||||||
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
|
||||||
>SYSCALL strdup
|
>SYSCALL strdup
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -851,14 +948,7 @@ FOR.LIST lda #8
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.FILE lda #8
|
FOR.FILE jsr CORE.ArgV.NextChar skip "("
|
||||||
jsr CORE.StkCheck
|
|
||||||
bcs FOR.FILE.9
|
|
||||||
|
|
||||||
sec
|
|
||||||
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
|
||||||
|
|
||||||
jsr CORE.ArgV.NextChar skip "("
|
|
||||||
|
|
||||||
>PUSHWI 0 Aux type
|
>PUSHWI 0 Aux type
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
@ -897,14 +987,7 @@ FOR.FILE lda #8
|
|||||||
|
|
||||||
FOR.FILE.9 rts
|
FOR.FILE.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.EXEC lda #8
|
FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
|
||||||
jsr CORE.StkCheck
|
|
||||||
bcs FOR.FILE.9
|
|
||||||
|
|
||||||
sec
|
|
||||||
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
|
||||||
|
|
||||||
jsr CORE.ArgV.NextChar skip "`"
|
|
||||||
|
|
||||||
jsr IO.Pipe.Out
|
jsr IO.Pipe.Out
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -1222,6 +1305,7 @@ CMD.IF jsr CORE.StkGetCtx
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.LOOP jsr CORE.StkPull
|
CMD.LOOP jsr CORE.StkPull
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
tax
|
tax
|
||||||
and #$3F
|
and #$3F
|
||||||
cmp #C.WHILE
|
cmp #C.WHILE
|
||||||
@ -1231,8 +1315,8 @@ CMD.LOOP jsr CORE.StkPull
|
|||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
lda (pData)
|
lda (pData)
|
||||||
sec
|
dec
|
||||||
sbc #2 Discard loop Ptr
|
dec Discard loop Ptr
|
||||||
sta (pData)
|
sta (pData)
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
@ -71,7 +71,8 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
|||||||
jsr CORE.GetCharNB
|
jsr CORE.GetCharNB
|
||||||
bcc .11
|
bcc .11
|
||||||
|
|
||||||
jsr CORE.RETURN
|
lda #0 EOF
|
||||||
|
jsr CMD.EXIT.A
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr IO.Reset
|
jsr IO.Reset
|
||||||
@ -322,100 +323,6 @@ CORE.SkipLine jsr CORE.GetNextCharNB
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.FCALL >STYA ZPPtr1 ArgV
|
|
||||||
>PUSHWI 0 Aux type
|
|
||||||
>PUSHBI S.FI.T.TXT
|
|
||||||
>PUSHBI O.RDONLY
|
|
||||||
|
|
||||||
>LDYA ZPPtr1
|
|
||||||
>SYSCALL LoadTxtFile
|
|
||||||
bcs CORE.CALL.9
|
|
||||||
|
|
||||||
>LDYA ZPPtr1
|
|
||||||
|
|
||||||
CORE.CALL stx M32.ACC X=Code to Execute
|
|
||||||
|
|
||||||
jsr CORE.ArgV.Dup Y,A = ArgV
|
|
||||||
bcs CORE.CALL.9
|
|
||||||
|
|
||||||
stx M32.ACC+1 X=ARGV
|
|
||||||
|
|
||||||
lda #7
|
|
||||||
jsr CORE.StkCheck
|
|
||||||
bcs CORE.CALL.9
|
|
||||||
|
|
||||||
lda ZPInputBuf
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda ZPInputBuf+1
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda ZPInputBufPtr
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda ZPInputBufPtr+1
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
ldy #S.PS.hARGV
|
|
||||||
lda (pPS),y
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda M32.ACC+1 new ARGV
|
|
||||||
ldy #S.PS.hARGV
|
|
||||||
sta (pPS),y
|
|
||||||
|
|
||||||
lda M32.ACC
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda M32.ACC
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA ZPInputBuf
|
|
||||||
>STYA ZPInputBufPtr
|
|
||||||
|
|
||||||
lda #$C0
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
>INC.G bBatchMode
|
|
||||||
* clc
|
|
||||||
CORE.CALL.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
CORE.RETURN jsr CORE.StkPull
|
|
||||||
bcs .90
|
|
||||||
|
|
||||||
cmp #$C0
|
|
||||||
bne .90
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
>SYSCALL freemem Code buffer
|
|
||||||
|
|
||||||
ldy #S.PS.hARGV
|
|
||||||
lda (pPS),y
|
|
||||||
>SYSCALL freemem ArgV buffer
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
ldy #S.PS.hARGV
|
|
||||||
sta (pPS),y
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
sta ZPInputBufPtr+1
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
sta ZPInputBufPtr
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
sta ZPInputBuf+1
|
|
||||||
|
|
||||||
jsr CORE.StkPull
|
|
||||||
sta ZPInputBuf
|
|
||||||
|
|
||||||
>DEC.G bBatchMode
|
|
||||||
* clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.90 lda #E.STACKERROR
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
* search ZPInputBufPtr/ZPArgVBufPtr in Y,A table
|
* search ZPInputBufPtr/ZPArgVBufPtr in Y,A table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.LookupInputBuf
|
CORE.LookupInputBuf
|
||||||
@ -779,15 +686,6 @@ CORE.StkPushPtr bcs .1
|
|||||||
txa
|
txa
|
||||||
bra CORE.StkPush
|
bra CORE.StkPush
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.StkPullPtr jsr CORE.StkPull
|
|
||||||
bcs CORE.StkPullPtr.9
|
|
||||||
sta ZPInputBufPtr+1
|
|
||||||
jsr CORE.StkPull
|
|
||||||
bcs CORE.StkPullPtr.9
|
|
||||||
sta ZPInputBufPtr
|
|
||||||
CORE.StkPullPtr.9
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
CORE.StkPushYA phy
|
CORE.StkPushYA phy
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
pla
|
pla
|
||||||
@ -846,6 +744,15 @@ CORE.StkGetCtx jsr CORE.StkGet
|
|||||||
txa
|
txa
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CORE.StkPullPtr jsr CORE.StkPull
|
||||||
|
bcs CORE.StkPullPtr.9
|
||||||
|
sta ZPInputBufPtr+1
|
||||||
|
jsr CORE.StkPull
|
||||||
|
bcs CORE.StkPullPtr.9
|
||||||
|
sta ZPInputBufPtr
|
||||||
|
CORE.StkPullPtr.9
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CORE.StkPull jsr CORE.StkGet
|
CORE.StkPull jsr CORE.StkGet
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -8,6 +8,15 @@ IO.Reset jsr IO.Reset.In
|
|||||||
jsr IO.Reset.Err
|
jsr IO.Reset.Err
|
||||||
IO.Reset.9 rts
|
IO.Reset.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
IO.Load pha
|
||||||
|
>PUSHWI 0 Aux type
|
||||||
|
>PUSHBI S.FI.T.TXT
|
||||||
|
>PUSHBI O.RDONLY
|
||||||
|
|
||||||
|
pla
|
||||||
|
>SYSCALL LoadTxtFile
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
IO.Pipe.In >LDA.G IO.hOut
|
IO.Pipe.In >LDA.G IO.hOut
|
||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
sta (pPS),y
|
sta (pPS),y
|
||||||
|
47
BIN/SH.S.txt
47
BIN/SH.S.txt
@ -31,24 +31,23 @@ C.TIME .EQ 17
|
|||||||
C.PUSHD .EQ 18
|
C.PUSHD .EQ 18
|
||||||
C.POPD .EQ 19
|
C.POPD .EQ 19
|
||||||
C.FUNC .EQ 20
|
C.FUNC .EQ 20
|
||||||
C.RETURN .EQ 21
|
C.CALL .EQ 21
|
||||||
C.CALL .EQ 22
|
C.BREAK .EQ 22
|
||||||
C.BREAK .EQ 23
|
C.SWITCH .EQ 23
|
||||||
C.SWITCH .EQ 24
|
C.CASE .EQ 24
|
||||||
C.CASE .EQ 25
|
C.DEFAULT .EQ 25
|
||||||
C.DEFAULT .EQ 26
|
C.END .EQ 26
|
||||||
C.END .EQ 27
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
C.FOR .EQ 28
|
C.FOR .EQ 27
|
||||||
C.FOR.LIST .EQ 0
|
C.FOR.LIST .EQ 0
|
||||||
C.FOR.FILE .EQ 2
|
C.FOR.FILE .EQ 2
|
||||||
C.FOR.EXEC .EQ 4
|
C.FOR.EXEC .EQ 4
|
||||||
C.WHILE .EQ 29
|
C.WHILE .EQ 28
|
||||||
C.IF .EQ 30
|
C.IF .EQ 29
|
||||||
C.NEXT .EQ 31
|
C.NEXT .EQ 30
|
||||||
C.LOOP .EQ 32
|
C.LOOP .EQ 31
|
||||||
C.ELSE .EQ 33
|
C.ELSE .EQ 32
|
||||||
C.FI .EQ 34
|
C.FI .EQ 33
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
E.CSYN .EQ $C0
|
E.CSYN .EQ $C0
|
||||||
E.ESYN .EQ $C1
|
E.ESYN .EQ $C1
|
||||||
@ -150,7 +149,6 @@ J.CMD .DA CMD...
|
|||||||
.DA CMD.PUSHD
|
.DA CMD.PUSHD
|
||||||
.DA CMD.POPD
|
.DA CMD.POPD
|
||||||
.DA CMD.FUNC
|
.DA CMD.FUNC
|
||||||
.DA CMD.RETURN
|
|
||||||
.DA CMD.CALL
|
.DA CMD.CALL
|
||||||
.DA CMD.BREAK
|
.DA CMD.BREAK
|
||||||
.DA CMD.SWITCH
|
.DA CMD.SWITCH
|
||||||
@ -218,9 +216,14 @@ CS.RUN jsr CL.Init
|
|||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
|
|
||||||
jsr CORE.FCALL Exec file an exit
|
jsr IO.Load
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
phx
|
||||||
|
ldy #S.PS.hARGV
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
plx
|
||||||
|
jsr CMD.CALL.YAX
|
||||||
bra CS.RUN.LOOP
|
bra CS.RUN.LOOP
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 jsr CMD.CD.HOME
|
.1 jsr CMD.CD.HOME
|
||||||
@ -239,7 +242,10 @@ CS.RUN jsr CL.Init
|
|||||||
bcs CS.RUN.LOOP no profile...
|
bcs CS.RUN.LOOP no profile...
|
||||||
|
|
||||||
>LDYA L.HOME.PROFILE
|
>LDYA L.HOME.PROFILE
|
||||||
jsr CORE.FCALL exec profile and continue
|
jsr IO.Load
|
||||||
|
bcs CS.RUN.LOOP
|
||||||
|
>LDYA L.HOME.PROFILE
|
||||||
|
jsr CMD.CALL.YAX exec profile and continue
|
||||||
|
|
||||||
* bcs CS.RUN.LOOP
|
* bcs CS.RUN.LOOP
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -347,7 +353,7 @@ CS.RUN.INTERACTIVE
|
|||||||
>SYSCALL GetMemPtr Y,A =ARGV
|
>SYSCALL GetMemPtr Y,A =ARGV
|
||||||
|
|
||||||
plx
|
plx
|
||||||
jsr CORE.CALL X = Copy of CL
|
jsr CMD.CALL.YAX X = Copy of CL
|
||||||
|
|
||||||
.6 jsr CORE.Run
|
.6 jsr CORE.Run
|
||||||
|
|
||||||
@ -442,7 +448,7 @@ CS.RUN.BATCH >LDA.G bSET.C
|
|||||||
bne CS.RUN.LOOP.END
|
bne CS.RUN.LOOP.END
|
||||||
|
|
||||||
pha
|
pha
|
||||||
jsr CORE.RETURN
|
jsr CMD.EXIT.A
|
||||||
|
|
||||||
lda (pData)
|
lda (pData)
|
||||||
bne .6
|
bne .6
|
||||||
@ -614,7 +620,6 @@ CMD .AZ ".."
|
|||||||
.AZ "PUSHD"
|
.AZ "PUSHD"
|
||||||
.AZ "POPD"
|
.AZ "POPD"
|
||||||
.AZ "FUNC"
|
.AZ "FUNC"
|
||||||
.AZ "RETURN"
|
|
||||||
.AZ "CALL"
|
.AZ "CALL"
|
||||||
.AZ "BREAK"
|
.AZ "BREAK"
|
||||||
.AZ "SWITCH"
|
.AZ "SWITCH"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user