A2osX/SBIN/SHELL.S.TXT.txt

118 lines
1.8 KiB
Plaintext
Raw Normal View History

2016-08-17 06:25:58 +00:00
PR#3
PREFIX /A2OSX.BUILD
2016-08-17 06:25:58 +00:00
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
TXT.Exec jsr TXT.GetBuffer
jsr TXT.GetChar
2016-08-17 06:25:58 +00:00
bcs .9
.11 cmp #' '
bne .10
jsr TXT.GetNextChar
bcc .11
2016-08-17 06:25:58 +00:00
bcs .9
.10 ldy #0
2016-08-17 06:25:58 +00:00
cmp #$0D
beq .2
2016-08-17 06:25:58 +00:00
.1 iny
sta (pData),y
cpy #CmdLine.MAX
2016-08-17 06:25:58 +00:00
beq .2
jsr TXT.GetNextChar
bcs .3
cmp #$0D
2016-08-17 06:25:58 +00:00
bne .1
.2 jsr TXT.GetNextChar Skip CR
.3 tya
sta (pData)
ldy #bEcho
2016-08-17 06:25:58 +00:00
lda (pData),y
beq .8
>PUSHW pData
>LDYA L.MSG.ECHO
>SYSCALL PPrintFYA
2016-08-17 06:25:58 +00:00
.8 clc
.9 rts
*--------------------------------------
TXT.GetBuffer ldy #hBatchFile
2016-08-17 06:25:58 +00:00
lda (pData),y
>SYSCALL GetMemPtrA
>STYA ZPBufBase
2016-08-17 06:25:58 +00:00
ldy #BatchFileLen
lda (pData),y
clc
adc ZPBufBase
sta ZPBufEnd
iny
lda (pData),y
adc ZPBufBase+1
sta ZPBufEnd+1
TXT.SetBufPtr ldy #BatchFilePtr
lda (pData),y
clc
adc ZPBufBase
sta ZPBufPtr
iny
lda (pData),y
adc ZPBufBase+1
sta ZPBufPtr+1
rts
*--------------------------------------
TXT.PushPtr
*--------------------------------------
TXT.GetNextChar phy
ldy #BatchFilePtr
lda (pData),y
inc
2016-08-17 06:25:58 +00:00
sta (pData),y
bne .1
iny
lda (pData),y
inc
sta (pData),y
.1 ply
inc ZPBufPtr
bne TXT.GetChar
inc ZPBufPtr+1
TXT.GetChar lda ZPBufPtr
eor ZPBufEnd
bne .1
lda ZPBufPtr+1
eor ZPBufEnd+1
bne .1
lda #MLI.ERR.EOF
sec
rts
.1 lda (ZPBufPtr)
clc
2016-08-17 06:25:58 +00:00
rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SBIN/SHELL.S.TXT
LOAD /A2OSX.SRC/SBIN/SHELL.S
2016-08-17 06:25:58 +00:00
ASM