home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / rettig.zip / TRSOURCE.EXE / _TR_FS.ASM < prev    next >
Assembly Source File  |  1990-10-22  |  2KB  |  95 lines

  1. ; _TR_FS.ASM
  2. ;
  3. ; by Ralph Davis, Leonard Zerman
  4. ; modified by Rick Spence
  5. ;
  6. ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
  7. ;
  8.  
  9.          PUBLIC   __TR_FS
  10.  
  11.  
  12. ;======================================
  13. ;
  14. ; Structure for information returned by function 4EH
  15. ;
  16. DTA       STRUC
  17.  
  18. DOS_RSRVD DB    21 DUP (?)
  19. F_ATTR    DB    (?)
  20. F_TIME    DW    (?)
  21. F_DATE    DW    ?
  22. F_SIZELOW DW    ?
  23. F_SIZEHI  DW    ?
  24. FILENAME  DB    13 DUP (?)
  25.  
  26. DTA       ENDS
  27.  
  28. ;=======================================
  29.  
  30. ;***************************************
  31. _DATA  SEGMENT WORD PUBLIC 'DATA'
  32.  
  33. FILE_PARMS DTA   <>
  34.  
  35. _DATA  ENDS
  36. ;***************************************
  37.  
  38. ;***************************************
  39. _TR_FS_TEXT SEGMENT BYTE PUBLIC 'CODE'
  40.          ASSUME   CS:_TR_FS_TEXT, DS:_DATA
  41. ;---------------------------------------
  42. ;
  43. ;  SYNTAX:  _tr_fs(filename);
  44. ;
  45. ;    long _tr_fs();
  46. ;    char *filename;
  47. ;
  48. ;--------------------
  49. __TR_FS   PROC    FAR
  50.           PUSH    BP
  51.           MOV     BP,SP
  52.           PUSH    CX
  53.           PUSH    SI
  54.           PUSH    DI
  55.           PUSH    DS
  56.           PUSH    ES
  57.           MOV     AX,_DATA
  58.           MOV     DS,AX
  59.           MOV     ES,AX
  60.           PUSH    DS
  61.           MOV     DX,OFFSET _DATA:FILE_PARMS
  62.           MOV     AH,1AH
  63.           INT     21H         ; Set DTA for function 4EH
  64.           MOV     AH,4EH
  65.           XOR     CX,CX
  66.           LDS     DX,[BP+6]
  67.           INT     21H
  68.           POP     DS
  69.  
  70.           JNC     FS2
  71.  
  72.           MOV     AX,0FFFFH   ; Return -1L for error
  73.           MOV     DX,AX
  74.  
  75.           JMP     SHORT FS3
  76.  
  77. FS2:      MOV     SI,OFFSET _DATA:FILE_PARMS.F_SIZELOW
  78.           MOV     AX,[SI]
  79.           MOV     DX,[SI+2]
  80.  
  81. FS3:
  82.           POP     ES
  83.           POP     DS
  84.           POP     DI
  85.           POP     SI
  86.           POP     CX
  87.           POP     BP
  88.           RET
  89. __TR_FS   ENDP
  90. ;----------------------------------
  91. _TR_FS_TEXT    ENDS
  92. ;**********************************
  93.           END
  94.  
  95.