15.05.2013 Views

PRÁCTICA 1

PRÁCTICA 1

PRÁCTICA 1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

LENGUAJE ENSAMBLADOR 80386 <strong>PRÁCTICA</strong> 1<br />

ENDP BinAscDec<br />

END ; fin de módulo BINASC.ASM<br />

El procedimiento BinAscDec coloca en BX la base de conversión y llama a la subrutina<br />

para hacer la conversión.<br />

El procedimiento NumAsc se encarga de hacer la conversión binaria a decimal.<br />

El contador de dígitos salvados será SI, inicializamos este registro a cero, verificamos que<br />

el registro CX tenga el valor de uno. Limpiamos el registro DX, hacemos la división AX/BX.<br />

En el registro AL se deposita el cociente y en el registro DX el residuo, llamamos al<br />

procedimiento DigitoHex, el cual nos compara el registro DL con el valor 10, si este valor<br />

es menor le añadimos al registro DL 30 (en hexadecimal) para convertirlo en un carácter<br />

numérico ASCII y poder visualizarlo en pantalla, regresamos al procedimiento NumAsc y<br />

salvamos el dígito en la pila, incrementamos registro SI. Con la instrucción LOOP @@10 se<br />

decrementa CX haciéndose cero, incrementamos otra vez CX, verificamos que el registro<br />

AX sea mayor que cero para continuar la conversión.<br />

Cuando el registro AX sea cero movemos lo que hay en el registro SI al contador CX,<br />

borramos la bandera de dirección para autoincrementar registro DI con la instrucción<br />

STOSB salvando dígito por dígito en el registro DI y al final introducimos el carácter nulo.<br />

3.11 Capturar y ensamblar los módulos anteriores con el nombre BINASC.ASM<br />

C>TASM /zi BINASC<br />

3.12 Introducir a la librería los módulos anteriores:<br />

C>TLIB /E REM -+BINASC<br />

3.13 Verificar que los procedimientos anteriores se encuentren en la librería REM mediante el<br />

siguiente comando:<br />

C>TLIB REM,CON<br />

3.14 Capturar el programa fuente. Este programa despliega un saludo y exhibe el valor<br />

decimal de la tecla oprimida.<br />

%TITLE "EXHIBE VALOR DE LAS TECLAS"<br />

; EQUs<br />

IDEAL<br />

DOSSEG<br />

MODEL small<br />

STACK 256<br />

rc EQU 13 ;ASCII del retorno de carro<br />

AUTOR: PROFESOR SALVADOR SAUCEDO FLORES<br />

EDICIÓN: PROFESOR PABLO FUENTES RAMOS<br />

1-10

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

Saved successfully!

Ooh no, something went wrong!