INSTRUCCIONES ARITMÉTICAS.



Documentos relacionados
EL EMU8086 Y EL MICROPROCESADOR 8086.

Instrucciones Aritméticas

INSTRUCCIONES LÓGICAS Y EL REGISTRO DE BANDERAS.

Tema: Instrumentación Virtual II

Instrucciones Lógicas y Registro de Banderas


Tema: Administración y respaldo de información.

Tema 1. Fundamentos del lenguaje ensamblador

Tema: Analizador de tráfico

UNIDADES DE ALMACENAMIENTO DE DATOS

USO DE INSTRUMENTOS DE LABORATORIO

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

DEBUG Y USO DE CADENAS.

Introducción al NASM. Convenciones de colores

"Programación en Ensamblador del microprocesador Pentium (I)"

PARTE I. Subneteo con mascara de subred fija (igual cantidad de host por subred).

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Apuntes de Microcontroladores (Repaso de temas previos)

Práctica 2. Registros y posiciones de memoria

6-REGISTROS DEL 8086 Y DEL 80286

TAREA 1 ARITMETICA PARA BCD Y ASCII.

Práctica Nº 4 Entorno de Programación

Introducción al EMU8086

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Trabajo Práctico Nº 1 SISTEMAS DE NUMERACION

Fundamentos de Programación. Sabino Miranda-Jiménez

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo Universidad Carlos III de Madrid

Capítulo 9. Archivos de sintaxis

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

Operaciones Aritméticas en Números con Signo

Tema: Analizador de tráfico

Presentación de la materia Historia de las computadoras

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

Instrucciones de Control de Flujo y Usos de la Pila

INTRODUCCIÓN AL EMU8086.

Sistemas de numeración

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

❷ Aritmética Binaria Entera

COMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DEPARTAMENTO DE FORMACION BASICA DEPARTAMENTO DE FORMACION PROFESIONAL Y VINCULACION UNIVERSITARIA

Matemática de redes Representación binaria de datos Bits y bytes

Intérprete entre el Operador y el Ordenador.

Tema: Introducción a packet tracer

Operación de Microsoft Word

* En una computadora el microprocesador se comunica con uno de los siguientes dispositivos:

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Transferir datos por medio del puerto paralelo utilizando un lenguaje de bajo nivel. (Lenguaje ensamblador auxiliándose del macroensamblador MASM)

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

EXCEL. 13) El Excel es: a) Una base de datos b) Una hoja de cálculo c) Un sistema operativo d) Un programa de contabilidad

Tema: Instalación de Linux.

Organización Básica de un Computador y Lenguaje de Máquina

Práctica 4. Introducción a la programación en lenguaje ensamblador

OSCILADOR DE RELAJACIÓN

Lenguajes de Programación

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Formato condicional Herramientas para el manejo de datos Tablas (Listas) Subtotales Filtros Avanzados... 7

Práctica 0. Emulador XENON de la computadora CESIUS

Tema 4. Fundamentos del ensamblador

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

TEMA 4. Unidades Funcionales del Computador

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

Naturaleza binaria. Conversión decimal a binario

by Tim Tran:

Entorno de Ejecución del Procesador Intel Pentium

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Creación de Informes por Asistente y Usuario

COMISIÓN NACIONAL PARA EL USO EFICIENTE DE LA ENERGÍA

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

MICROPROCESADORES PARTES DE UN MICROPROCESADOR


Curso Completo de Electrónica Digital

Tema: Cableado estructurado

TEMA: MANEJO DE TABLAS DINAMICAS EN MICROSOFT EXCEL 2013.

Unicenter Service Desk r11.1. Guía para el Usuario Final de Service Desk

Capítulo 0. Introducción.

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Materia: Informática. Nota de Clases Sistemas de Numeración

Clase 1 Sistemas de numeración

AMPLIFICADOR PUSH PULL BJT.

Instituto Tecnológico de Celaya

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Matemáticas Básicas para Computación

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

Sistema de Información de la Investigación HERMES Instructivo encuesta Diagnóstico de Software

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

Digital II Documentación de las instrucciones INdg2, OUTdg2 y de los dispositivos mapeados en el espacio de E/S

Tema: INTRODUCCIÓN AL HARDWARE Y CONFIGURACIÓN DE UNA PC.

TEMA 2: Representación de la Información en las computadoras

ASP.NET. Escuela de Ingeniería en Computación. Lic. José Mauricio Flores Avilés

TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN

REGLA DE RUFFINI. FACTORIZACIÓN DE POLINOMIOS

WALMAR CONTROL EN RUTA MANUAL DE USUARIO ADMINISTRACION EMANAGER 6

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

