15.05.2013 Views

PRÁCTICA 1

PRÁCTICA 1

PRÁCTICA 1

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!