SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
3Guía
1
Instrucciones
Aritméticas
Facultad: Estudios Tecnologicos.
Escuela: Electrónica
Asignatura: Microprocesadores
Objetivo General
Analizar la forma en que se ejecutan algunas instrucciones aritméticas y de manejo de
la PILA.
Objetivos Específicos
 Observar el uso de algunas instrucciones aritméticas y las banderas que son
afectadas.
 Identificar las banderas que afecta cada instrucción observada.
 Utilizar correctamente los registros del microprocesador al realizar operaciones
aritméticas, tanto de 8 bits como de 16 bits.
 Analizar detenidamente el proceso de cada operación.
Materiales y equipos
 Guía de laboratorio
 Computadora PC con el programa EMU8086
Procedimiento
1) Ejecute el programa emulador de microprocesadores EMU8086, haciendo
doble clic en el icono del escritorio.
2) Cree un nuevo documento tipo COM
3) 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? ¿Dónde
se almacena el resultado al final de las operaciones?
DATOS:
byte1 >> con el valor de 125
byte2 >> con el valor de 150
word1 >> con el valor 20A3h
word2 >> con el valor 5938h
OPERACIONES SUMA “ADD”
RESULTADO1 125 + 150 = 113 < pero como solo es de 1 bit saldrá “13” como
respuesta.
RESULTADO2 20A3 + 5938 = 79BD < saldrá todo el resultado por ser de 2 bits.
PRIMER PROGRAMA
INICIO
AL = byte1
AL = AL + byte2
M[011Eh] = AL
AX = word1
AX = AX +word2
M[011Fh] = AX
FIN
#make_COM#
org 100h
byte1
byte2
word1
word2
END
equ 125
equ 150
equ 20A3h
equ 5938h
mov al, byte1 ;suma de 2 números de 1 byte
add al, byte2
mov [011Eh], al
mov ax, word1 ;suma de 2 números de 2 byte
add ax, word2
mov [011Fh], ax
ret
4) Digite y emule el programa
5) Antes de ejecutar el programa tome nota del contenido almacenado en las
direcciones 011Eh, 011Fh y 0120h en la TABLA 1, también del estado de las
banderas.
6) 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
¿Concuerda el resultado lo que usted esperaba? SI
MOMENTO
DIRECCIONES BANDERAS
011Eh 011Fh 0120h O S Z A P C
Inicio 00 00 00 00 00 00 0 0 0 0 0 0
Después del 1ª suma 13 00 00 00 00 00 0 0 0 1 0 1
Antes de la 2ª suma 13 00 00 00 00 00 0 0 0 1 0 1
Después de la 2ª suma 13 00 DB 79 79 00 0 0 0 0 1 0
Después del último MOV 13 00 BD 79 79 00 0 0 0 0 1 0
TABLA 1
7) Cargue nuevamente el programa e invierta manualmente el estado del
acarreo.
8) Ejecute paso a paso hasta la primera suma.
¿Cambió el resultado de la operación? NO
9) Continúe ejecutando el programa hasta la segunda suma
¿Se dio algún cambio? NO
10) Modifique el código fuente sustituyendo las instrucciones ADD por ADC y
emule nuevamente el programa.
11) Repita desde el paso 7 y compare con los resultados previos.
 Ejecute paso a paso hasta la primera suma. ¿Cambió el resultado de la
operación? NO
 Continúe ejecutando el programa hasta la segunda suma ¿Se dio algún cambio?