forma de entrenar a la nuerona en su aprendizaje.

Transcripción:

Microprocesadores. Guía 4 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). INSTRUCCIONES ARITMÉTICAS. Objetivos específicos Observar el uso de algunas instrucciones aritméticas y las banderas que son afectadas. Utilizar correctamente los registros del microprocesador al realizar operaciones aritméticas, tanto de 8 bits como de 16 bits. Utilizar el dispositivo virtual Led_Display del EMU8086 para ver mejor los resultados de las operaciones. Materiales y equipo 1 Computadora con el programa EMU8086. Procedimiento 1) Abra el EMU8086 2) Analice el PRIMER PROGRAMA, note que al inicio se declaran los datos. Con qué datos se realizarán las operaciones y cuáles serán los resultados, tanto en decimal como en hexadecimal? Dónde se almacena el resultado al final de las operaciones?

2 Microprocesadores. Guía 4 PRIMER PROGRAMA.model small.stack.data byte1 equ 125 byte2 equ 150 word1 equ 20A3h word2 equ 5938h.code mov ax,@data mov ds,ax ;---------primer bloque---------------- ;-------------------------------------------- mov dx,199 ;carga la dirección del puerto donde está el display mov ax,0 ; sacamos un 0 por el puerto para limpiarlo out dx,ax mov al, byte1 ;suma de 2 números de 1 byte add al, byte2 mov [011Eh], al ;guarda el resultado out dx,al; saca el resultado por el puerto para verlo en el display ;en formato decimal ;-----Fin del primer bloque---------- ;-------------------------------------------- ;------Segundo bloque---------------- mov ax, word1 ;suma de 2 numeros de 2 byte add ax, word2 mov [011Fh], ax ; guarda el resultado mov dx,199 ;carga la direccion del puerto donde está el display out dx,ax; saca el resultado por el puerto para verlo en el display ; en formato decimal ;--------Fin del segundo bloque------------ mov ax,4c00h ;termina el programa int 21h End 3) Digite y emule el programa. 4) Ejecute las primeras dos instrucciones. 5) Antes de ejecutar las otras instrucciones tome nota del contenido almacenado en las direcciones 011Eh, 011Fh y 0120h, para ello en la ventana emulator presione el botón aux y ahí selecciones la opción memory, en el espacio de dirección escriba el valor que indica el registro data segment (DS) seguido de dos puntos y la dirección 011Eh anote ese valor en la Tabla 1, haga lo mismo para las otras direcciones que pide la tabla. 6) Anote tambien el estado de las banderas y seleccione del menú VIRTUAL DEVICES la opción LED_DISPLAY.EXE para ver el valor del display al inicio.

Microprocesadores. Guía 4 3 7) Ejecute paso a paso el programa, anotando la información solicitada en la Tabla 1, observando el resultado de las operaciones y el estado de las banderas MOMENTO Inicio Al final del primer bloque Al final del segundo bloque DIRECCIONES 0720:Desplazamiento BANDERAS 011Eh 011Fh 0120h Display O S Z A P C Tabla 1 Concuerdan los resultados con lo que usted esperaba? 8) Cambie los datos con los siguientes valores: byte1 equ 9Dh byte2 equ 83h word1 equ 5938 word2 equ -5938 9) Corra a pasos el programa observando la ejecución de cada instrucción y el estado de las banderas. Cuál fue el resultado de las operaciones?, Cómo reaccionaron las banderas? y por qué así y no de otra manera? 10) Analice el SEGUNDO PROGRAMA qué registros están involucrados en el proceso? qué datos se van a operar? dónde se almacenará el resultado? (vea el flujograma)

4 Microprocesadores. Guía 4 SEGUNDO PROGRAMA.model small.stack.data.code mov ax,@data mov ds,ax mov ax,0 mov dx,199 out dx,ax mov ah, 0AAh ;multiplica 2 números de 1 byte mov al, 0FFh mov cl, 06 ;dato a modificar mul cl mov [011Eh],ax mov dx,199 out dx,ax mov ax,4c00h ;termina el programa int 21h End 11) Digite y emule el SEGUNDO PROGRAMA 12) Ejecute paso a paso, analizando el proceso. Anote los resultados en la primera fila de la Tabla 3. Coinciden los resultados con lo que esperaba? Instrucción Dato Multiplicando Multiplicador Producto MUL 06-06 IMUL 06-06 Tabla3 13) Modifique el dato de CL colocando -06 y ejecute nuevamente el programa. Anote los resultados en la Tabla 3. 14) Cambien la instrucción MUL por IMUL y el dato -06 por 06.

