home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol157 / initfcb.a86 < prev    next >
Encoding:
Text File  |  1985-03-14  |  721 b   |  36 lines

  1.     TITLE    'INITIALIZE FCB'
  2.     PUBLIC    INITFCB
  3.     NAME    'INITFCB'
  4. ;
  5. ;INITFCB - INITIALIZES THE FCB TO ZERO BUT DOES NOT DISTURB THE DISK
  6. ;    DESIGNATOR OR FILENAME AND EXTENSION.
  7. ;ON ENTRY    DX-->FCB  (MUST BE IN DATA SEGMENT)
  8. ;ON EXIT    NO REGISTERS ARE DISTURBED FCB IS CLEARED AS ABOVE.
  9. ;
  10.  
  11.     CSEG
  12.  
  13. FCBLEN    EQU    36    ;SIZE OF FCB
  14. FNLENGTH EQU    12    ;COMPLETE FILENAME DESIGNATOR SIZE
  15.  
  16. INITFCB: PUSH    AX
  17.     PUSHF        ;PRESERVE DIRECTION FLAG
  18.     PUSH    CX
  19.     PUSH    DI
  20.     PUSH    ES
  21.     MOV    AX,DS    ;MAKE EXTRA SEGMENT POINT TO DATA SEGMENT
  22.     MOV    ES,AX
  23.     MOV    CX,FCBLEN-FNLENGTH/2
  24.     XOR    AX,AX    ;MAKE A=0
  25.     MOV    DI,DX    ;DX-->FCB ADDRESS
  26.     ADD    DI,FNLENGTH    ;PASS FILE NAME
  27.     CLD
  28.     REP STOSW
  29.     POP    ES    ;RESORE EVERYTHING
  30.     POP    DI
  31.     POP    CX
  32.     POPF
  33.     POP    AX
  34.     RET        ;RETURN IN THIS SEGMENT
  35.     END
  36.