SI
¿Qué resultados se modificaron?, ¿qué parte no?, ¿por qué cree que se dieron esos
cambios específicos en los resultados?
Banderas (flags), hasta la parte de la segunda adición,
6ta Rum.
12) Modifique el programa para que funcione como al inicio, pero cambie los
datos con los siguientes valores:
byte1 equ 9Dh
byte2 equ 83h
word1 equ 5938
word2 equ -5938
13) 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?
14) Analice el SEGUNDO PROGRAMA, ¿dónde se almacena el resultado de las
operaciones? ¿cuál es el resultado de las mismas?
SEGUNDO PROGRAMA
#make_COM#
org 100h
byte1
byte2
word1
word2
equ 80
equ 69
equ 26437
equ 325
mov cl, byte1 ;resta de 2 números de 1 byte
sub cl, byte2
mov dx, word1 ;resta de 2 números de 2 byte
sub dx, word2
INICI
O
END ret
CL = byte1
CL = CL + byte2
DX = word1
DX = DX - word2
FIN
15) Digite y emule el programa tomando nota del valor de los minuendos y
sustraendos (en formato hexadecimal) con que se realizarán las operaciones
en la TABLA 2.
16) Ejecute paso a paso el programa, observando los resultados de las
operaciones y el estado de las banderas. Anote estos valores en la TABLA 2.
17) Modifique el programa para que se invierta el orden de la operación, de
forma que el minuendo pasa a ser sustraendo y viceversa. Repita el paso
anterior tomando nota en la segunda fila de la TABLA 2.
18) Repita los pasos 16 y 17, pero esta vez active manualmente el acarreo
antes de cada resta ¿observa cambios en las operaciones?
19) Cambie el programa para que funcione como al principio.
20) Sustituya las instrucciones SUB por SBB y repita los pasos anteriores.
Complete la TABLA 2.
¿Qué diferencias nota entre la ejecución de la instrucción SUB y SBB?
SUB Resta el operando fuente del destino.
Propósito: Substracción
SBB Esta instrucción resta los operandos y resta uno al resultado si CF está activada. El
operando fuente siempre se resta del destino.
Propósito: Substracción con acarreo
Instrucción Prueba Minuendo Sustraendo Diferencia O S Z A P C
SUB
1º
50 45 0B 0 0 0 1 0 0
6745 145 6600 0 0 0 0 1 0
2º
45 50 5F 0 1 0 0 1 1
145 6745 9A00 0 1 0 0 1 1
SBB
3º
50 45 0B 0 0 0 1 0 0
6745 145 6600 0 0 0 0 1 0
4º
45 50 5F 0 1 0 0 1 1
145 6745 9A00 0 1 0 1 1 1
TABLA 2
21) Analice el TERCER PROGRAMA ¿qué registros están involucrados en el
proceso? ¿qué datos se van a operar? ¿dónde se almacenará el resultado?
LOS REGISTROS SIGUIENTES:
AH, AL, CL
LOS DATOS QUE SE OPERAN
AL = 0FFh (FACTOR) CL = 06 (FACTOR)
SE ALMACENA EN AX. (05: FA)
TERCER PROGRAMA
INICIO
AH = AAh
AL = 0FFh
CL = 06h
AX = (AL) X (CL)
FIN
#make_COM#
org 100h
INICIO:
END
mov ah, 0AAh ;multiplica 2 números de 1 byte
mov al, 0FFh
mov cl, 06
mul cl
ret
22) Digite y emule el TERCER PROGRAMA
23) 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? SI en MUL y NO en IMUL
Instrucción Dato Multiplicando Multiplicador Producto
MUL
06 FF 06 05: FA
-06 FF -06 F9: 06
IMUL
06 FF 06 FF: FA
-06 FF -06 00: 06
TABLA 3
24) Modifique el dato de CL colocando -06 y ejecute nuevamente el programa.
Anote los resultados en la TABLA 3.
25) Cambien la instrucción MUL por IMUL y el dato -06 por 06.
26) Ejecute el programa y anote los resultados.
27) Cambie el dato por -06, ejecute nuevamente y anote los resultados
28) Analice el CUARTO PROGRAMA ¿qué registros están involucrados en el
proceso? ¿qué datos se van a operar? ¿dónde se almacenará el resultado?
29) Realice el mismo procedimiento del TRECER PROGRAMA, pero ahora el dato
que será cambiado es 05 y la operación DIV por IDIV. Anote sus resultados
en la TABLA 4.
CUARTO PROGRAMA
INICIO
AX = 123
CL = 05
AH(res),AL(cos) = (AL) ÷ (CL)
FIN
#make_COM#
org 100h
INICIO:
END
mov ax, 123 ;multiplica 2 números de 1 byte
mov cl, 05 ;Dato
div cl
ret
Instrucción Dato Dividendo Divisor Cociente Residuo
DIV
05 7B 05 18 3
-05 7B FB 00 7B
IDIV
05 7B 05 18 3
-05 7B FB E8 3
TABLA 4
30) Cambie el dato por 00h y ejecute el programa ¿qué ocurrió? Error
en la división entre 0
Análisis de resultados
a) Primer programa
Tomando en cuenta los datos particulares de cada operación explique el porque de la
activación o desactivación de las banderas O, S, Z, C y A.
Explique porque los resultados de las operaciones cambiaron al usar ADC en lugar de
ADD. Utilice cálculos para fundamentar su explicación.
ADC
Propósito: Adición con acarreo.
Lleva a cabo la suma de dos operandos y suma uno al resultado en caso de que la
bandera CF esté activada, esto es, en caso de que exista acarreo.
El resultado se guarda en el operando destino.
ADD
Propósito: Adición de los operandos.
Suma los dos operandos y guarda el resultado en el operando destino.
b) Segundo programa
Al ejecutar una resta las banderas C y A reaccionan diferente si el minuendo es mayor
o menor al sustraendo, explique el porque basándose en el concepto de préstamo.
Explique porque los resultados de las operaciones cambiaron al usar SBB en lugar de
SUB. Utilice cálculos para fundamentar su explicación.
SUB
Propósito: Substracción
Resta el operando fuente del destino.
SBB
Propósito: Substracción con acarreo
Esta instrucción resta los operandos y resta uno al resultado si CF está activada. El
operando fuente siempre se resta del destino.
c) Tercer programa
¿Cómo se especifica en una instrucción de multiplicación que se desea trabajar con
números de un byte?
En qué registros se almacenan los datos y el resultado de una multiplicación de un
byte?
Explique porque los resultados de las operaciones cambiaron al usar IMUL en lugar de
MUL. Utilice cálculos para fundamentar su explicación.
MUL
Propósito: Multiplicación sin signo
El ensamblador asume que el multiplicando sera del mismo tamaño que el del
multiplicador, por lo tanto multiplica el valor almacenado en el registro que se
le da como operando por el que se encuentre contenido en AH si el
multiplicador es de 8 bits o por AX si el multiplicador es de 16 bits.
Cuando se realiza una multiplicación con valores de 8 bits el resultado se
almacena en el registro AX y cuando la multiplicación es con valores de 16
bits el resultado se almacena en el registro par DX:AX.
IMUL
Propósito: Multiplicación de dos enteros con signo.
Este comando hace lo mismo que el anterior, solo que si toma en cuenta los
signos de las cantidades que se multiplican.
Los resultados se guardan en los mismos registros que en la instrucción MUL.
d) Cuarto programa
¿Cómo se especifica en una instrucción de división que se desea trabajar con números
de un byte?
En qué registros se almacenan los datos y el resultado de una división de un byte?
Explique porque los resultados de las operaciones cambiaron al usar IDIV en lugar de
DIV. Utilice cálculos para fundamentar su explicación.
DIV
Propósito: División sin signo
El divisor puede ser un byte o palabra y es el operando que se le da a la
instrucción.
Si el divisor es de 8 bits se toma como dividendo el registro de 16 bits AX y si
el divisor es de 16 bits se tomara como dividendo el registro par DX:AX,
tomando como palabra alta DX y como baja AX.
Si el divisor fué un byte el cociente se almacena en el registro AL y el residuo
en AH, si fué una palabra el cociente se guarda en AX y el residuo en DX.
IDIV
Propósito: División con signo
Consiste basicamente en lo mismo que la instrucción DIV, solo que esta última
realiza la operación con signo.
Para sus resultados utiliza los mismos registros que la instrucción DIV.
¿Por qué la última modificación del programa generó un error en la ejecución?
Por haberse divido entre “0”.
Investigación complementaria
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 flujo-gramas 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, Prentice Hall, México DF, 1995
3
Biblioteca UDB 001.6404 B847 1997
Godfrey, T. Lenguaje Ensamblador para Microcomputadoras IBM : Para Principiantes y
Avanzados, Prentice Hall, México DF, 1991
1
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/a
sm_tutorial_06.html

