; ; SYSLIB Module Name: S2FILE ; Author: Richard Conn ; SYSLIB Version Number: 2.0 ; Module Version Number: 1.0 ; Module Entry Points: ; F2$GET F2$PUT FI2$CLOSE FI2$OPEN ; FO2$CLOSE FO2$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 F2 ; FI2$OPEN:: CALL F2$COPY ; COPY ADDRESSES JMP FI$OPEN ; DO IT FO2$OPEN:: CALL F2$COPY ; COPY ADDRESSES JMP FO$OPEN F2$GET:: CALL F2$COPY ; COPY ADDRESSES JMP F$GET F2$PUT:: CALL F2$COPY ; COPY ADDRESSES JMP F$PUT FI2$CLOSE:: CALL F2$COPY ; COPY ADDRESSES JMP FI$CLOSE FO2$CLOSE:: CALL F2$COPY ; COPY ADDRESSES JMP FO$CLOSE F2$COPY: PUSH H PUSH D PUSH B PUSH PSW LXI D,F2$TAB ; COPY F2 CALL ADRCPY POP PSW POP B POP D POP H RET ; ; INIT TABLE AND BUFFERS FOR F2 ROUTINES ; I2$FLG: DB 0 ; INPUT FILE OPENED FLAG (0=NO) O2$FLG: DB 0 ; OUTPUT FILE OPENED FLAG (0=NO) I2$FCB: DS 36 ; INPUT FILE FCB O2$FCB: DS 36 ; OUTPUT FILE FCB I2$BUF: DS 128 ; INPUT BUFFER O2$BUF: DS 128 ; OUTPUT BUFFER I2$PTR: DS 2 ; INPUT CHAR PTR O2$PTR: DS 2 ; OUTPUT CHAR PTR I2$CNT: DS 1 ; INPUT CHAR COUNT O2$CNT: DS 1 ; OUTPUT CHAR COUNT F2$TAB: DW I2$FLG DW O2$FLG DW I2$FCB DW O2$FCB DW I2$BUF DW O2$BUF DW I2$PTR DW O2$PTR DW I2$CNT DW O2$CNT END