home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol089 / s3fileio.mac < prev    next >
Text File  |  1984-04-29  |  1KB  |  87 lines

  1. ;
  2. ; SYSLIB Module Name:  S3FILE
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  2.0
  5. ; Module Version Number:  1.0
  6. ; Module Entry Points:
  7. ;    F3$GET        F3$PUT        FI3$CLOSE    FI3$OPEN
  8. ;    FO3$CLOSE    FO3$OPEN
  9. ; Module External References:
  10. ;    ADRCPY        F$GET        F$PUT        FI$CLOSE
  11. ;    FI$OPEN        FO$CLOSE    FO$OPEN
  12. ;
  13.  
  14. ;
  15. ;  EXTERNAL DECLARATIONS
  16. ;
  17.     EXT    ADRCPY
  18.     EXT    FI$OPEN
  19.     EXT    FO$OPEN
  20.     EXT    FI$CLOSE
  21.     EXT    FO$CLOSE
  22.     EXT    F$GET
  23.     EXT    F$PUT
  24.  
  25. ;
  26. ;  MAIN ROUTINES FOR F3
  27. ;
  28. FI3$OPEN::
  29.     CALL    F3$COPY    ; COPY ADDRESSES
  30.     JMP    FI$OPEN    ; DO IT
  31. FO3$OPEN::
  32.     CALL    F3$COPY    ; COPY ADDRESSES
  33.     JMP    FO$OPEN
  34. F3$GET::
  35.     CALL    F3$COPY    ; COPY ADDRESSES
  36.     JMP    F$GET
  37. F3$PUT::
  38.     CALL    F3$COPY    ; COPY ADDRESSES
  39.     JMP    F$PUT
  40. FI3$CLOSE::
  41.     CALL    F3$COPY    ; COPY ADDRESSES
  42.     JMP    FI$CLOSE
  43. FO3$CLOSE::
  44.     CALL    F3$COPY    ; COPY ADDRESSES
  45.     JMP    FO$CLOSE
  46.  
  47. F3$COPY:
  48.     PUSH    H
  49.     PUSH    D
  50.     PUSH    B
  51.     PUSH    PSW
  52.     LXI    D,F3$TAB    ; COPY F3
  53.     CALL    ADRCPY
  54.     POP    PSW
  55.     POP    B
  56.     POP    D
  57.     POP    H
  58.     RET
  59.  
  60. ;
  61. ;  INIT TABLE AND BUFFERS FOR F3 ROUTINES
  62. ;
  63. I3$FLG:    DB    0    ; INPUT FILE OPENED FLAG (0=NO)
  64. O3$FLG:    DB    0    ; OUTPUT FILE OPENED FLAG (0=NO)
  65. I3$FCB:    DS    36    ; INPUT FILE FCB
  66. O3$FCB:    DS    36    ; OUTPUT FILE FCB
  67. I3$BUF:    DS    128    ; INPUT BUFFER
  68. O3$BUF:    DS    128    ; OUTPUT BUFFER
  69. I3$PTR:    DS    2    ; INPUT CHAR PTR
  70. O3$PTR:    DS    2    ; OUTPUT CHAR PTR
  71. I3$CNT:    DS    1    ; INPUT CHAR COUNT
  72. O3$CNT:    DS    1    ; OUTPUT CHAR COUNT
  73.  
  74. F3$TAB:
  75.     DW    I3$FLG
  76.     DW    O3$FLG
  77.     DW    I3$FCB
  78.     DW    O3$FCB
  79.     DW    I3$BUF
  80.     DW    O3$BUF
  81.     DW    I3$PTR
  82.     DW    O3$PTR
  83.     DW    I3$CNT
  84.     DW    O3$CNT
  85.  
  86.     END
  87.