home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol090 / sinitfcb.mac < prev    next >
Encoding:
Text File  |  1984-04-29  |  878 b   |  48 lines

  1. ;
  2. ; SYSLIB Module Name:  SINITF
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  2.0
  5. ; Module Version Number:  1.0
  6. ; Module Entry Points:
  7. ;    INITFCB
  8. ; Module External References:
  9. ;    FILLB
  10. ;
  11.  
  12. ;
  13. ;  INITFCB -- GIVEN AN FCB PTED TO BY DE, INIT FCB FIELDS OTHER THAN FN
  14. ;    AND FT (FILE NAME AND FILE TYPE), TO ZERO; FCB MUST BE AT TOTAL OF
  15. ;    36 BYTES IN LENGTH (0=DR TO 35=R2)
  16. ;
  17. ;  ON RETURN, NO ERROR CODE RETURNED AND NO REGISTERS AFFECTED
  18. ;
  19.  
  20.     EXT    FILLB    ; SYSLIB FILL ROUTINE (USE B REG)
  21.  
  22. PUTRG    MACRO
  23.     PUSH    B    ; SAVE BC, DE, HL
  24.     PUSH    D
  25.     PUSH    H
  26.     ENDM
  27. GETRG    MACRO
  28.     POP    H    ; RESTORE HL, DE, BC
  29.     POP    D
  30.     POP    B
  31.     ENDM
  32.  
  33. INITFCB::
  34.     PUTRG        ; SAVE REGISTERS
  35.     PUSH    PSW    ; SAVE A
  36.     XCHG        ; HL PTS TO FCB
  37.     XRA    A    ; A=0
  38.     MOV    M,A    ; SET DR FIELD TO ZERO
  39.     LXI    D,12    ; PT TO EX FIELD
  40.     DAD    D
  41.     MVI    B,24    ; CLEAR NEXT 24 BYTES
  42.     CALL    FILLB    ; USE SYSLIB ROUTINE
  43.     POP    PSW    ; GET A
  44.     GETRG        ; GET REGISTERS
  45.     RET
  46.  
  47.     END
  48.