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

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *    Turbo Pascal Runtime Library Version 5.5    *
  5. ; *    Date and Time Routines                *
  6. ; *                            *
  7. ; *    Copyright (C) 1988,89 Borland International    *
  8. ; *                            *
  9. ; *******************************************************
  10.  
  11.     TITLE    TIME
  12.  
  13. CODE    SEGMENT    BYTE PUBLIC
  14.  
  15.     ASSUME    CS:CODE
  16.  
  17.     PUBLIC    GetDate
  18.  
  19. GetDate        PROC    FAR
  20.  
  21. YearP        EQU    (DWORD PTR [BP+18])
  22. MonthP        EQU    (DWORD PTR [BP+14])
  23. DayP        EQU    (DWORD PTR [BP+10])
  24. DayOfWeekP    EQU    (DWORD PTR [BP+6])
  25.  
  26.     PUSH    BP
  27.     MOV    BP,SP
  28.     MOV    AH,2AH
  29.     INT    21H
  30.     XOR    AH,AH
  31.     LES    DI,DayOfWeekP
  32.     STOSW
  33.     MOV    AL,DL
  34.     LES    DI,DayP
  35.     STOSW
  36.     MOV    AL,DH
  37.     LES    DI,MonthP
  38.     STOSW
  39.     XCHG    AX,CX
  40.     LES    DI,YearP
  41.     STOSW
  42.     POP    BP
  43.     RET    16
  44.  
  45. GetDate        ENDP
  46.  
  47.     PUBLIC    SetDate
  48.  
  49. SetDate        PROC    FAR
  50.  
  51. Year        EQU    (WORD PTR [BP+10])
  52. Month        EQU    (BYTE PTR [BP+8])
  53. Day        EQU    (BYTE PTR [BP+6])
  54.  
  55.     PUSH    BP
  56.     MOV    BP,SP
  57.     MOV    CX,Year
  58.     MOV    DH,Month
  59.     MOV    DL,Day
  60.     MOV    AH,2BH
  61.     INT    21H
  62.     POP    BP
  63.     RET    6
  64.  
  65. SetDate        ENDP
  66.  
  67.     PUBLIC    GetTime
  68.  
  69. GetTime        PROC    FAR
  70.  
  71. HourP        EQU    (DWORD PTR [BP+18])
  72. MinuteP        EQU    (DWORD PTR [BP+14])
  73. SecondP        EQU    (DWORD PTR [BP+10])
  74. Sec100P        EQU    (DWORD PTR [BP+6])
  75.  
  76.     PUSH    BP
  77.     MOV    BP,SP
  78.     MOV    AH,2CH
  79.     INT    21H
  80.     XOR    AH,AH
  81.     MOV    AL,DL
  82.     LES    DI,Sec100P
  83.     STOSW
  84.     MOV    AL,DH
  85.     LES    DI,SecondP
  86.     STOSW
  87.     MOV    AL,CL
  88.     LES    DI,MinuteP
  89.     STOSW
  90.     MOV    AL,CH
  91.     LES    DI,HourP
  92.     STOSW
  93.     POP    BP
  94.     RET    16
  95.  
  96. GetTime        ENDP
  97.  
  98.     PUBLIC    SetTime
  99.  
  100. SetTime        PROC    FAR
  101.  
  102. Hour        EQU    (BYTE PTR [BP+12])
  103. Minute        EQU    (BYTE PTR [BP+10])
  104. Second        EQU    (BYTE PTR [BP+8])
  105. Sec100        EQU    (BYTE PTR [BP+6])
  106.  
  107.     PUSH    BP
  108.     MOV    BP,SP
  109.     MOV    CH,Hour
  110.     MOV    CL,Minute
  111.     MOV    DH,Second
  112.     MOV    DL,Sec100
  113.     MOV    AH,2DH
  114.     INT    21H
  115.     POP    BP
  116.     RET    8
  117.  
  118. SetTime        ENDP
  119.  
  120. CODE    ENDS
  121.  
  122.     END
  123.