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

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