Más contenido relacionado

La actualidad más candente

codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarthejp
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasCarlos Gascón
 
Señales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABSeñales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABJose Agustin Estrada
 
Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabYeni Ochoa
 
Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Cristian Ortiz Gómez
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajesJean Bernard
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaAtahualpa Acosta
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4Luis Zurita
 
TRANSFORMADA DE LAPLACE PARA CIRCUITOS RLC
TRANSFORMADA  DE LAPLACE PARA CIRCUITOS RLCTRANSFORMADA  DE LAPLACE PARA CIRCUITOS RLC
TRANSFORMADA DE LAPLACE PARA CIRCUITOS RLCJOe Torres Palomino
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionAlieth Guevara
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binarioMariela Cabezas
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraEdwin Rosario Gabriel
 
Convertidores Digital Analogico
Convertidores Digital AnalogicoConvertidores Digital Analogico
Convertidores Digital AnalogicoRicardo Solorzano
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registrosMarco Antonio
 

La actualidad más candente (20)

codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolar
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicas
 
Señales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABSeñales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLAB
 
Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplab
 
Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajes
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
TRANSFORMADA DE LAPLACE PARA CIRCUITOS RLC
TRANSFORMADA  DE LAPLACE PARA CIRCUITOS RLCTRANSFORMADA  DE LAPLACE PARA CIRCUITOS RLC
TRANSFORMADA DE LAPLACE PARA CIRCUITOS RLC
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de altera
 
