Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a los microprocesadores 1
MESA: 03
GRUPO: 02
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 2
Marco teórico.
Objetivo general:
Conocer las distintas directivas de programación para los distintos modos de direccionamiento
disponibles para los microprocesadores Intel.
Objetivos específicos:
Conocer cómo opera el direccionamiento por registros y como afecta el bit de bandera Carry
en una operación aritmética de tipo suma o adición.
Identificar las sentencias de programación que correspondan a un direccionamiento directo y
las banderas que se afecten en una operación aritmética de tipo resta o sustracción.
Combinar el direccionamiento indirecto por registro y el direccionamiento directo por datos
para la lectura de datos en memoria y efectuar la operación aritmética multiplicación.
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 3
Este modo de direccionamiento es el más común para direccionar datos, además de ser el más fácil
de aplicar cuando ya se tienen claros los registros disponibles según el microprocesador a utilizar.
Digite el siguiente código seleccionando la opción nuevo archivo de tipo .COM y que el código inicie
desde la posición de memoria 100H.
a) antes de ejecutar el código anterior rellene la siguiente tabla donde se muestran los estados
iniciales de los bits de bandera:
CF ZF SF OF PF AF IF DF
0 0 0 0 0 0 1 0
b) luego de ejecutar el código y llegar hasta la sentencia “ret” vuelva a rellenar la tabla de los
bits de bandera:
CF ZF SF OF PF AF IF DF
1 1 0 0 1 1 0 0
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 4
a) antes de ejecutar el código anterior rellene la siguiente tabla donde se muestran los estados
iniciales de los bits de bandera:
CF ZF SF OF PF AF IF DF
0 0 0 0 0 0 1 0
b) luego de ejecutar el código y llegar hasta la sentencia “ret” vuelva a rellenar la tabla de los
bits de bandera:
CF ZF SF OF PF AF IF DF
1 0 1 0 1 1 0 0
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 6
La instrucción SUB realiza la resta de dos operandos y guarda el resultado en el primero de ellos.
Admite todos los modos de direccionamiento, excepto dos operandos en memoria
En esta instrucción se entiende que se copia en CL el contenido tipo byte de la dirección de memoria
1234H del segmento de datos. En este modo de direccionamiento es usual el uso del DS ya que en
este registro se almacenan datos. Eso no implica que no se pueda utilizar otro registro de tipo
segmento. Digite el siguiente código utilizando la plantilla de programación .COM y partiendo desde
el origen de memoria 100H.
a) antes de ejecutar el código anterior rellene la siguiente tabla donde se muestran los estados
iniciales de los bits de bandera:
CF ZF SF OF PF AF IF DF
0 0 0 0 0 0 1 0
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 8
c) investigue como opera la directiva de programación “MUL”, luego explique cuales bits de
bandera se activan después de ejecutar el programa anterior y detalle porque quedan activados.
Asignaciones.
1. Investigue como colocar a cero los bits de bandera afectados por una operación aritmética.
Con el conjunto de instrucciones PUSH y POPF es posible alterar los valores de los bits relacionados
al registro de estados del microprocesador 8086, el cual contiene todas las banderas indicadoras
que se ven modificadas mediante las operaciones aritméticas / lógicas que se ejecutan en los
programas.
Por ejemplo, con las siguientes líneas de código podemos colocar a cero los bits de las banderas:
2. Investigue cómo funcionan las distintas palabras reservadas para realizar operaciones aritméticas
en el ensamblador.
Las instrucciones que realizan operaciones aritméticas en el microprocesador 8086 son: ADD, ADC,
DAA, AAA, SUB, SBB, DAS, AAS, NEG, MUL, IMUL, AAM, DIV, IDIV, AAD, CBW, CWB, INC, DEC.
Anteriormente se explicó como funcionan las instrucciones ADD, SUB y MUL, a continuación, se
describe el funcionamiento del resto de operaciones aritméticas:
DAA realiza la corrección BCD empaquetado del resultado de una suma en AL.
El 8086/88 realiza las sumas asumiendo que los operados son ambos valores binarios, de
manera que se suman dos valores codificados en BCD empaquetado el resultado puede no ser
un valor válido en este formato:
Esta instrucción si AF = 1 o el valor de los 4 bits menos significativos del AL es mayor que 9,
entonces realiza el primer ajuste BCD. Para ello suma a AL el valor 06h.
Después si CF = 1 o el valor de los 4 bits más significativos de AL es mayor que 9, realizar el
segundo ajuste BCD. Para ello suma a AL el valor 60h
Esta instrucción afecta también a los bits OF, SF, ZF, AF y PF del registro de estado.
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 1
0
DAS realiza la corrección BCD empaquetado del resultado de una resta en AL. Actúan de
manera similar a la instrucción de ajuste de la suma.
NEG reg
NEG mem
DIV e IDIV realizan la división y la división con signo, respectivamente. De AX entre el operando
para operaciones de 8 bits, guardando el cociente en AL y el resto en AH; y DX:AX entre el
operando para operaciones de 16 bits guardando el cociente en AX y el resto en DX.
DIV/IDIV reg
DIV/IDIV mem
CBW y CWD realizan la extensión del bit de signo de byte a WORD y de WORD a DWORD,
actuando sobre AX y DX:AX, respectivamente.
INC/DEC reg
INC/DEV mem
ORG 200h
;OPERACION DE SUMA
;OPERACION DE RESTA
;OPERACION DE MULTIPLICACION
;OPERACION DE DIVISION
RET
4. Para cada uno de los códigos mostrados en la guía de taller modifique cada código para que
después de realizar cada operación aritmética se coloquen a cero cada bit de bandera.
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 1
4
Programa #1 modificado
org 100h
ret
Programa #2 modificado
org 100h
ret
Modos de direccionamiento e instrucciones aritméticas, introducción
a los microprocesadores 1
5
Programa #3 modificado
org 100h
ret