PRÁCTICA 1
PRÁCTICA 1
PRÁCTICA 1
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
LENGUAJE ENSAMBLADOR 80386 <strong>PRÁCTICA</strong> 1<br />
nl EQU 10 ;ASCII de nueva línea<br />
DATASEG<br />
ClaveFin DB 0<br />
TeclaNor DB rc,nl," Tecla tipo normal (DEC) : ",0<br />
TeclaFun DB rc,nl," Tecla de función (DEC) : ",0<br />
CadenaNum DB 7 dup (0)<br />
saludo DB rc,nl,"Exhibe valores de las teclas"<br />
DB rc,nl,"Presionar cualquier tecla, o ESC para salir"<br />
DB rc,nl,nl,0<br />
CODESEG<br />
; De BINASC.OBJ<br />
EXTRN BinAscDec:proc<br />
; De CADENAS.OBJ<br />
EXTRN SacaCadena:proc, NuevaLinea:proc<br />
; De TECLADO.OBJ<br />
Inicia:<br />
Repite:<br />
@@10:<br />
EXTRN EsperaTecla:proc, TraeCar:proc<br />
mov ax,@data ;Inicializa DS con<br />
mov ds,ax ;segmento de datos<br />
mov es,ax ;Hace ES = DS<br />
mov di, offset saludo ;Exhibe mensaje de bienvenida<br />
call SacaCadena ;en pantalla<br />
call EsperaTecla ;Espera cualquier teclazo,<br />
jz Repite ;no se oprimió regresa<br />
call TraeCar ;Lee la tecla oprimida<br />
mov di,offset TeclaNor ;Carga sesgo de cadena normal<br />
jnz @@10 ;Brincar si carácter normal<br />
cmp al,27 ;Fue tecla ESCape (1Bh)?<br />
je Salir ;Sí, brinca a la salida<br />
mov di,offset TeclaFun ;Carga sesgo de cadena función<br />
call SacaCadena ;Exhibe tipo de cadena<br />
sub ah,ah ;Convierte AL a valor de 16 bits<br />
mov cx,1<br />
mov di,offset CadenaNum ;Apunta a cadena numérica<br />
call BinAscDec ;Convierte número a cadena<br />
call SacaCadena ;y exhíbelo<br />
AUTOR: PROFESOR SALVADOR SAUCEDO FLORES<br />
EDICIÓN: PROFESOR PABLO FUENTES RAMOS<br />
1-11