Unidad III

Páginas: 12 (2784 palabras) Publicado: 9 de junio de 2015
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS

MICROPROGRAMACION

UNIDAD III
Modos de direccionamiento del 8086/8088:
Estos procesadores tienen 27 modos de direccionamiento (una cantidad bastante más
grande que los microprocesadores anteriores) o reglas para localizar un operando de una
instrucción. Tres de ellos son comunes amicroprocesadores anteriores:
Direccionamiento inmediato (el operando es un número que se encuentra en la misma
instrucción),
Direccionamiento a registro (el operando es un registro del microprocesador) y
Direccionamiento inherente (el operando está implícito en la instrucción, por ejemplo, en
la multiplicación uno de los operandos siempre es el acumulador).
El resto de los modos sirve para localizarun operando en memoria. Para facilitar la
explicación de estos modos, se pueden resumir de la siguiente manera:
Deben sumarse cuatro cantidades: 1) dirección de segmento, 2) dirección base, 3) una
cantidad índice y 4) un desplazamiento.
La dirección de segmento se almacena en el registro de segmento (DS, ES, SS o CS). En la
unidad anterior se indicó la forma en que se hace esto. Por ahora bastacon recordar que el
contenido del registro de segmento se multiplica por 16 antes de utilizarse para obtener la
dirección real. El registro de segmentación siempre se usa para referenciar a memoria. La
base se almacena en el registro base (BX o BP). El índice se almacena en el registro índice
(SI o DI). Cualquiera de estas dos cantidades, la suma de las dos o ninguna, pueden
utilizarse para calcularla dirección real, pero no pueden sumarse dos bases o dos índices.
Los registros restantes (AX, CX, DX y SP) no pueden utilizarse para direccionamiento
indirecto.
El programador puede utilizar tanto la base como el índice para gestionar ciertas cosas,
tales como matrices de dos dimensiones, o estructuras internas a otras estructuras,
esquemas que se utilizan en las prácticas comunes deprogramación. La base y el índice son
variables o dinámicas, ya que están almacenadas en registros de la CPU. Es decir, pueden
modificarse fácilmente mientras se ejecuta un programa.
Además del segmento, base e índice, se usa un desplazamiento de 16 bits, 8 bits o 0 bits
(sin desplazamiento). Ésta es una cantidad estática que se fija al tiempo de ensamblado
(paso de código fuente a código de máquina) y nopuede cambiarse durante la ejecución del
programa (a menos que el programa se escriba sobre sí mismo, lo que constituye una
práctica no aconsejada).

Todo esto genera los 24 modos de direccionamiento a memoria que se ven a continuación:
- Registro indirecto: 1) [BX], 2) [DI]. 3) [SI].
- Basado: 4) desp8[BX], 5) desp8[BP], 6) desp16[BX], 7) desp16[BP].
- Indexado: 8) desp8[SI], 9) desp8[DI], 10)desp16[SI], 11) desp16[DI].
- Basado-indexado: 12) [BX+SI], 13) [BX+DI], 14) [BP+SI], 15) [BP+DI].
- Basado-indexado con desplazamiento: 16) desp8[BX+SI], 17) desp8[BX+DI],
18)desp8[BP+SI],19) desp8[BP+DI], 20) desp16[BX+SI], 21) desp16[BX+DI],
22)desp16[BP+SI], 23) desp16[BP+DI].
-Directo: 24) [desp16].
Aquí desp8 indica desplazamiento de 8 bits y desp16 indica desplazamiento de 16 bits.
Otrascombinaciones no están implementadas en la CPU y generarán error al querer
ensamblar, por ejemplo, ADD CL,[DX+SI].
El ensamblador genera el tipo de desplazamiento más apropiado (0, 8 ó 16 bits)
dependiendo del valor que tenga la constante: si vale cero se utiliza el primer caso, si vale
entre -128 y 127 se utiliza el segundo, y en otro caso se utiliza el tercero. Nótese que [BP]
sin desplazamiento noexiste.
Al ensamblar una instrucción como, por ejemplo, MOV AL,[BP], se generará un
desplazamiento de 8 bits con valor cero. Esta instrucción ocupa tres bytes, mientras que
MOV AL,[SI] ocupa dos, porque no necesita el desplazamiento.
Estos modos de direccionamiento producen algunos inconvenientes en el 8086/8088. La
CPU gasta tiempo calculando una dirección compuesta de varias cantidades....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Unidad III
  • Unidad III
  • UNIDAD III
  • UNIDAD III
  • UNIDAD III
  • unidad III
  • UNIDAD III
  • Unidad Iii

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS