home *** CD-ROM | disk | FTP | other *** search
- ; _TR_FS.ASM
- ;
- ; by Ralph Davis, Leonard Zerman
- ; modified by Rick Spence
- ;
- ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
- ;
-
- PUBLIC __TR_FS
-
-
- ;======================================
- ;
- ; Structure for information returned by function 4EH
- ;
- DTA STRUC
-
- DOS_RSRVD DB 21 DUP (?)
- F_ATTR DB (?)
- F_TIME DW (?)
- F_DATE DW ?
- F_SIZELOW DW ?
- F_SIZEHI DW ?
- FILENAME DB 13 DUP (?)
-
- DTA ENDS
-
- ;=======================================
-
- ;***************************************
- _DATA SEGMENT WORD PUBLIC 'DATA'
-
- FILE_PARMS DTA <>
-
- _DATA ENDS
- ;***************************************
-
- ;***************************************
- _TR_FS_TEXT SEGMENT BYTE PUBLIC 'CODE'
- ASSUME CS:_TR_FS_TEXT, DS:_DATA
- ;---------------------------------------
- ;
- ; SYNTAX: _tr_fs(filename);
- ;
- ; long _tr_fs();
- ; char *filename;
- ;
- ;--------------------
- __TR_FS PROC FAR
- PUSH BP
- MOV BP,SP
- PUSH CX
- PUSH SI
- PUSH DI
- PUSH DS
- PUSH ES
- MOV AX,_DATA
- MOV DS,AX
- MOV ES,AX
- PUSH DS
- MOV DX,OFFSET _DATA:FILE_PARMS
- MOV AH,1AH
- INT 21H ; Set DTA for function 4EH
- MOV AH,4EH
- XOR CX,CX
- LDS DX,[BP+6]
- INT 21H
- POP DS
-
- JNC FS2
-
- MOV AX,0FFFFH ; Return -1L for error
- MOV DX,AX
-
- JMP SHORT FS3
-
- FS2: MOV SI,OFFSET _DATA:FILE_PARMS.F_SIZELOW
- MOV AX,[SI]
- MOV DX,[SI+2]
-
- FS3:
- POP ES
- POP DS
- POP DI
- POP SI
- POP CX
- POP BP
- RET
- __TR_FS ENDP
- ;----------------------------------
- _TR_FS_TEXT ENDS
- ;**********************************
- END
-
-