Laboratorio 3 Arquitectura de PC

ARQUITECTURA DE COMPUTADORES - (COMPONENTE_PRACTICO) LABORATORIO 3 ESTUDIANTE DAVID CARRILLO DIAZ CÓDIGO: 3230713 TUTO

Views 40 Downloads 63 File size 643KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ARQUITECTURA DE COMPUTADORES - (COMPONENTE_PRACTICO) LABORATORIO 3

ESTUDIANTE DAVID CARRILLO DIAZ CÓDIGO: 3230713

TUTOR JOHN RODRIGO SAENZ GRUPO: 40531

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA-UNAD ARQUITECTURA DE COMPUTADORES MAYO DE 2020

INTRODUCCION En este documento reunimos las evidencias del manejo del programa MSX88, se realizarán 3 ejercicios con los cuales aumentaremos los conocimientos sobre la programación en el lenguaje ensamblador y el manejo del programa MSX88.

DESARROLLO DE LAS ACTIVIDADES

SECCION 1: 1. Escribir un programa que realice la suma de dos datos (el 25h y el 30h) que se encuentran en los registros AX y DX del procesador. El resultado lo almacenará en AX. Guardar el código con el nombre Programa.asm. Seguir los pasos descritos en el laboratorio 2 para ensamblar, enlazar y ejecutar el programa.

Ensamblamos el archivo mediante el programa MSX88

Enlazamos el archivo PROG4.O

Ejecutamos el programa MSX88 y cargamos el programa PROG4

Se carga el programa el apuntador IP queda cargado con el valor 20 que es el valor de inicio del programa ORG 2000h, también las direcciones de memoria 2001(25) y 2003(30) almacenando los datos que van a ser sumados.

2. Después de ejecutar el programa en MSX88, utilizar la tecla F6 para observar la Ejecución Ciclo de instrucción a Ciclo de instrucción tal como aparece en la diapositiva Anexo1, y verificar los ciclos de instrucciones de todo el proceso desde la búsqueda del código de operación, decodificación hasta el resultado. Comparar en tiempo real el programa ejecutado, con lo documentado en las diapositivas. Con este ejercicio tome los pantallazos respectivos y documéntelo tal como está en el Anexo1.

Sección 2: Diseñar dos programas con las siguientes condiciones: 1. Escribir un programa que realice la multiplicación de dos números. Realizar la ejecución de Ciclo de instrucción a Ciclo de instrucción (F6). Documentarlo tal como aparece en el anexo 1, escribiendo lo sucedido por cada ciclo de instrucción hasta su resultado. Mostrando posiciones de memoria igualmente. Se crea el programa.asm en un block de notas con el nombre de PROG5

Ensamblamos el archivo anterior

Enlazamos el archivo PROG5.O que hemos creado en el punto anterior

Ejecutamos el programa MSX88 y cargamos el archivo que hemos creado

Cargamos los valores de AX, BX Y CX

Se ejecuta nuevamente el decremento de BX y esta vez llega a cero por lo que la bandera z se activa ALU finaliza el cálculo y el programa termina.

2. Escribir un programa que realice la división de dos números. Realizar la ejecución de Ciclo de instrucción a Ciclo de instrucción. Documentarlo tal como aparece en el anexo 1, escribiendo lo sucedido por cada ciclo de instrucción hasta su resultado. Mostrando posiciones de memoria igualmente. Se crea el programa.asm en un block de notas con el nombre de PROG6

Ensamblamos el archivo anterior

Enlazamos el archivo PROG6.O que hemos creado en el punto anterior

Ejecutamos el programa MSX88 y cargamos el archivo que hemos creado

Cargamos los valores de AX y BX que son los que se van a dividir

Se incrementa CX, se realiza la resta AX-BC y el resultado se almacena en AX, la bander Z se activa dado el resultado de la operación =0

El programa termina y el resultado de la operación queda almacenado en CX

Sección 3:

Diseñar un programa en ensamblador para MSX88 donde utilice Etiquetas y Comparaciones. Ver Anexo 2. Comparaciones_Etiquetas_Ensamblador El programa diseñado compara el valor de AX con el de BX, si AX es mayor carga el valor 40H al registro DX y termina y si el mayor es BX carga el valor 30H al registro CX y termina. Se crea el programa.asm en un block de notas con el nombre de PROG7

Ensamblamos el archivo anterior

Enlazamos el archivo PROG7.O que hemos creado en el punto anterior

Ejecutamos el programa MSX88 y cargamos el archivo que hemos creado

Cargamos los valores de AX Y BX

Se decodifica la instrucción de comparación

Se activa la bandera s la cual indica que el resultado de la operación es un numero negativo.

Se mueve el valor 40H al registro DX y el programa termina

CONCLUSIONES

Aprendí más sobre el manejo del programa MSX88, la realización de esta actividad me ayudo a comprender la forma correcta de crear un programa basado en el set de instrucciones con la cuales trabaja el programa MSX88.