Arquitectura 8088 y 8086

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

Arquitectura de los procesadores 8088 y 8086:

El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como


en sus conexiones externas, mientras que el 8088 es un procesador de 8 bits que
internamente es casi idéntico al 8086. La única diferencia entre ambos es el tamaño del
bus de datos externo. Intel trata esta igualdad interna y desigualdad externa dividiendo
cada procesador 8086 y 8088 en dos sub-procesadores. O sea, cada uno consta de una
unidad de ejecución (EU: Execution Unit) y una unidad interfaz del bus (BIU: Bus Interface
Unit). La unidad de ejecución es la encargada de realizar todas las operaciones mientras
que la unidad de interfaz del bus es la encargada de acceder a datos e instrucciones del
mundo exterior. Las unidades de ejecución son idénticas en ambos microprocesadores,
pero las unidades de interfaz del bus son diferentes en varias cuestiones, como se
desprende del siguiente diagrama en bloques:

Registros de uso general del 8086/8088:


Tienen 16 bits cada uno y son ocho:
AX = Registro acumulador, dividido en AH y AL (8 bits cada uno).
Usándolo se produce (en general) una instrucción que ocupa un byte menos que si se
utilizaran otros registros de uso general. Su parte más baja, AL, también tiene esta
propiedad. El último registro mencionado es el equivalente al acumulador de los
procesadores anteriores (8080 y 8085). Además hay instrucciones como DAA; DAS; AAA;
AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT que trabajan con AX o con uno de sus
dos bytes (AH o AL). También se utiliza este registro (junto con DX a veces) en
multiplicaciones y divisiones.
BX = Registro base, dividido en BH y BL.
Es el registro base de propósito similar (se usa para direccionamiento indirecto) y es una
versión más potente del par de registros HL de los procesadores anteriores.
CX = Registro contador, dividido en CH y CL.
Se utiliza como contador en bucles (instrucción LOOP), en operaciones con cadenas
(usando el prefijo REP) y en desplazamientos y rotaciones (usando el registro CL en los
dos últimos casos).
DX = Registro de datos, dividido en DH y DL.
Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la instrucción CWD y
en IN y OUT para direccionamiento indirecto de puertos (el registro DX indica el número
de puerto de entrada/salida).
SP = Puntero de pila (no se puede subdividir).
Aunque es un registro de uso general, debe utilizarse sólo como puntero de pila, la cual
sirve para almacenar las direcciones de retorno de subrutinas y los datos temporarios
(mediante las instrucciones PUSH y POP). Al introducir (push) un valor en la pila a este
registro se le resta dos, mientras que al extraer (pop) un valor de la pila este a registro se
le suma dos.
BP = Puntero base (no se puede subdividir).
Generalmente se utiliza para realizar direccionamiento indirecto dentro de la pila.
SI = Puntero índice (no se puede subdividir).
Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar
direccionamiento indirecto.
DI = Puntero destino (no se puede subdividir).
Sirve como puntero destino para las operaciones con cadenas. También sirve para
realizar direccionamiento indirecto.

Referencias
Alpern, D. A. (s.f.). Alpertron. Obtenido de https://www.alpertron.com.ar/8088.HTM

También podría gustarte