Convertidores Digital Analogico
Convertidores Digital AnalogicoConvertidores Digital Analogico
Convertidores Digital Analogico
 
Semaforos
SemaforosSemaforos
Semaforos
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registros
 

Destacado

Prezentacja dagmara piskorska zarządzanie semestr i
Prezentacja   dagmara piskorska zarządzanie semestr iPrezentacja   dagmara piskorska zarządzanie semestr i
Prezentacja dagmara piskorska zarządzanie semestr iDagmara Piskorska
 
Intoduction to marketing and promotion
Intoduction to marketing and promotionIntoduction to marketing and promotion
Intoduction to marketing and promotionChristopher Baker
 
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...Eu Villafranca
 
Primera tutoria
Primera tutoriaPrimera tutoria
Primera tutoriareyna20121
 
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...судебная практика верховного суда рф по спорам об исполнении кредитных обязат...
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...Руслан Юрист
 
A World Class Website for a Small Town
A World Class Website for a Small Town A World Class Website for a Small Town
A World Class Website for a Small Town Saskia Videler
 
Arquitectura de Computadoras
Arquitectura de ComputadorasArquitectura de Computadoras
Arquitectura de ComputadorasFredy Soncco
 
Políticas económicas del estado
Políticas económicas del estadoPolíticas económicas del estado
Políticas económicas del estadoGIZELLE BERNAL
 
ERideau Birkman_Dec2015
ERideau Birkman_Dec2015ERideau Birkman_Dec2015
ERideau Birkman_Dec2015Errol Rideau
 
Sarcasm in the Workplace: What totally works and what doesn't
Sarcasm in the Workplace: What totally works and what doesn'tSarcasm in the Workplace: What totally works and what doesn't
Sarcasm in the Workplace: What totally works and what doesn'tINSEAD
 

Destacado (17)

Prezentacja dagmara piskorska zarządzanie semestr i
Prezentacja   dagmara piskorska zarządzanie semestr iPrezentacja   dagmara piskorska zarządzanie semestr i
Prezentacja dagmara piskorska zarządzanie semestr i
 
Section 1
Section 1Section 1
Section 1
 
Intoduction to marketing and promotion
Intoduction to marketing and promotionIntoduction to marketing and promotion
Intoduction to marketing and promotion
 
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...
Programa Sección Bilingüe en inglés - IES Miguel de Cervantes - 2014 - Alcáza...
 
Primera tutoria
Primera tutoriaPrimera tutoria
Primera tutoria
 
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...судебная практика верховного суда рф по спорам об исполнении кредитных обязат...
судебная практика верховного суда рф по спорам об исполнении кредитных обязат...
 
Pool patio furniture
Pool patio furniturePool patio furniture
Pool patio furniture
 
Cuaresma
CuaresmaCuaresma
Cuaresma
 
Estadistica
EstadisticaEstadistica
Estadistica
 
A World Class Website for a Small Town
A World Class Website for a Small Town A World Class Website for a Small Town
A World Class Website for a Small Town
 
Arquitectura de Computadoras
Arquitectura de ComputadorasArquitectura de Computadoras
Arquitectura de Computadoras
 
