; ; 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