A2osX/BIN/CC.S.FIO.txt

132 lines
1.9 KiB
Plaintext
Raw Normal View History

2022-08-20 14:37:37 +00:00
NEW
AUTO 3,1
*--------------------------------------
CC.FIO.FOpen1st >LDA.G CC.InFileArg
>SYSCALL ArgV
CC.FIO.FOpen phy
pha
>PUSHW L.MSG.READING
pla
pha
>PUSHYA
>PUSHBI 2
>SYSCALL PrintF
pla
ply
>PUSHYA
>PUSHBI O.RDONLY
>PUSHBI S.FI.T.TXT
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
tax
>LDA.G hFilePtr
inc
sta (pData),y
tay
txa
sta (pData),y
>LDA.G LineCntPtr
inc
inc
sta (pData),y
tay
lda #0
sta (pData),y
iny
sta (pData),y
.9 rts
*--------------------------------------
CC.FIO.FGetS >LDYA.G LineBufPtr
>STYA ZPLineBufPtr
>LDA.G LineCntPtr
tay
lda (pData),y
inc
sta (pData),y
bne .1
iny
lda (pData),y
inc
sta (pData),y
.1 >LDA.G hFilePtr
tay
lda (pData),y
>PUSHA
>PUSHW ZPLineBufPtr
>PUSHWI 255
>SYSCALL FGetS
bcs .9
>LDA.G bTrace
bpl .8
jsr PrintTraceMsg
.8
.9 rts
*--------------------------------------
CC.FIO.FClose >LDA.G hFilePtr
cmp #hFilePtr
beq .8
tay
lda (pData),y
>SYSCALL FClose
>LDA.G hFilePtr
dec
sta (pData),y
cmp #hFilePtr
beq .8
>LDA.G LineCntPtr
dec
dec
sta (pData),y NZ
.8 rts
*--------------------------------------
CC.FIO.FCreate >LDA.G CC.OutFileArg
>SYSCALL ArgV
>STYA ZPPtr1
>PUSHW L.MSG.GENERATING
>PUSHW ZPPtr1
>PUSHBI 2
>SYSCALL PrintF
>PUSHW ZPPtr1
>PUSHBI O.WRONLY+O.CREATE
>PUSHBI S.FI.T.BIN
>PUSHWI $2000 Aux type
>SYSCALL FOpen
bcs .9
>STA.G CC.hOutFile
>PUSHA A = CC.hOutFile
>PUSHW L.PCC.FH
>PUSHWI PCC.FH.L
>SYSCALL FWrite
.9 rts
*--------------------------------------
MAN
SAVE usr/src/bin/cc.s.fio
LOAD usr/src/bin/cc.s
ASM