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

  1. ;
  2. ; SYSLIB Module Name:  S0FILE
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  2.0
  5. ; Module Version Number:  1.0
  6. ; Module Entry Points:
  7. ;    F0$GET        F0$PUT        FI0$CLOSE    FI0$OPEN
  8. ;    FO0$CLOSE    FO0$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 F0
  27. ;
  28. FI0$OPEN::
  29.     CALL    F0$COPY    ; COPY ADDRESSES
  30.     JMP    FI$OPEN    ; DO IT
  31. FO0$OPEN::
  32.     CALL    F0$COPY    ; COPY ADDRESSES
  33.     JMP    FO$OPEN
  34. F0$GET::
  35.     CALL    F0$COPY    ; COPY ADDRESSES
  36.     JMP    F$GET
  37. F0$PUT::
  38.     CALL    F0$COPY    ; COPY ADDRESSES
  39.     JMP    F$PUT
  40. FI0$CLOSE::
  41.     CALL    F0$COPY    ; COPY ADDRESSES
  42.     JMP    FI$CLOSE
  43. FO0$CLOSE::
  44.     CALL    F0$COPY    ; COPY ADDRESSES
  45.     JMP    FO$CLOSE
  46.  
  47. F0$COPY:
  48.     PUSH    H
  49.     PUSH    D
  50.     PUSH    B
  51.     PUSH    PSW
  52.     LXI    D,F0$TAB    ; COPY F0
  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 F0 ROUTINES
  62. ;
  63. I0$FLG:    DB    0    ; INPUT FILE OPENED FLAG (0=NO)
  64. O0$FLG:    DB    0    ; OUTPUT FILE OPENED FLAG (0=NO)
  65. I0$FCB:    DS    36    ; INPUT FILE FCB
  66. O0$FCB:    DS    36    ; OUTPUT FILE FCB
  67. I0$BUF:    DS    128    ; INPUT BUFFER
  68. O0$BUF:    DS    128    ; OUTPUT BUFFER
  69. I0$PTR:    DS    2    ; INPUT CHAR PTR
  70. O0$PTR:    DS    2    ; OUTPUT CHAR PTR
  71. I0$CNT:    DS    1    ; INPUT CHAR COUNT
  72. O0$CNT:    DS    1    ; OUTPUT CHAR COUNT
  73.  
  74. F0$TAB:
  75.     DW    I0$FLG
  76.     DW    O0$FLG
  77.     DW    I0$FCB
  78.     DW    O0$FCB
  79.     DW    I0$BUF
  80.     DW    O0$BUF
  81.     DW    I0$PTR
  82.     DW    O0$PTR
  83.     DW    I0$CNT
  84.     DW    O0$CNT
  85.  
  86.     END
  87.