Practica 5
-
Upload
jimmy-joel-ubilla-jurado -
Category
Documents
-
view
216 -
download
0
description
Transcript of Practica 5
ESCUELA SUPERIOR POLITÉCNICA DEL
LITORAL
FIEC
LABORATORIO DE MICROPROCESADORES
Practica 5
Instrucciones aritméticas y manejo de cadenasEstudiantes:
Jimmy Ubilla
Manuel Castro
Paralelo # 5
Fecha de presentación:
16/12/15
2015- 2do Término
1.- Enunciado de la práctica
Familiarizar al estudiante con el conjunto de instrucciones. Instrucciones Aritméticas suma, resta y ajustes:
ADD, ADC, SUB, SBB, DAA, DAS, AAA, AAS Instrucciones de multiplicación, división y ajustes:
MUL, DIV, IMUL, IDIV, AAM, AAD Instrucciones lógicas:
AND, OR, XOR Instrucciones de desplazamiento:
SHL, SHR, SAR, SAL. Instrucciones de rotación:
RCL, RCR, ROL, ROR. Instrucciones de salto condicionales:
JZ, JNZ, JC, JNC, LOOP, ………Manejo de cadenas y su visualización en pantalla de texto.
Instrucciones primitivas para manejo de cadenas (strings) son: MOVS, LODS, STOS, CMPS, SCAS.
2.- Diagrama de Bloques
Ejercicio 8
Almacenar 2 números en memoria
Sumar los numeros Mostrar la suma
Ejercicio 9
Almacenar 6 números en memoria
Usa los comandos ADD y DIV
Mostrar el promedio
Ejercicio 10
Almacena cadenas en memoria
Cambia el contenido de la
cadena
Muestra el mensaje de la cadena
Ejercicio 11
Almacena cadenas en memoria
Muestra un mensaje cuando se presiona una tecla
Muestra el mensaje de la cadena
3.- Diagrama de Flujo funcional del Programa principal y de las subrutinas
Ejercicio 8
Ejercicio 12
Se define la constante FFHH
Se aplica la operación XOR
Muestra el resultado en binario
de 8bits
Se tiene Num1 y Num2
se llaman al archivo LABMICP.INC
Se usa ASCSUMA y CONVERT
fin
Inicio
Se muestra por display
Ejercicio 9
Ejercicio 10
Se tiene los 6 numeros
Se decrementa 1 registro hasta que pasen los 6 num
Se suma y se almacena en la variable suma
fin
Se le aplica DIV y luego muestra por pantalla
Inicio
Se tienen dos cadenas
Se las muestra por pantalla
Se cambia el mensaje de las cadenas
fin
Se muestra ambas cadenas
Inicio
Ejercicio 11
Ejercicio 12
Se tienen dos cadenas
Se guarda un mensaje en la cadena
Esperar a que se oprima tecla enter
fin
Se muestra el mensaje y lo guardo y lo muestro
Inicio
Inicio
Se define FFHH como constante
Se realiza la operación XOR entre NumBin
Se transforma a binario de 8 bist
fin
Se muestra por pantalla
4.- Descripción del algoritmo o estrategia utilizada
Ejercicio 8
Se asignan valores a Num1 y Num2 se llama al archivo extra lab de micro, con el cual se hacen las funciones ADD y DIV, guardándolo en una variable, mostrándose por pantalla por la subrutina display.
Ejercicio 9
Se asignan 6 números de memoria, se asigna un registro cx que son las veces que contara los numeros, se usa la instrucción ADD, se la guarda en un registro , luego si existe alguna suma con acarrero, se guarda en una variable suma, se le asigna un valor a Ax para poder hacer el comando DIV, se muestra por display el valor de la suma
Ejercicio 10
Se asignan dos cadenas de caracteres cada una con su respectivo mensaje, se modifica el mensaje de cada una de las cadenas, luego hasta que no se presione alguna tecla no se mostrara, cambiando los atributos de los colores, y las filas y columnas para el nuevo mensaje
Ejercicio 11
Se carga un mensaje 1 en una cadena, se llama a los comandos adicionales LODSB se almacena invertida las letras en otra cadena 2 descifrando el mensaje
Ejercico 12
Aplicamos Xor a un número guardado en memoria con una constante FFHH, se podrá divisar en binario con un formato de 8bitz
5.- Programa en lenguaje MSDOS
Ejercicio 8
Ejercicio 9
Ejercicio10
Ejercicio 11
Ejercicio 12
6.- Conclusiones
Se concluyó que las operaciones aritmeticas son ideales para desarrollar los diferentes ámbitos que ofrecen los micros, se indicó que cuando se sumaban los registros estos se concatenaban dependiendo de la respuesta, de además que ciertos registros nos pueden servir como contadores
EL manejo de cadena de caracteres siempre tiene que ir acompañado de un archivo extra donde se encuentren las subrutinas para así ahorrar código y sacar mayor provecho a las cadenas, si se quiere escribir una cadena se debe de agregar otra vacia donde se desplace, logrando atribuir el desplazamiento al bucle en el cual se encuentra la programacion
7.- Recomendaciones
Al diseñar el algoritmo del programa o al llevar a la práctica un diagrama de flujo, se recomienda usar macros y subrutinas ya que son de gran ayuda. Estas ayudan a detectar rápidamente cualquier error que se presente en la ejecución y además permiten modificaciones del programa de forma instantánea. Pocas veces se cambia las instrucciones del programa principal, pues este está conformado de macros, que son los cuales debemos modificar.
El uso de la directiva INCLUDE, usando el fichero permitió la familiarización con esta instrucción, sin embargo, creo que debemos hacer más ejercicios con esta directiva a fin de poder sacar un aprovechamiento óptimo de la misma, ya que esta directiva nos servirá de mucho en la realización del proyecto final.
8.- Anexos
Ejercicio 8
Ejercicio 9
1. Después de ejecutar MOV SUMA, AX: valor hex de SUMA= ______769Dc_______, equivalente decimal= ____485852______
2. Después de ejecutar DIV NUM:
valor hex de cociente AX=_____24 , equivalente decimal __66 valor hex de residuo DX=_________00___, equivalente decimal ________00_____
3. Contenido de variables: PROM =___CD20 hex, equivalente decimal= _________121420_____ RESID= ______0997____ hex, equivalente decimal= _____0997_________
4.
EJERCICIO 10
EJERCICIO 11
EJERCICIO 12
1. Ponga NUMBIN DW 0ABCDH en lugar de NUMBIN DB 11010101B en el segmento de datos.