Sitios turísticos del mundo
Sitios turísticos del mundoSitios turísticos del mundo
Sitios turísticos del mundo
 
El Barca n Argentina Team
El Barca n Argentina TeamEl Barca n Argentina Team
El Barca n Argentina Team
 
Políticas económicas del estado
Políticas económicas del estadoPolíticas económicas del estado
Políticas económicas del estado
 
ERideau Birkman_Dec2015
ERideau Birkman_Dec2015ERideau Birkman_Dec2015
ERideau Birkman_Dec2015
 
Que estudia la economía monserrat morones
Que estudia la economía monserrat moronesQue estudia la economía monserrat morones
Que estudia la economía monserrat morones
 
Sarcasm in the Workplace: What totally works and what doesn't
Sarcasm in the Workplace: What totally works and what doesn'tSarcasm in the Workplace: What totally works and what doesn't
Sarcasm in the Workplace: What totally works and what doesn't
 

Similar a Guía instrucciones aritméticas microprocesadores

Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfMelidaCedeo1
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontroladorJuan Gamboa P
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2Luis Zurita
 
Guia de ejercicios 2
Guia de ejercicios 2Guia de ejercicios 2
Guia de ejercicios 2Jaime_ulises
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucJair BG
 
Microcontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdfMicrocontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdfSANTIAGO PABLO ALBERTO
 
Lab6_LIE812_IIIPAC2022.pdf
Lab6_LIE812_IIIPAC2022.pdfLab6_LIE812_IIIPAC2022.pdf
Lab6_LIE812_IIIPAC2022.pdfEmilio Yanes
 
Microcontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioMicrocontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioSANTIAGO PABLO ALBERTO
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Mauricio Diaz Garcia
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del bancoAnibal Ulibarri
 
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVRMicrocontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVRSANTIAGO PABLO ALBERTO
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucionJair BG
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010Jair BG
 
Laboratorio de Microcomputadoras - Práctica 02
 Laboratorio de Microcomputadoras - Práctica 02 Laboratorio de Microcomputadoras - Práctica 02
Laboratorio de Microcomputadoras - Práctica 02Cristian Ortiz Gómez
 
microprocesadores y microcontroladores
microprocesadores y microcontroladoresmicroprocesadores y microcontroladores
microprocesadores y microcontroladoresnetmedical
 
Laboratorio 2 juan_pinzon
Laboratorio 2 juan_pinzonLaboratorio 2 juan_pinzon
Laboratorio 2 juan_pinzonjuancar99
 

Similar a Guía instrucciones aritméticas microprocesadores (20)

Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdf
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontrolador
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Guia de ejercicios 2
Guia de ejercicios 2Guia de ejercicios 2
Guia de ejercicios 2
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_soluc
 
Microcontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdfMicrocontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdf
 
Lab6_LIE812_IIIPAC2022.pdf
Lab6_LIE812_IIIPAC2022.pdfLab6_LIE812_IIIPAC2022.pdf
Lab6_LIE812_IIIPAC2022.pdf
 
Microcontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioMicrocontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR Studio
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11
 
Teorico2
Teorico2Teorico2
Teorico2
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
 
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVRMicrocontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
Microcontroladores: Programación en lenguaje ensamblador de Atmel Studio AVR
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
 
Tutorial casio 2011
Tutorial casio 2011Tutorial casio 2011
Tutorial casio 2011
 
Laboratorio de Microcomputadoras - Práctica 02
 Laboratorio de Microcomputadoras - Práctica 02 Laboratorio de Microcomputadoras - Práctica 02
Laboratorio de Microcomputadoras - Práctica 02
 
microprocesadores y microcontroladores
microprocesadores y microcontroladoresmicroprocesadores y microcontroladores
microprocesadores y microcontroladores
 
Laboratorio 2 juan_pinzon
Laboratorio 2 juan_pinzonLaboratorio 2 juan_pinzon
Laboratorio 2 juan_pinzon
 
Portafolio-Arquitectura de Maquinas
Portafolio-Arquitectura de MaquinasPortafolio-Arquitectura de Maquinas
Portafolio-Arquitectura de Maquinas
 

Más de Fredy Soncco

Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SWFredy Soncco
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SWFredy Soncco
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086Fredy Soncco
 
Contrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesContrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesFredy Soncco
 
Base de Datos- Toad
Base de Datos- ToadBase de Datos- Toad
Base de Datos- ToadFredy Soncco
 

Más de Fredy Soncco (8)

Preguntas tc
Preguntas tcPreguntas tc
Preguntas tc
 
Analisis Lexico
Analisis  LexicoAnalisis  Lexico
Analisis Lexico
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SW
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SW
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086
 
Contrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesContrato de transaccion de bienes muebles
Contrato de transaccion de bienes muebles
 
Base de Datos- Toad
Base de Datos- ToadBase de Datos- Toad
Base de Datos- Toad
 
2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
 

Último

Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 

Guía instrucciones aritméticas microprocesadores

  • 1. 3Guía 1 Instrucciones Aritméticas Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Objetivo General Analizar la forma en que se ejecutan algunas instrucciones aritméticas y de manejo de la PILA. Objetivos Específicos  Observar el uso de algunas instrucciones aritméticas y las banderas que son afectadas.  Identificar las banderas que afecta cada instrucción observada.  Utilizar correctamente los registros del microprocesador al realizar operaciones aritméticas, tanto de 8 bits como de 16 bits.  Analizar detenidamente el proceso de cada operación. Materiales y equipos  Guía de laboratorio  Computadora PC con el programa EMU8086 Procedimiento 1) Ejecute el programa emulador de microprocesadores EMU8086, haciendo doble clic en el icono del escritorio. 2) Cree un nuevo documento tipo COM 3) 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? ¿Dónde se almacena el resultado al final de las operaciones? DATOS: byte1 >> con el valor de 125 byte2 >> con el valor de 150 word1 >> con el valor 20A3h word2 >> con el valor 5938h OPERACIONES SUMA “ADD” RESULTADO1 125 + 150 = 113 < pero como solo es de 1 bit saldrá “13” como respuesta. RESULTADO2 20A3 + 5938 = 79BD < saldrá todo el resultado por ser de 2 bits.
  • 2. PRIMER PROGRAMA INICIO AL = byte1 AL = AL + byte2 M[011Eh] = AL AX = word1 AX = AX +word2 M[011Fh] = AX FIN #make_COM# org 100h byte1 byte2 word1 word2 END equ 125 equ 150 equ 20A3h equ 5938h mov al, byte1 ;suma de 2 números de 1 byte add al, byte2 mov [011Eh], al mov ax, word1 ;suma de 2 números de 2 byte add ax, word2 mov [011Fh], ax ret 4) Digite y emule el programa 5) Antes de ejecutar el programa tome nota del contenido almacenado en las direcciones 011Eh, 011Fh y 0120h en la TABLA 1, también del estado de las banderas. 6) 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 ¿Concuerda el resultado lo que usted esperaba? SI MOMENTO DIRECCIONES BANDERAS 011Eh 011Fh 0120h O S Z A P C Inicio 00 00 00 00 00 00 0 0 0 0 0 0 Después del 1ª suma 13 00 00 00 00 00 0 0 0 1 0 1 Antes de la 2ª suma 13 00 00 00 00 00 0 0 0 1 0 1 Después de la 2ª suma 13 00 DB 79 79 00 0 0 0 0 1 0 Después del último MOV 13 00 BD 79 79 00 0 0 0 0 1 0 TABLA 1 7) Cargue nuevamente el programa e invierta manualmente el estado del acarreo. 8) Ejecute paso a paso hasta la primera suma. ¿Cambió el resultado de la operación? NO 9) Continúe ejecutando el programa hasta la segunda suma ¿Se dio algún cambio? NO
  • 3. 10) Modifique el código fuente sustituyendo las instrucciones ADD por ADC y emule nuevamente el programa. 11) Repita desde el paso 7 y compare con los resultados previos.  Ejecute paso a paso hasta la primera suma. ¿Cambió el resultado de la operación? NO  Continúe ejecutando el programa hasta la segunda suma ¿Se dio algún cambio? SI
  • 4. ¿Qué resultados se modificaron?, ¿qué parte no?, ¿por qué cree que se dieron esos cambios específicos en los resultados? Banderas (flags), hasta la parte de la segunda adición, 6ta Rum. 12) Modifique el programa para que funcione como al inicio, pero cambie los datos con los siguientes valores: byte1 equ 9Dh byte2 equ 83h word1 equ 5938 word2 equ -5938 13) 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?
  • 5. 14) Analice el SEGUNDO PROGRAMA, ¿dónde se almacena el resultado de las operaciones? ¿cuál es el resultado de las mismas? SEGUNDO PROGRAMA #make_COM# org 100h byte1 byte2 word1 word2 equ 80 equ 69 equ 26437 equ 325 mov cl, byte1 ;resta de 2 números de 1 byte sub cl, byte2 mov dx, word1 ;resta de 2 números de 2 byte sub dx, word2
  • 6. INICI O END ret CL = byte1 CL = CL + byte2 DX = word1 DX = DX - word2 FIN 15) Digite y emule el programa tomando nota del valor de los minuendos y sustraendos (en formato hexadecimal) con que se realizarán las operaciones en la TABLA 2. 16) Ejecute paso a paso el programa, observando los resultados de las operaciones y el estado de las banderas. Anote estos valores en la TABLA 2. 17) Modifique el programa para que se invierta el orden de la operación, de forma que el minuendo pasa a ser sustraendo y viceversa. Repita el paso anterior tomando nota en la segunda fila de la TABLA 2. 18) Repita los pasos 16 y 17, pero esta vez active manualmente el acarreo antes de cada resta ¿observa cambios en las operaciones? 19) Cambie el programa para que funcione como al principio. 20) Sustituya las instrucciones SUB por SBB y repita los pasos anteriores. Complete la TABLA 2. ¿Qué diferencias nota entre la ejecución de la instrucción SUB y SBB? SUB Resta el operando fuente del destino. Propósito: Substracción SBB Esta instrucción resta los operandos y resta uno al resultado si CF está activada. El operando fuente siempre se resta del destino. Propósito: Substracción con acarreo Instrucción Prueba Minuendo Sustraendo Diferencia O S Z A P C SUB 1º 50 45 0B 0 0 0 1 0 0 6745 145 6600 0 0 0 0 1 0 2º 45 50 5F 0 1 0 0 1 1 145 6745 9A00 0 1 0 0 1 1 SBB 3º 50 45 0B 0 0 0 1 0 0 6745 145 6600 0 0 0 0 1 0 4º 45 50 5F 0 1 0 0 1 1 145 6745 9A00 0 1 0 1 1 1 TABLA 2 21) Analice el TERCER PROGRAMA ¿qué registros están involucrados en el proceso? ¿qué datos se van a operar? ¿dónde se almacenará el resultado?
  • 7. LOS REGISTROS SIGUIENTES: AH, AL, CL LOS DATOS QUE SE OPERAN AL = 0FFh (FACTOR) CL = 06 (FACTOR) SE ALMACENA EN AX. (05: FA) TERCER PROGRAMA INICIO AH = AAh AL = 0FFh CL = 06h AX = (AL) X (CL) FIN #make_COM# org 100h INICIO: END mov ah, 0AAh ;multiplica 2 números de 1 byte mov al, 0FFh mov cl, 06 mul cl ret 22) Digite y emule el TERCER PROGRAMA 23) 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? SI en MUL y NO en IMUL Instrucción Dato Multiplicando Multiplicador Producto MUL 06 FF 06 05: FA -06 FF -06 F9: 06 IMUL 06 FF 06 FF: FA -06 FF -06 00: 06 TABLA 3
  • 8. 24) Modifique el dato de CL colocando -06 y ejecute nuevamente el programa. Anote los resultados en la TABLA 3. 25) Cambien la instrucción MUL por IMUL y el dato -06 por 06. 26) Ejecute el programa y anote los resultados. 27) Cambie el dato por -06, ejecute nuevamente y anote los resultados 28) Analice el CUARTO PROGRAMA ¿qué registros están involucrados en el proceso? ¿qué datos se van a operar? ¿dónde se almacenará el resultado? 29) Realice el mismo procedimiento del TRECER PROGRAMA, pero ahora el dato que será cambiado es 05 y la operación DIV por IDIV. Anote sus resultados en la TABLA 4. CUARTO PROGRAMA INICIO AX = 123 CL = 05 AH(res),AL(cos) = (AL) ÷ (CL) FIN #make_COM# org 100h INICIO: END mov ax, 123 ;multiplica 2 números de 1 byte mov cl, 05 ;Dato div cl ret Instrucción Dato Dividendo Divisor Cociente Residuo DIV 05 7B 05 18 3 -05 7B FB 00 7B IDIV 05 7B 05 18 3 -05 7B FB E8 3
  • 9. TABLA 4 30) Cambie el dato por 00h y ejecute el programa ¿qué ocurrió? Error en la división entre 0
  • 10. Análisis de resultados a) Primer programa Tomando en cuenta los datos particulares de cada operación explique el porque de la activación o desactivación de las banderas O, S, Z, C y A. Explique porque los resultados de las operaciones cambiaron al usar ADC en lugar de ADD. Utilice cálculos para fundamentar su explicación. ADC Propósito: Adición con acarreo. Lleva a cabo la suma de dos operandos y suma uno al resultado en caso de que la bandera CF esté activada, esto es, en caso de que exista acarreo. El resultado se guarda en el operando destino. ADD Propósito: Adición de los operandos. Suma los dos operandos y guarda el resultado en el operando destino. b) Segundo programa Al ejecutar una resta las banderas C y A reaccionan diferente si el minuendo es mayor o menor al sustraendo, explique el porque basándose en el concepto de préstamo. Explique porque los resultados de las operaciones cambiaron al usar SBB en lugar de SUB. Utilice cálculos para fundamentar su explicación. SUB Propósito: Substracción Resta el operando fuente del destino. SBB Propósito: Substracción con acarreo Esta instrucción resta los operandos y resta uno al resultado si CF está activada. El operando fuente siempre se resta del destino. c) Tercer programa ¿Cómo se especifica en una instrucción de multiplicación que se desea trabajar con números de un byte? En qué registros se almacenan los datos y el resultado de una multiplicación de un byte? Explique porque los resultados de las operaciones cambiaron al usar IMUL en lugar de MUL. Utilice cálculos para fundamentar su explicación.
  • 11. MUL Propósito: Multiplicación sin signo El ensamblador asume que el multiplicando sera del mismo tamaño que el del multiplicador, por lo tanto multiplica el valor almacenado en el registro que se le da como operando por el que se encuentre contenido en AH si el multiplicador es de 8 bits o por AX si el multiplicador es de 16 bits. Cuando se realiza una multiplicación con valores de 8 bits el resultado se almacena en el registro AX y cuando la multiplicación es con valores de 16 bits el resultado se almacena en el registro par DX:AX. IMUL Propósito: Multiplicación de dos enteros con signo. Este comando hace lo mismo que el anterior, solo que si toma en cuenta los signos de las cantidades que se multiplican. Los resultados se guardan en los mismos registros que en la instrucción MUL. d) Cuarto programa ¿Cómo se especifica en una instrucción de división que se desea trabajar con números de un byte? En qué registros se almacenan los datos y el resultado de una división de un byte? Explique porque los resultados de las operaciones cambiaron al usar IDIV en lugar de DIV. Utilice cálculos para fundamentar su explicación. DIV Propósito: División sin signo El divisor puede ser un byte o palabra y es el operando que se le da a la instrucción. Si el divisor es de 8 bits se toma como dividendo el registro de 16 bits AX y si el divisor es de 16 bits se tomara como dividendo el registro par DX:AX, tomando como palabra alta DX y como baja AX. Si el divisor fué un byte el cociente se almacena en el registro AL y el residuo en AH, si fué una palabra el cociente se guarda en AX y el residuo en DX. IDIV Propósito: División con signo Consiste basicamente en lo mismo que la instrucción DIV, solo que esta última realiza la operación con signo. Para sus resultados utiliza los mismos registros que la instrucción DIV. ¿Por qué la última modificación del programa generó un error en la ejecución? Por haberse divido entre “0”. Investigación complementaria
  • 12. 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 flujo-gramas 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, Prentice Hall, México DF, 1995 3 Biblioteca UDB 001.6404 B847 1997
  • 13. Godfrey, T. Lenguaje Ensamblador para Microcomputadoras IBM : Para Principiantes y Avanzados, Prentice Hall, México DF, 1991 1 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/a sm_tutorial_06.html