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