home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol089
/
s0fileio.mac
< prev
next >
Wrap
Text File
|
1984-04-29
|
1KB
|
87 lines
;
; SYSLIB Module Name: S0FILE
; Author: Richard Conn
; SYSLIB Version Number: 2.0
; Module Version Number: 1.0
; Module Entry Points:
; F0$GET F0$PUT FI0$CLOSE FI0$OPEN
; FO0$CLOSE FO0$OPEN
; Module External References:
; ADRCPY F$GET F$PUT FI$CLOSE
; FI$OPEN FO$CLOSE FO$OPEN
;
;
; EXTERNAL DECLARATIONS
;
EXT ADRCPY
EXT FI$OPEN
EXT FO$OPEN
EXT FI$CLOSE
EXT FO$CLOSE
EXT F$GET
EXT F$PUT
;
; MAIN ROUTINES FOR F0
;
FI0$OPEN::
CALL F0$COPY ; COPY ADDRESSES
JMP FI$OPEN ; DO IT
FO0$OPEN::
CALL F0$COPY ; COPY ADDRESSES
JMP FO$OPEN
F0$GET::
CALL F0$COPY ; COPY ADDRESSES
JMP F$GET
F0$PUT::
CALL F0$COPY ; COPY ADDRESSES
JMP F$PUT
FI0$CLOSE::
CALL F0$COPY ; COPY ADDRESSES
JMP FI$CLOSE
FO0$CLOSE::
CALL F0$COPY ; COPY ADDRESSES
JMP FO$CLOSE
F0$COPY:
PUSH H
PUSH D
PUSH B
PUSH PSW
LXI D,F0$TAB ; COPY F0
CALL ADRCPY
POP PSW
POP B
POP D
POP H
RET
;
; INIT TABLE AND BUFFERS FOR F0 ROUTINES
;
I0$FLG: DB 0 ; INPUT FILE OPENED FLAG (0=NO)
O0$FLG: DB 0 ; OUTPUT FILE OPENED FLAG (0=NO)
I0$FCB: DS 36 ; INPUT FILE FCB
O0$FCB: DS 36 ; OUTPUT FILE FCB
I0$BUF: DS 128 ; INPUT BUFFER
O0$BUF: DS 128 ; OUTPUT BUFFER
I0$PTR: DS 2 ; INPUT CHAR PTR
O0$PTR: DS 2 ; OUTPUT CHAR PTR
I0$CNT: DS 1 ; INPUT CHAR COUNT
O0$CNT: DS 1 ; OUTPUT CHAR COUNT
F0$TAB:
DW I0$FLG
DW O0$FLG
DW I0$FCB
DW O0$FCB
DW I0$BUF
DW O0$BUF
DW I0$PTR
DW O0$PTR
DW I0$CNT
DW O0$CNT
END