home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l040 / 13.ddi / RTLDOS.ZIP / FATR.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-10-28  |  1.1 KB  |  80 lines

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *    Turbo Pascal Runtime Library Version 5.5    *
  5. ; *    File Attribute Routines                *
  6. ; *                            *
  7. ; *    Copyright (C) 1988,89 Borland International    *
  8. ; *                            *
  9. ; *******************************************************
  10.  
  11.     TITLE    FATR
  12.  
  13.     LOCALS    @@
  14.  
  15. DATA    SEGMENT    WORD PUBLIC
  16.  
  17.     EXTRN    DosError:WORD
  18.  
  19. DATA    ENDS
  20.  
  21. CODE    SEGMENT    BYTE PUBLIC
  22.  
  23.     ASSUME    CS:CODE,DS:DATA
  24.  
  25.     PUBLIC    GetFAttr
  26.  
  27. GetFAttr    PROC    FAR
  28.  
  29. FileP        EQU    (DWORD PTR [BP+10])
  30. AttrP        EQU    (DWORD PTR [BP+6])
  31.  
  32.     PUSH    BP
  33.     MOV    BP,SP
  34.     PUSH    DS
  35.     LDS    DX,FileP
  36.     ADD    DX,48
  37.     MOV    AX,4300H
  38.     INT    21H
  39.     POP    DS
  40.     JNC    @@1
  41.     XOR    CX,CX
  42.     JMP    SHORT @@2
  43. @@1:    XOR    AX,AX
  44. @@2:    MOV    DosError,AX
  45.     LES    DI,AttrP
  46.     XCHG    AX,CX
  47.     STOSW
  48.     POP    BP
  49.     RET    8
  50.  
  51. GetFAttr    ENDP
  52.  
  53.     PUBLIC    SetFAttr
  54.  
  55. SetFAttr    PROC    FAR
  56.  
  57. FileP        EQU    (DWORD PTR [BP+8])
  58. Attr        EQU    (WORD PTR [BP+6])
  59.  
  60.     PUSH    BP
  61.     MOV    BP,SP
  62.     PUSH    DS
  63.     LDS    DX,FileP
  64.     ADD    DX,48
  65.     MOV    CX,Attr
  66.     MOV    AX,4301H
  67.     INT    21H
  68.     POP    DS
  69.     JC    @@1
  70.     XOR    AX,AX
  71. @@1:    MOV    DosError,AX
  72.     POP    BP
  73.     RET    6
  74.  
  75. SetFAttr    ENDP
  76.  
  77. CODE    ENDS
  78.  
  79.     END
  80.