home *** CD-ROM | disk | FTP | other *** search
- TITLE 'INITIALIZE FCB'
- PUBLIC INITFCB
- NAME 'INITFCB'
- ;
- ;INITFCB - INITIALIZES THE FCB TO ZERO BUT DOES NOT DISTURB THE DISK
- ; DESIGNATOR OR FILENAME AND EXTENSION.
- ;ON ENTRY DX-->FCB (MUST BE IN DATA SEGMENT)
- ;ON EXIT NO REGISTERS ARE DISTURBED FCB IS CLEARED AS ABOVE.
- ;
-
- CSEG
-
- FCBLEN EQU 36 ;SIZE OF FCB
- FNLENGTH EQU 12 ;COMPLETE FILENAME DESIGNATOR SIZE
-
- INITFCB: PUSH AX
- PUSHF ;PRESERVE DIRECTION FLAG
- PUSH CX
- PUSH DI
- PUSH ES
- MOV AX,DS ;MAKE EXTRA SEGMENT POINT TO DATA SEGMENT
- MOV ES,AX
- MOV CX,FCBLEN-FNLENGTH/2
- XOR AX,AX ;MAKE A=0
- MOV DI,DX ;DX-->FCB ADDRESS
- ADD DI,FNLENGTH ;PASS FILE NAME
- CLD
- REP STOSW
- POP ES ;RESORE EVERYTHING
- POP DI
- POP CX
- POPF
- POP AX
- RET ;RETURN IN THIS SEGMENT
- END
-