Arquitectura de Computadoras Segundo Emu8086

10
LAB ARQUITECTURA DE COMPUTADORAS FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA “ Año del centenario de Machu Picchu para el mundo” NOMBRE: ARMANDO AGARIJO CONCHA 090613H CURSO: ARQUITECTURA DE COMPUTADORAS CICLO: SEMESTRAL FACULTAD: ELECTRÓNICA PROFESOR: ZENON CUCHO MENDOZA 2012 LAB

Transcript of Arquitectura de Computadoras Segundo Emu8086

ARQUITECTURA DE COMPUTADORAS

FACULTAD DE INGENIERA ELECTRNICA Y ELCTRICA Ao del centenario de Machu Picchu para el mundo

NOMBRE: ARMANDO AGARIJO CONCHA 090613HCURSO: ARQUITECTURA DE COMPUTADORASCICLO: SEMESTRALFACULTAD: ELECTRNICAPROFESOR: ZENON CUCHO MENDOZA2012

PROBLEMA 1El siguiente programa calcula la suma de cada elemento de un arreglo con los elementos correspondientes de otro arreglo. El resultado se muestra en otro tercer arreglo Ejecuta el programa paso a paso y anota el resultado de cada instruccin cambia los datos por otros nmeros y ejecuta el programa para ver los resultados puedes hacer click en el botn vars.Resolucin:Para nuestro programa primero lo digitamos en nuestro programa emu8086.

Luego de esto lo compilamos para poder observar las caractersticas de nuestro programa:

Observamos que al compilarlo y al ejecutarlo en nuestro programa y realiza el semiproducto y ya variando los valores de dato podemos observar que no hay modificacin en nuestro programa, solamente variamos nuestro valores y lo acumulamos nuestro resultado en el otro vector el cual es el vector 3, acumulando la respuesta.LEA: esta instruccin sirve para leer el vector y en donde se estn ubicando los datos de este y LOOP es el comando empleado para que cuando termine nuestro programa la primera ejecucin se repite el LOOP hasta que el acumulo del CX que declaramos junto con nuestro LEA antes del LOOP se ponga en cero.PROBLEMA 2Escriba un programa que halle el nmero mayor de una lista de nmeros positivos.

Para este programa realizamos realizamos la lista donde es acumulada en un vector y luego pasamos a acumular en una comparacin en la cual si el valor de bl es cero, entonces realizamos una accin la cual es darle el valor el primer valor del vector, si esta ya tiene un valor diferente a cero, entonces ya no ejecuta esta accin, pasa de frente a la comparacin con el siguiente valor de nuestro programa, lo comparamos con una resta en la cual acumulamos el valor de lo restado junto con la respuesta y si en la parte bh de esta se acumula algn valor, entonces el numero restado es mayor, si no existe bh entonces el numero es menor.

Ahora observaos la respuesta de nuestro programa:

Podemos observar que en nuestro valor bp se acumula el resultado:

PROBLEMA 3 Escriba un programa que calcule los nmeros pares de una lista de nmeros.Resolucin:Primero diseamos un programa en emu8086

Ahora pasamos a explicar nuestro programa en la cual tenemos una lista acumulada en un vector y la respuesta aparece en otro vector eliminando los valores impares, para esto pasamos a dividir los valores entre dos cuando el valor es par divide normalmente, pero cuando el valor es impar el residuo se acumula en la parte HIGH de la direccin, por la cual realizamos una comparacin en la cual cada vez que aparezca algn valor en la parte ah de la direccin dividida entre dos salte directamente a la parte tatu en la cual solo esta el conteo del LOOP y pasa directamente sin acumular en el arreglo respuesta el numero, siendo esta la temtica de nuestro programa.Ahora pasamos a compilar nuestro programa:

Ahora ponemos vars para observar la respuesta de nuestro vector respuesta:

PROBLEMA 4Escriba un programa para hallar el promedio de 5 notas de laboratorio, eliminando la menor nota, es decir se promedia con 4 notas.

Resolucin:Nosotros de la misma forma que solamente tenemos los datos de los comando cmp y de los vectores, entonces nos las ingeniamos para dar valor a un vector de las notas , pero la respuesta la damos en un dato normal porque sino tendramos que dividirlo entre su incremento cx, ejecutando nuestro programa de la siguiente manera:

Como podemos observar nuestro codigo es un poco largo, el objetivo es darle el valor de la lista aleatoria a un vector y como son notas la mxima nota es 20 entonces en otro vector acumulamos los datos para hacer la comparacin de cada valor del otro vector con todos los valores de las notas, apenas coincida con el primer valor, este lo acumulamos en una direccin y luego lo restamos a nuestro resultado antes acumulado en una direccin y esta respuesta la dividimos entre 4 y asi realizamos nuestra respuesta.

Entonces analizamos en donde esta acumulada nuestra respuesta y deacuerdo a nuestro programa la respuesta se acumula en al.

Observamos que se acumula inicialmente la respuesta promedio total en bl y luego la pasan en al despus de restada por la menor.

PROBLEMA PROPUESTO Escriba un programa que de una lista elija los nmeros pares mayores que 10 y lo muestre de respuesta.Resolucin:Para este programa lo nico que realizamos es unir dos de nuestros programas, el de mayor aunque tenemos la opcin de multiplicar por un numero determinado que en la cual al multiplicar un numero 10 por este numero constante se acumule y valor ah en este, para que al compararlo, podamos eliminarlo, entonces la multiplicacin de esta si o si debe darnos un valor de ah ya que cualquier numero de dos cifras multiplicado por esta constante debe darnos un valor en ah y cualquier numero de una cifra multiplicado por esto siempre genera un ah, con esta idea, realizamos nuestro programa fuente:

Nuestro programa en el cual tenemos le sumamos un valor en el cual no genera nuestro valor mximo de 8 bits si le sumamos nmeros de una cifra, con esta base sumamos 247.

Ahora lo compilamos:

Viendo nuestra respuesta vars:

Observamos que nuestro cdigo nos sirve para cualquier cantidad de datos y valores siempre y cuando los declaremos.