summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/GET_TOD.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/MAPPER/GET_TOD.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/MAPPER/GET_TOD.ASM')
-rw-r--r--v4.0/src/MAPPER/GET_TOD.ASM67
1 files changed, 67 insertions, 0 deletions
diff --git a/v4.0/src/MAPPER/GET_TOD.ASM b/v4.0/src/MAPPER/GET_TOD.ASM
new file mode 100644
index 0000000..d6c390f
--- /dev/null
+++ b/v4.0/src/MAPPER/GET_TOD.ASM
@@ -0,0 +1,67 @@
1;
2page 80,132
3;
4title CP/DOS DosGetDateTime mapper
5;
6dosxxx 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
29str struc
30old_bp dw ?
31return dd ?
32data dd ? ; date and time info return pointer
33str ends
34
35dosgetdatetime 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
58exit: sub ax,ax ; set good return code
59
60 Mexit ; pop registers
61 ret size str - 6 ; return
62
63dosgetdatetime endp
64
65dosxxx ends
66
67 end