home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / pascal / tplib21.zip / INSTALL.EXE / DATE.ASM < prev    next >
Assembly Source File  |  1993-06-24  |  2KB  |  62 lines

  1. ;               TURBO PASCAL LIBRARY 2.1
  2. ;               Date routines module
  3.  
  4.                 TITLE   UNIT TIME:  Date routines module
  5.                 PAGE    66,132
  6.                 %BIN    12
  7.  
  8. CODE            SEGMENT WORD
  9.                 ASSUME  CS:CODE
  10.                 LOCALS
  11.                 PUBLIC  SETCOUNTRY,GETTODAY
  12.                 EXTRN   BRITISHFORMAT: BYTE;
  13.  
  14.  
  15. ;               PROCEDURE SetCountry
  16. ;               Call DOS to set BritishFormat flag if DMY date format required
  17.  
  18. SETCOUNTRY      PROC    NEAR
  19.                 PUSH    BP
  20.                 PUSH    DS
  21.                 SUB     SP,22H                  ; Allocate space for buffer
  22.                 MOV     AX,SS
  23.                 MOV     DS,AX                   ; Point DS:DX to local storage
  24.                 MOV     DX,SP
  25.                 MOV     AX,3800H                ; Call DOS to get information
  26.                 INT     21H
  27.                 MOV     BP,SP
  28.                 MOV     AX,[BP]                 ; Get date format code in AX
  29.                 ADD     SP,22H                  ; Dispose of local buffer
  30.                 AND     AL,01H
  31.                 POP     DS
  32.                 POP     BP
  33.                 MOV     DS:[BRITISHFORMAT],AL   ; Store flag
  34.                 RET
  35. SETCOUNTRY      ENDP
  36.  
  37.  
  38. ;               PROCEDURE GetToDay (VAR Dt: DateRec)
  39. ;               Return system date in Dt
  40.  
  41. GETTODAY        PROC    FAR
  42.                 PUSH    BP
  43.                 MOV     AH,2AH                  ; Call DOS to get system date
  44.                 INT     21H
  45.                 POP     BP
  46.                 POP     AX                      ; Get return addr. from stack
  47.                 POP     BX
  48.                 POP     DI                      ; Point ES:DI to Dt record
  49.                 POP     ES
  50.                 PUSH    BX
  51.                 PUSH    AX                      ; Replace return address
  52.                 MOV     ES:[DI],DH              ; Month
  53.                 MOV     ES:[DI+1],DL            ; Day
  54.                 MOV     ES:[DI+2],CX            ; Year
  55.                 RET
  56. GETTODAY        ENDP
  57.  
  58. CODE            ENDS
  59.  
  60.                 END
  61.  
  62.