Beruflich Dokumente
Kultur Dokumente
PRCTICA 6
PRCTICA 6
FAMILIARIZARSE CON LOS VALORES ASCII
DE TODAS LAS FUNCIONES DEL TECLADO
1.
INTRODUCCIN
La prctica siguiente est enfocada a que el alumno se familiarice con los valores
ASCII de todas las funciones del teclado. Ya que mediante estos valores ASCII se puede
obtener cualquier carcter, signo o smbolo. Adems, se empieza a introducir el uso de los
colores en el modo alfanumrico.
2.
OBJETIVOS
2.1.
2.2.
2.3.
2.4.
2.5.
6-1
PRCTICA 6
3.
DESARROLLO
3.1
TASCII.COM
R. Cortes B.
4/ago/87
Sesgo1
Seg1
EQU
EQU
9*4
9*4+2
IDEAL
DOSSEG
tiny
MODEL
SMART
CODESEG
assume
org
PROC
cs:_text,ds:_text
100h
Programa
jmp
Carga
LABEL
Normal
Sesgo2
DW
Seg2
DW
TABLA
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
MAYSCULAS
MINSCULAS
LETRAS
65 A 72 H 79 O 86 V 97 a 104 h 111 0 118 v 65 90
66 B 73 I 80 P 87 W 98 b 105 i 112 p 119 w A
Z
67 C 74 J 81 Q 88 X 99 c 106 j 113 q 120 x
71 G 78 N 85 U
103 g 110 n 117 u
SIGNOS
38 & 42 * 45 58 : 61 = 64 @
NMEROS
33 ! 36 $ 40 ( 43 + 46 . 59 ; 62 >
48
57
35 # 37 % 41 )
47 / 60 < 63 ?
0
9
Descarga
DB
1764 dup
()
;rea ventanas x 2
6-2
PROC
PRCTICA 6
Inicia
pushf
call
push
push
mov
mov
mov
mov
and
cmp
Jnz
Call
Call
Jmp
PROC
;Almacena ventanas
[dword cs:Sesgo2]
dx
ax
ds
cx
di
es
ax,0040h
ds,ax
si,0017h
al,,[si]
al,10
al,10
Sale
Prepara
Final
Sale
si
bx
Prepara
mov
mov
push
pop
mov
mov
mov
mov
mov
ax,0b800h
es,ax
cs
ds
si,offset Descarga
di,0
cx,Area
bx,1
dx,0
mov
mov
inc
inc
mov
mov
inc
inc
inc
cmp
jbe
mov
mul
mov
inc
al,[es:di]
[si],al
di
si
al,[es:di]
[si],al
di
si
dx
dx,62
etiq2
ax,160
bx
di,ax
bx
loop
ret
etiq1
etiq1:
;Lleg a 63 ?
;Si, salta
;160 bytes por fila
;Aumenta fila
etiq2:
ENDP
Prepara
6-3
PRCTICA 6
Sale:
Jmp
PROC
mov
mov
mov
mov
mov
Salida
Ventana
si,offset TABLA
di,0
cx,Area
bx,1
dx,0
al,[si]
[es:di],al
di
al,74h
[es:di],al
di
si
dx
dx,62
@@20
dx,1
ax,160
bx
di,ax
bx
;Contador
;Fila 1
;Columna 0
@@10:
mov
mov
inc
mov
mov
inc
inc
inc
cmp
jbe
mov
mov
mul
mov
inc
;Incrementa columna
@@20:
loop
ret
ENDP
;
@@10
Ventana
Repone ventana original cuando se oprime una tecla..
PROC
Final
mov
int
mov
mov
mov
mov
mov
ah,0
16h
si,offset Descarga
di,0
cx,Area
bx,1
dx,0
6-4
PRCTICA 6
@@10:
mov
sb
mov
inc
cmp
Jbe
mov
mov
mul
mov
inc
sb
dx
dx,62
@@20
dx,1
ax,160
bx
di,ax
bx
;Aumenta fila
@@20:
loop
ret
ENDP
@@10
Final
Salida:
pop
pop
iret
ENDP
bx
si
di
ax
cx
dx
Inicia
LABEL
Resid
YaResid
;
es
ds
Fin
DB
DB
DB
Esta parte del programa corre una vez y deja residente a INICIA..
PROC
Carga
or
mov
cmp
jne
mov
mov
mov
mov
int
mov
int
ax.ax
ds,ax
[byte 4dfh],123
@@10
ax,cs
ds,ax
ah,9
dx,offset YaResid
21h
ax,4c00h
21h
;Saca cadena
;Regreso normal a DOS
6-5
PRCTICA 6
@@10:
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
sti
;
cx,0
dx,184fh
al,0
bh,15
ah,6
10h
bh,0
dx,0
ah,2
10h
ax,cs
ds,ax
ah,9
dx,offset Resid
21h
dx,offset Fin
27h
20h
;Toda la pantalla
;Sigue blanco sobre negro
;Funcin de movimiento de pantalla
;Llamada a BIOS
;Pgina #0
;Rengln 0, columna 0
;Funcin de ubicacin
;llamada a BIOS
Carga
Programa
END Programa
3.2
Ubicar el cursor
mov
mov
mov
int
mov
mov
mov
mov
int
mov
int
int
ENDP
ENDP
;Habilita interrupciones
Limpia la pantalla
mov
mov
mov
mov
mov
int
;
3.3
6-6
3.4
PRCTICA 6
4. TAREAS
4.1
Cambiar de color la tabla ASCII, usando la tabla dada al final y que el cuadro quede
ms centrado en la pantalla.
4.2
Ampliar la tabla de valores ASCII con todas las funciones del teclado.
4.3
Modificar la informacin exhibida para mostrar los caracteres ASCII para trazado de
lneas y marcos.
218
196
194
191
201
202
187
179
195
180 204
185
206
192
193
217
200
202
188
213
205
209
184
214
210
183
186
198
181 199
182
212
207
190
211
208 189
219
220
221
222
223
6-7
PRCTICA 6
FONDO
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
Negro
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
azul
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
verde
cian
VALOR EN
HEXADECIMAL
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
10H
11H
12H
13H
14H
15H
16H
17H
18H
19H
1AH
1BH
1CH
1DH
1EH
1FH
20H
21H
22H
23H
24H
25H
26H
27H
28H
29H
2AH
2BH
2CH
2DH
2EH
2FH
30H
VALOR EN
DECIMAL
0
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
6-8
PRCTICA 6
FRENTE
FONDO
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
cian
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
rojo
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
magenta
caf
caf
caf
caf
VALOR EN
HEXADECIMAL
31H
32H
33H
34H
35H
36H
37H
38H
39H
3AH
3BH
3CH
3DH
3EH
3FH
40H
41H
42H
43H
44H
45H
46H
47H
48H
49H
4AH
4BH
4CH
4DH
4EH
4FH
50H
51H
52H
53H
54H
55H
56H
57H
58H
59H
5AH
5BH
5CH
5DH
5EH
5FH
60H
61H
62H
63H
VALOR EN
DECIMAL
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
6-9
PRCTICA 6
FRENTE
FONDO
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
negro
azul
verde
cian
rojo
magenta
caf
blanco
gris
azul intenso
verde intenso
cian intenso
rojo intenso
magenta intenso
amarillo
blanco brilloso
caf
caf
caf
caf
caf
caf
caf
caf
caf
caf
caf
caf
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
blanco
VALOR EN
HEXADECIMAL
64H
65H
66H
67H
68H
69H
6AH
6BH
6CH
6DH
6EH
6FH
70H
71H
72H
73H
74H
75H
76H
77H
78H
79H
7AH
7BH
7CH
7DH
7EH
7FH
VALOR EN
DECIMAL
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
6-10
PRCTICA 6
----
Atributo
----
CENTELLEO
COLOR DE FONDO
INTENSIDAD
COLOR DE PRIMER PLANO
R G B
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
COLOR
NEGRO
AZUL
VERDE
CIAN
ROJO
MAGENTA
CAF
BLANCO
GRIS
AZUL CLARO
VERDE CLARO
CIAN CLARO
ROJO CLARO
MAGENTA CLARO
AMARILLO
BLANCO (alta intensidad)
6-11
PRCTICA 6
0001
0100
0101
0110
01
20
229
150
01
14
E5
96
COLOR
AZUL/NEGRO
ROJO/AZUL
MAGENTA/AMARILLO
CAF/AZUL CLARO
MAYSCULAS
minsculas
LETRAS
70 F 77 M 84 T
102 f 109 m 116 t
0,0
71 G 78 N 85 U
103 g 110 n 117 u
,0
SIGNOS
38 & 42 * 45 58 : 61 =
NMEROS
33 36 $ 40 ( 43 + 46 . 59 ; 62 >
48...57
34 # 37 % 41 )
47 / 60 < 63
0
P
CODESEG
;
De CADENAS,OBJ y MANCADE.OBJ
EXTRN
SacaCadena:proc,LargoCad:proa
;
De VIDEO.OBJ
EXTRN
IniciaPan:proc,PanIrXY:proc,PanLimpRect:proa
EXTRN
PanPoneCar:proc,FijaFondo:proc,FijaFrente:proa
EXTRN
PanPoneCad:proc,QuitaBrillo:proc,PoneBrillo:proa
EXTRN
PoneDest:proc,QuitaDest:proa
6-12