]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/GET_TOD.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / MAPPER / GET_TOD.ASM
1 ;
2 page 80,132
3 ;
4 title CP/DOS DosGetDateTime mapper
5 ;
6 dosxxx segment byte public 'dos'
7 assume cs:dosxxx,ds:nothing,es:nothing,ss:nothing
8 ;
9 ;**********************************************************************
10 ;*
11 ;* MODULE: dosgetdatetime
12 ;*
13 ;* FUNCTION: get date and time information
14 ;*
15 ;* CALLING SEQUENCE:
16 ;*
17 ;* push@ struc date/time
18 ;* call dosgetdatetime
19 ;*
20 ;* MODULES CALLED: PC-DOS Int 21h, ah=2ah, get date
21 ;* ah=2ch, get time
22 ;*
23 ;*********************************************************************
24
25 public dosgetdatetime
26 .sall
27 include macros.inc
28
29 str struc
30 old_bp dw ?
31 return dd ?
32 data dd ? ; date and time info return pointer
33 str ends
34
35 dosgetdatetime proc far
36
37 Enter dosgetdatetime ; push registers
38
39 lds si,[bp].data ; set return data area
40
41 mov ah,2ch ; get time information
42 int 21h
43 ; save info in return data are
44 mov byte ptr [si],ch ; save hour
45 mov byte ptr [si]+1,cl ; minutes
46 mov byte ptr [si]+2,dh ; seconds
47 mov byte ptr [si]+3,dl ; hundredths
48
49 mov ah,2ah ; get date and save it
50 int 21h ; in return data area
51
52 mov byte ptr [si]+4,dl ; save day
53 mov byte ptr [si]+5,dh ; month
54 mov word ptr [si]+6,cx ; year
55 mov word ptr [si]+8,360 ; min. from GMT
56 mov byte ptr [si]+10,al ; day of week
57
58 exit: sub ax,ax ; set good return code
59
60 Mexit ; pop registers
61 ret size str - 6 ; return
62
63 dosgetdatetime endp
64
65 dosxxx ends
66
67 end