Sei sulla pagina 1di 4

MICROPROCESADORES PRCTICA VI: OPERACIONES ARITMETICAS SERGIO A. PLATA P., LUIS C. JARAMILLO A.

Lenguaje ASSEMBLER

Mapa de Memoria Antes del Programa

Lenguaje MAQUINA

Mapa de Memoria Despus del Programa

Este programa, como lo explica la gua, realiza la suma de dos nmeros de 4 dgitos codificados en BCD y el resultado de esa suma lo almacena en la direccin NN+1H, que en este caso es 21H

en forma decimal. Es muy sencillo el funcionamiento, primero se carga el registro B con un valor que representa el inicio del contador, despus este valor se somete a una XOR con el acumulador, se carga HL con la direccin de memoria donde se encuentra el dato a sumar, despus se carga ese dato en el acumulador, se incrementa HL para tener acceso al dato siguiente que en este caso ha sido almacenado por 22H y se realiza una suma teniendo en cuenta el carry entre el acumulador y el dato almacenado en 22H. Este resultado es almacenado en el registro A y luego el siguiente comando que es DAA, convierte un dato de hexadecimal a decimal.

Lenguaje ASSEMBLER

Lenguaje MAQUINA

Mapa de memoria donde el Dato A = 03 y el Dato B=04.

Registros donde el resultado del prducto del Dato A = 03 y el Dato B =04, se almacena en el registro par HL. (efectivamente 000C H = 12)

Se puede decir que La multiplicacin binaria es una sucesin de sumas y desplazamientos. Con base a que tenemos de datos que se multiplican, escogemos cualquier de los dos datos, multiplicamos el bit menos significativo del dato que escogimos por el dato que no escogimos y el resultado lo almacenamos. Luego hacemos la misma operacin para los siguientes bits hasta llegar al bit ms significativo. Despus que hayamos multiplicado los bits por el dato que no escogimos hay que realizar la suma de todos estos resultados pero no podemos sumarlo como hacemos comnmente ya que estos resultados no tienen el mismo nivel de significancia. Para el resultado que obtuvimos en la segunda multiplicacin lo corremos hacia la izquierda y luego si lo sumamos al resultado que obtuvimos en la primera multiplicacin. Despus este resultado se suma al tercer resultado pero antes corremos el tercer resultado a la izquierda, y as sucesivamente hasta que hemos sumado todos los resultados, este valor final ser el resultado de la multiplicacin de los dos datos mencionados.

Lenguaje Assembler

Lenguaje de Maquina

Memoria del Programa

Memoria del Program

El programa, como su nombre lo indica, sirve para realizar la multiplicacin de dos valores almacenados en memoria, mediante la utilizacin de la subrutina suma, utilizada en el primer punto. Esto se debe a que se sabe que la multiplicacin es una suma consecutiva del mismo valor consigo mismo. En el ejemplo utilizado se observa la multiplicacin de 4 y 3, cuyo resultado, como se puede ver en la memoria es 12. Para la realizacin y comprobacin de este programa se tiene que tener en cuenta el lugar en la memoria donde se almacenan los datos, ya que esto influye en el funcionamiento del programa.

Potrebbero piacerti anche