home *** CD-ROM | disk | FTP | other *** search
- ;
- ; 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
-