mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-12 21:31:00 +00:00
Kernel 0.93+
This commit is contained in:
parent
efb5d2d650
commit
a1f446972d
Binary file not shown.
116
BIN/SH.S.CMD.txt
116
BIN/SH.S.CMD.txt
@ -513,7 +513,7 @@ CMD.READ lda (ZPArgVBufPtr)
|
|||||||
CMD.READ.VAR jsr CL.Reset
|
CMD.READ.VAR jsr CL.Reset
|
||||||
|
|
||||||
.1 >SYSCALL GetChar
|
.1 >SYSCALL GetChar
|
||||||
bcs .9
|
bcs CMD.READ.VAR.9
|
||||||
|
|
||||||
jsr CL.CHARIN
|
jsr CL.CHARIN
|
||||||
|
|
||||||
@ -521,18 +521,19 @@ CMD.READ.VAR jsr CL.Reset
|
|||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
lda (ZPCLBuf)
|
lda (ZPCLBuf)
|
||||||
bne .2
|
bne CMD.READ.VAR.SET
|
||||||
|
|
||||||
|
CMD.READ.VAR.UNSET
|
||||||
>LDYA ZPVarNamePtr
|
>LDYA ZPVarNamePtr
|
||||||
>SYSCALL UnSetEnv
|
>SYSCALL UnSetEnv
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 >PUSHW ZPCLBuf
|
CMD.READ.VAR.SET
|
||||||
|
>PUSHW ZPCLBuf
|
||||||
>LDYA ZPVarNamePtr
|
>LDYA ZPVarNamePtr
|
||||||
>SYSCALL SetEnv
|
>SYSCALL SetEnv
|
||||||
|
|
||||||
.9 rts
|
CMD.READ.VAR.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.SLEEP lda (ZPArgVBufPtr)
|
CMD.SLEEP lda (ZPArgVBufPtr)
|
||||||
beq CMD.REN.CSYN
|
beq CMD.REN.CSYN
|
||||||
@ -993,12 +994,8 @@ CMD.FOR.LIST >LDYA ZPArgVBufPtr
|
|||||||
|
|
||||||
jsr CORE.StkPushYAX Push listPtr,hList
|
jsr CORE.StkPushYAX Push listPtr,hList
|
||||||
|
|
||||||
>LDYA ZPVarNamePtr
|
jsr CORE.PushVarName Push hVARNAME
|
||||||
>SYSCALL strdup
|
|
||||||
bcs FOR.FILE.9
|
bcs FOR.FILE.9
|
||||||
|
|
||||||
txa
|
|
||||||
jsr CORE.StkPush Push hVARNAME
|
|
||||||
|
|
||||||
lda #C.FOR.LIST
|
lda #C.FOR.LIST
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
@ -1006,37 +1003,16 @@ CMD.FOR.LIST >LDYA ZPArgVBufPtr
|
|||||||
lda #C.FOR
|
lda #C.FOR
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
|
|
||||||
jsr CMD.NEXT.LIST.1
|
jsr CMD.NEXT.LIST.TOKEN
|
||||||
bcs FOR.FILE.9
|
bcc CMD.FOR.LOOP
|
||||||
|
rts
|
||||||
jmp CMD.FOR.LOOP
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.FOR.FILE jsr CORE.ArgV.NextChar skip "("
|
CMD.FOR.FILE jsr CORE.ArgV.NextChar skip "("
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
ldx #O.RDONLY+O.TEXT
|
ldx #O.RDONLY+O.TEXT
|
||||||
jsr IO.FOpenYAX
|
jsr IO.FOpenYAX
|
||||||
bcs FOR.FILE.9
|
bcc CMD.FOR.PUSH
|
||||||
|
|
||||||
jsr CORE.StkPush push hFILE
|
|
||||||
|
|
||||||
>LDYA ZPVarNamePtr
|
|
||||||
>SYSCALL strdup
|
|
||||||
bcs FOR.FILE.9
|
|
||||||
|
|
||||||
txa
|
|
||||||
jsr CORE.StkPush Push hVARNAME
|
|
||||||
|
|
||||||
lda #C.FOR.FILE
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
lda #C.FOR
|
|
||||||
jsr CORE.StkPush
|
|
||||||
|
|
||||||
jsr CMD.NEXT.LINE
|
|
||||||
bcs FOR.FILE.9
|
|
||||||
|
|
||||||
bra CMD.FOR.LOOP
|
|
||||||
|
|
||||||
FOR.FILE.9 rts
|
FOR.FILE.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -1050,19 +1026,23 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
|
|||||||
>SYSCALL execl
|
>SYSCALL execl
|
||||||
bcs FOR.FILE.9
|
bcs FOR.FILE.9
|
||||||
|
|
||||||
jsr IO.Pipe.In
|
>LDA.G IO.hOut
|
||||||
bcs FOR.FILE.9
|
ldy #S.PS.hStdOut
|
||||||
|
sta (pPS),y
|
||||||
jsr CORE.StkPush push hPIPE
|
|
||||||
|
|
||||||
>LDYA ZPVarNamePtr
|
>STZ.G IO.hOut
|
||||||
>SYSCALL strdup
|
|
||||||
|
>LEA.G IO.FIFO
|
||||||
|
ldx #O.RDONLY+O.TEXT
|
||||||
|
jsr IO.FOpenYAX
|
||||||
bcs FOR.FILE.9
|
bcs FOR.FILE.9
|
||||||
|
|
||||||
txa
|
CMD.FOR.PUSH jsr CORE.StkPush push hPIPE
|
||||||
jsr CORE.StkPush Push hVARNAME
|
|
||||||
|
jsr CORE.PushVarName Push hVARNAME
|
||||||
|
bcs FOR.FILE.9
|
||||||
|
|
||||||
lda #C.FOR.EXEC
|
lda #C.FOR.FILEEXEC
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
|
|
||||||
lda #C.FOR
|
lda #C.FOR
|
||||||
@ -1070,7 +1050,7 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
|
|||||||
|
|
||||||
jsr CMD.NEXT.LINE
|
jsr CMD.NEXT.LINE
|
||||||
bcs FOR.FILE.9
|
bcs FOR.FILE.9
|
||||||
|
|
||||||
CMD.FOR.LOOP ora CORE.TestResult
|
CMD.FOR.LOOP ora CORE.TestResult
|
||||||
ora #C.FOR Push FOR
|
ora #C.FOR Push FOR
|
||||||
pha
|
pha
|
||||||
@ -1078,7 +1058,8 @@ CMD.FOR.LOOP ora CORE.TestResult
|
|||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
|
* clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT jsr CORE.StkGet Y = StkPtr
|
CMD.NEXT jsr CORE.StkGet Y = StkPtr
|
||||||
@ -1090,9 +1071,10 @@ CMD.NEXT jsr CORE.StkGet Y = StkPtr
|
|||||||
|
|
||||||
dey
|
dey
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
tax
|
|
||||||
iny
|
iny
|
||||||
jmp (J.NEXT,x)
|
tax
|
||||||
|
beq CMD.NEXT.LIST
|
||||||
|
jmp CMD.NEXT.FILEEXEC
|
||||||
|
|
||||||
.9 lda #E.NOFOR
|
.9 lda #E.NOFOR
|
||||||
sec
|
sec
|
||||||
@ -1109,7 +1091,7 @@ CMD.NEXT.LIST lda (pData),y Y = StkPtr
|
|||||||
|
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jsr CMD.NEXT.LIST.1
|
jsr CMD.NEXT.LIST.TOKEN
|
||||||
bcs .9
|
bcs .9
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
@ -1143,10 +1125,11 @@ CMD.NEXT.LIST lda (pData),y Y = StkPtr
|
|||||||
pla
|
pla
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
|
|
||||||
clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.LIST.1 lda (pData)
|
CMD.NEXT.LIST.TOKEN
|
||||||
|
lda (pData)
|
||||||
dec skip FOR
|
dec skip FOR
|
||||||
dec skip SUB TOKEN
|
dec skip SUB TOKEN
|
||||||
|
|
||||||
@ -1194,9 +1177,7 @@ CMD.NEXT.LIST.1 lda (pData)
|
|||||||
tya
|
tya
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>PUSHW ZPCLBuf
|
jsr CMD.READ.VAR.SET
|
||||||
>LDYA ZPVarNamePtr
|
|
||||||
>SYSCALL SetEnv
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda (pData)
|
lda (pData)
|
||||||
@ -1212,8 +1193,7 @@ CMD.NEXT.LIST.1 lda (pData)
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA ZPVarNamePtr
|
.8 jsr CMD.READ.VAR.UNSET
|
||||||
>SYSCALL UnSetEnv
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
@ -1221,22 +1201,15 @@ CMD.NEXT.LIST.1 lda (pData)
|
|||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* stack-4 CmdPtr
|
* stack-4 CmdPtr
|
||||||
* stack-3 hFILE
|
* stack-3 hFILE/hPIPE
|
||||||
* stack-2 hVARNAME
|
* stack-2 hVARNAME
|
||||||
* stack-1 FOR SUB TOKEN
|
* stack-1 FOR SUB TOKEN
|
||||||
* stack FOR TOKEN
|
* stack FOR TOKEN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.FILE
|
CMD.NEXT.FILEEXEC
|
||||||
*--------------------------------------
|
lda (pData),y Y = StkPtr
|
||||||
* stack-4 CmdPtr
|
|
||||||
* stack-3 hPIPE
|
|
||||||
* stack-2 hVARNAME
|
|
||||||
* stack-1 FOR SUB TOKEN
|
|
||||||
* stack FOR TOKEN
|
|
||||||
*--------------------------------------
|
|
||||||
CMD.NEXT.EXEC lda (pData),y Y = StkPtr
|
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jsr CMD.NEXT.LINE
|
jsr CMD.NEXT.LINE
|
||||||
bcs .9
|
bcs .9
|
||||||
bpl .1 end of file/pipe
|
bpl .1 end of file/pipe
|
||||||
@ -1291,17 +1264,14 @@ CMD.NEXT.LINE lda (pData)
|
|||||||
>SYSCALL fgets
|
>SYSCALL fgets
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
>PUSHW ZPCLBuf
|
jsr CMD.READ.VAR.SET
|
||||||
>LDYA ZPVarNamePtr
|
|
||||||
>SYSCALL SetEnv
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #$80
|
lda #$80
|
||||||
* clc
|
* clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA ZPVarNamePtr
|
.8 jsr CMD.READ.VAR.UNSET
|
||||||
>SYSCALL UnSetEnv
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -657,8 +657,15 @@ CORE.StkPushYA phy
|
|||||||
|
|
||||||
CORE.StkPushYA.9
|
CORE.StkPushYA.9
|
||||||
plx
|
plx
|
||||||
|
CORE.StkPushYA.RTS
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CORE.PushVarName
|
||||||
|
>LDYA ZPVarNamePtr
|
||||||
|
>SYSCALL strdup
|
||||||
|
bcs CORE.StkPushYA.RTS
|
||||||
|
txa
|
||||||
|
*--------------------------------------
|
||||||
CORE.StkPush pha
|
CORE.StkPush pha
|
||||||
|
|
||||||
CORE.StkPush.1 lda (pData) StackPtr
|
CORE.StkPush.1 lda (pData) StackPtr
|
||||||
|
@ -38,8 +38,7 @@ C.DEFAULT .EQ 25
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
C.FOR .EQ 26
|
C.FOR .EQ 26
|
||||||
C.FOR.LIST .EQ 0
|
C.FOR.LIST .EQ 0
|
||||||
C.FOR.FILE .EQ 2
|
C.FOR.FILEEXEC .EQ 1
|
||||||
C.FOR.EXEC .EQ 4
|
|
||||||
C.WHILE .EQ 27
|
C.WHILE .EQ 27
|
||||||
C.IF .EQ 28
|
C.IF .EQ 28
|
||||||
C.NEXT .EQ 29
|
C.NEXT .EQ 29
|
||||||
@ -169,9 +168,6 @@ J.CMD .DA CMD...
|
|||||||
.DA CMD.ELSE
|
.DA CMD.ELSE
|
||||||
.DA CMD.FI
|
.DA CMD.FI
|
||||||
.DA CMD.END
|
.DA CMD.END
|
||||||
J.NEXT .DA CMD.NEXT.LIST
|
|
||||||
.DA CMD.NEXT.FILE
|
|
||||||
.DA CMD.NEXT.EXEC
|
|
||||||
L.CORE.IO .DA CORE.IO
|
L.CORE.IO .DA CORE.IO
|
||||||
J.CORE.IO .DA CORE.IO.AMP
|
J.CORE.IO .DA CORE.IO.AMP
|
||||||
.DA CORE.IO.IN
|
.DA CORE.IO.IN
|
||||||
|
@ -18,7 +18,6 @@ IO.OPEN.PIPE ldy #S.FD.PIPE.S
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
||||||
|
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
bmi .1 remote PS closed its end
|
bmi .1 remote PS closed its end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user