Microprocesadores. Guía 4 5 15) Ejecute el programa y anote los resultados. 16) Cambie el dato por -06, ejecute nuevamente y anote los resultados 17) Analice el TERCER PROGRAMA qué registros están involucrados en el proceso? qué datos se van a operar? dónde se almacenará el resultado? (vea el flujograma) 18) Al igual que hizo en el segundo programa vaya cambiando el dato y la operación como se pide en la Tabla 4. TERCER PROGRAMA.model small.stack.data.code mov ax,@data mov ds,ax mov ax,0 mov al,123 ;divide 2 numeros de 1 byte mov cl, 05 ;dato a modificar div cl mov [011Eh],al mov ax,0 mov dx,199 out dx,ax mov al,[011eh] out dx,al mov ax,4c00h ;termina el programa int 21h End Instrucción Dato Dividendo Divisor Cociente Residuo DIV IDIV 05-05 05-05 Tabla 4 19) Cambie el dato por 00h y ejecute el programa qué ocurrió?

6 Microprocesadores. Guía 4 Análisis de Resultados a) Primer programa 1. Tomando en cuenta los datos particulares de cada operación explique el porqué de la activación o desactivación de las banderas O, S, Z, C y A. 2. Modifique el código fuente sustituyendo las instrucciones ADD por ADC y emule nuevamente el programa, repita los pasos del 3 al 7 y compare con los resultados obtenidos con los obtenidos con ADD Qué resultados se modificaron?, qué parte no?, por qué cree que se dieron esos cambios específicos en los resultados? b) Segundo programa 1. En general cómo se especifica en una instrucción de multiplicación que se desea trabajar con números de un byte? 2. En qué registros se almacenan los datos y el resultado de una multiplicación de un byte? 3. Explique porque los resultados de las operaciones cambiaron al usar IMUL en lugar de MUL. Utilice cálculos para fundamentar su explicación. c) Tercer programa 1. En general cómo se especifica en una instrucción de división que se desea trabajar con números de un byte? 2. En qué registros se almacenan los datos y el resultado de una división de un byte? 3. Explique porque los resultados de las operaciones cambiaron al usar IDIV en lugar de DIV. Utilice cálculos para fundamentar su explicación. 4. Por qué la última modificación del programa generó un error en la ejecución?

Microprocesadores. Guía 4 7 Investigación Complementaria Investigue las instrucciones para la resta SUB y SBB Compare el funcionamiento de la directiva EQU con DB. Investigue como se puede realizar una multiplicación de dos números de dos bytes cada uno. Investigue como se puede realizar una división de dos números de dos bytes cada uno. Diseñe dos flujogramas que representen el proceso para sumar dos números de 4 bytes cada uno, en el primero se trabajará con registros de 16 bits y en el segundo de 8 bits. Bibliografía Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486. Arquitectura, programación e interfaces, tercera Edición Prentice Hall, México DF, 1997. Biblioteca UDB 001.6404 B847 1997 Godfrey, T. Lenguaje Ensamblador para Microcomputadoras IBM : Para Principiantes y Avanzados, Primera edición Prentice Hall, México DF, 1991 Biblioteca UDB 005.136 G577 1991 Puede consultar el material en línea del EMU8086 sobre los temas de esta actividad. Se recomiendan: Arithmetic and logic instructions, http://www.emu8086.com/assembly_language_tutorial_assembler_reference/asm_tutorial_06.html

8 Microprocesadores. Guía 4 Hoja de cotejo: 4 Guía 4: INSTRUCCIONES ARITMÉTICAS. Alumno: Puesto No: Docente: GL: Fecha: CONOCIMIENTO 35 APLICACIÓN DEL CONOCIMIENTO EVALUACION % 1-4 5-7 8-10 Nota 60 Conocimiento deficiente de los siguientes fundamentos teóricos: -Instrucciones para realizar las operaciones de suma, multiplicación y división. -Registros del microprocesador con los que trabajan las instrucciones aritméticas. Cumple sólo con uno o ninguno de los siguientes criterios: -Sabe que banderas se activaran según la instrucción a ejecutarse -Interpreta los resultados de las instrucciones aritméticas. -Utiliza las instrucciones aritméticas tanto para 8 como 16 bits. ACTITUD 5 -Es ordenado pero no hace uso adecuado de los recursos. TOTAL 100 Conocimiento y explicación incompleta de los fundamentos teóricos. Cumple sólo con dos de los criterios. -Hace uso adecuado de los recursos de manera segura, pero es desordenado. Conocimiento completo y explicación clara de los fundamentos teóricos. Cumple con los tres criterios. -Hace un manejo responsable y adecuado de los recursos de acuerdo a pautas de seguridad e higiene.