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

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *    Turbo Pascal Runtime Library Version 5.5    *
  5. ; *    Time Pack and Unpack Routines            *
  6. ; *                            *
  7. ; *    Copyright (C) 1988,89 Borland International    *
  8. ; *                            *
  9. ; *******************************************************
  10.  
  11.     TITLE    PTIM
  12.  
  13. CODE    SEGMENT    BYTE PUBLIC
  14.  
  15.     ASSUME    CS:CODE
  16.  
  17.     PUBLIC    UnpackTime
  18.  
  19. UnpackTime    PROC    FAR
  20.  
  21. TimeH        EQU    (WORD PTR [BP+12])
  22. TimeL        EQU    (WORD PTR [BP+10])
  23. TimeRecP    EQU    (DWORD PTR [BP+6])
  24.  
  25.     PUSH    BP
  26.     MOV    BP,SP
  27.     LES    DI,TimeRecP
  28.     CLD
  29.     MOV    AX,TimeH
  30.     MOV    CL,9
  31.     SHR    AX,CL
  32.     ADD    AX,1980
  33.     STOSW
  34.     MOV    AX,TimeH
  35.     MOV    CL,5
  36.     SHR    AX,CL
  37.     AND    AX,15
  38.     STOSW
  39.     MOV    AX,TimeH
  40.     AND    AX,31
  41.     STOSW
  42.     MOV    AX,TimeL
  43.     MOV    CL,11
  44.     SHR    AX,CL
  45.     STOSW
  46.     MOV    AX,TimeL
  47.     MOV    CL,5
  48.     SHR    AX,CL
  49.     AND    AX,63
  50.     STOSW
  51.     MOV    AX,TimeL
  52.     AND    AX,31
  53.     SHL    AX,1
  54.     STOSW
  55.     POP    BP
  56.     RET    8
  57.  
  58. UnpackTime    ENDP
  59.  
  60.     PUBLIC    PackTime
  61.  
  62. PackTime    PROC    FAR
  63.  
  64. TimeRecP    EQU    (DWORD PTR [BP+10])
  65. TimeP        EQU    (DWORD PTR [BP+6])
  66.  
  67.     PUSH    BP
  68.     MOV    BP,SP
  69.     PUSH    DS
  70.     LDS    SI,TimeRecP
  71.     CLD
  72.     LODSW
  73.     SUB    AX,1980
  74.     MOV    CL,9
  75.     SHL    AX,CL
  76.     XCHG    AX,DX
  77.     LODSW
  78.     MOV    CL,5
  79.     SHL    AX,CL
  80.     ADD    DX,AX
  81.     LODSW
  82.     ADD    DX,AX
  83.     LODSW
  84.     MOV    CL,11
  85.     SHL    AX,CL
  86.     XCHG    AX,BX
  87.     LODSW
  88.     MOV    CL,5
  89.     SHL    AX,CL
  90.     ADD    BX,AX
  91.     LODSW
  92.     SHR    AX,1
  93.     ADD    AX,BX
  94.     POP    DS
  95.     LES    DI,TimeP
  96.     STOSW
  97.     XCHG    AX,DX
  98.     STOSW
  99.     POP    BP
  100.     RET    8
  101.  
  102. PackTime    ENDP
  103.  
  104. CODE    ENDS
  105.  
  106.     END
  107.