-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDATEKYJ.asm
More file actions
155 lines (133 loc) · 2.28 KB
/
DATEKYJ.asm
File metadata and controls
155 lines (133 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
;Date Program (Date.asm)
.MODEL small
.STACK 100h
.386
.data
str1 BYTE "Date: "
str2 BYTE 0Ah,0Dh,"Time: "
year WORD ?
month BYTE ?
day BYTE ?
hour BYTE ?
min BYTE ?
sec BYTE ?
num DWORD ?
.code
dash PROC
mov ah,6
mov dl,"-"
int 21h
ret
dash ENDP
colon PROC
mov ah,6
mov dl,":"
int 21h
ret
colon ENDP
main PROC
mov ax,@data
mov ds,ax
;Display the date:
mov ah,40h
mov bx,1
mov cx,SIZEOF str1
mov dx,OFFSET str1
int 21h
mov ah,2ah
int 21h
mov year,0
mov year,cx
mov month,dh
mov day,dl
movzx eax,year
mov edx,0
mov ebx,10
div ebx
add edx,48
push edx
;cwd
div ebx
call dash
movzx ax,month
mov dx,0
mov bx,10
div bx
add dx,48
push dx
add ax,48
mov ah,02h
mov dl,al
int 21h
pop dx
mov dl,dl
int 21h
call dash
movzx ax,day
mov dx,0
mov bx,10
div bx
add dx,48
push dx
add ax,48
mov ah,02h
mov dl,al
int 21h
pop edx
mov dl,dl
int 21h
;Display the time:
mov ah,40h
mov bx,1
mov cx,SIZEOF str2
mov dx,OFFSET str2
int 21h
mov ah,2ch
int 21h
mov hour,ch
mov min,cl
mov sec,dh
movzx ax,hour
mov dx,0
mov bx,10
div bx
add dx,48
push dx
add ax,48
mov ah,02h
mov dl,al
int 21h
pop dx
mov dl,dl
int 21h
call colon
movzx ax,min
mov dx,0
mov bl,10
div bl
add dx,48
push dx
add ax, 48
mov ah,02h
mov dl,al
int 21h
pop dx
mov dl,dl
int 21h
call colon
movzx ax,sec
mov bl,10
div bl
add ah,48
push ax
add al,48
mov ah,02h
mov dl,al
int 21h
pop ax
mov dl,ah
mov ah,02h
int 21h
.EXIT
main ENDP
END main