Practica 5

21
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FIEC LABORATORIO DE MICROPROCESADORES Practica 5 Instrucciones aritméticas y manejo de cadenas Estudiantes: Jimmy Ubilla Manuel Castro Paralelo # 5 Fecha de presentación:

description

FDGDFGFDGDFG

Transcript of Practica 5

Page 1: 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

Page 2: Practica 5

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

Page 3: Practica 5

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

Page 4: Practica 5

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

Page 5: Practica 5

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

Page 6: Practica 5

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

Page 7: Practica 5

Ejercicio 9

Ejercicio10

Page 8: Practica 5

Ejercicio 11

Page 9: Practica 5

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.

Page 10: Practica 5

8.- Anexos

Ejercicio 8

Page 11: Practica 5
Page 12: Practica 5

Ejercicio 9

1. Después de ejecutar MOV SUMA, AX: valor hex de SUMA= ______769Dc_______, equivalente decimal= ____485852______

Page 13: Practica 5

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.

Page 14: Practica 5

EJERCICIO 10

Page 15: Practica 5
Page 16: Practica 5
Page 17: Practica 5

EJERCICIO 11

Page 18: Practica 5

EJERCICIO 12

1. Ponga NUMBIN DW 0ABCDH en lugar de NUMBIN DB 11010101B en el segmento de datos.

Page 19: Practica 5