-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathano_DECIMAL.asm
More file actions
247 lines (202 loc) · 4.02 KB
/
Copy pathano_DECIMAL.asm
File metadata and controls
247 lines (202 loc) · 4.02 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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
;CODIGO PARA LA IMPRESION DE LA FECHA
;CX = ANIO DH = MES DL = DIA AL = DIA DE LA SEMANA
IMP_CAD MACRO TXT
MOV AH, 09H ;IMPRESION DE TXT
LEA DX, TXT
INT 21H
IMP_CAD ENDM
CODE:
MOV AH, 00H ;SERVICIO PARA ESTABLECER EL MODO DE VIDEO
MOV AL, 02H ;= Modo de video 80X25
INT 10H
MOV AH, 06H
MOV AL, 00H ; 0 = Borra
MOV BH, 00AH
MOV CX, 00H ;POSICION INICIAL A BORRAR
MOV DH, 24 ;POSICION FINAL A BORRAR
MOV DL, 79
INT 10H
MOV AH, 02H ; POSICIONAR EL CURSOR
MOV BH, 0 ; PAGINA ACTUAL
MOV DH, 12 ; = Fila
MOV DL, 20 ; = Columna
INT 10H
IMP_CAD TXT1
MOV AH, 2AH ;SERVICIO DE FECHA
INT 21H
MOV DIA, DL ;GUARDAMOS EL DIA
MOV MES, DH ;GUARDAMOS EL MES
MOV OFFSET YEAR, CX ;GUARDAMOS EL ANIO
;EN AL ESTA EL DIA DE LA SEMANA
CMP AL, 1 ;COMPARACIONES DE LUN - DOM
JGE VERXLUNES
IMP_CAD DOM
JMP IMP_DIA
VERXLUNES:
CMP AL, 2
JGE VERXMARTES
IMP_CAD LUN
JMP IMP_DIA
VERXMARTES:
CMP AL, 3
JGE VERXMIERCOLES
IMP_CAD MAR
JMP IMP_DIA
VERXMIERCOLES:
CMP AL, 4
JGE VERXJUEVES
IMP_CAD MIE
JMP IMP_DIA
VERXJUEVES:
CMP AL, 5
JGE VERXVIERNES
IMP_CAD JUE
JMP IMP_DIA
VERXVIERNES:
CMP AL, 6
JGE VERXSABADO
IMP_CAD VIE
JMP IMP_DIA
VERXSABADO:
IMP_CAD SAB
JMP IMP_DIA
IMP_DIA:
MOV AL, [DIA]
MOV CL, 10
MOV AH, 0
DIV CL
OR AX, 3030H ;CORVERTIR A ASCII
MOV BX, OFFSET DIAASCII
MOV [BX], AL
INC BX
MOV [BX], AH
;ESTO MANDA A IMPRIMIR
MOV AH, 09
MOV DX, OFFSET DIAASCII
INT 21H
IMP_CAD TXT2 ;IMP DE
MOV AL, MES
CMP AL, 1 ;COMPARACIONES DE ENERO - DICIEMBRE
JE IMP_ENERO
CMP AL, 2
JE IMP_FEBRERO
CMP AL, 3
JE IMP_MARZO
CMP AL, 4
JE IMP_ABRIL
CMP AL, 5
JE IMP_MAYO
CMP AL, 6
JE IMP_JUNIO
CMP AL, 7
JE IMP_JULIO
CMP AL, 8
JE IMP_AGOSTO
CMP AL, 9
JE IMP_SEPTIEMBRE
CMP AL, 10
JE IMP_OCTUBRE
CMP AL, 11
JE IMP_NOVIEMBRE
CMP AL, 12
JE IMP_DICIEMBRE
IMP_ENERO: ;IMPRESIONES DE MES
IMP_CAD ENE
JMP ANIO
IMP_FEBRERO:
IMP_CAD FEB
JMP ANIO
IMP_MARZO:
IMP_CAD MARZ
JMP ANIO
IMP_ABRIL:
IMP_CAD ABR
JMP ANIO
IMP_MAYO:
IMP_CAD MAY
JMP ANIO
IMP_JUNIO:
IMP_CAD JUN
JMP ANIO
IMP_JULIO:
IMP_CAD JUL
JMP ANIO
IMP_AGOSTO:
IMP_CAD AGO
JMP ANIO
IMP_SEPTIEMBRE:
IMP_CAD SEP
JMP ANIO
IMP_OCTUBRE:
IMP_CAD OCT
JMP ANIO
IMP_NOVIEMBRE:
IMP_CAD NOV
JMP ANIO
IMP_DICIEMBRE:
IMP_CAD DIC
JMP ANIO
ANIO:
IMP_CAD TXT3 ;IMP DE
MOV BX, OFFSET YEAR
MOV AX, [BX]
MOV CL, 10
DIV CL
MOV DIG1, AH
MOV AH, 0
MOV CL, 10
DIV CL
MOV DIG2, AH
MOV AH, 0
MOV CL, 10
DIV CL
MOV DIG3, AH
MOV AH, 0
MOV CL, 10
DIV CL
MOV DIG4, AH
OR DIG4, 30H
OR DIG3, 30H
OR DIG2, 30H
OR DIG1, 30H
MOV AH, 09
MOV DX, OFFSET DIG4
INT 21H
MOV DX, OFFSET DIG3
INT 21H
MOV DX, OFFSET DIG2
INT 21H
MOV DX, OFFSET DIG1
INT 21h
INT 20H ;FIN DEL PROGRAMA
TXT1 DB 'Hoy es $'
TXT2 DB ' de $'
TXT3 DB 'del $'
DIA DB ?, '$'
MES DB ?
NUM DB ?
DOM DB 'domingo $'
LUN DB 'lunes $'
MAR DB 'martes $'
MIE DB 'miercoles $'
JUE DB 'jueves $'
VIE DB 'viernes $'
SAB DB 'sabado $'
ENE DB 'enero $'
FEB DB 'febrero $'
MARZ DB 'marzo $'
ABR DB 'abril $'
MAY DB 'mayo $'
JUN DB 'junio $'
JUL DB 'julio $'
AGO DB 'agosto $'
SEP DB 'septiembre $'
OCT DB 'octubre $'
NOV DB 'noviembre $'
DIC DB 'diciembre $'
DIG1 DB ?, '$'
DIG2 DB ?, '$'
DIG3 DB ?, '$'
DIG4 DB ?, '$'
YEAR DB ?, ?, '$'
DIAASCII DB ?, ?, '$'