Registro de direcciones de 8086 Registro de direcciones
8086 tiene 8 registros de 16 bits, incluidos los registros de pila SP y BP, pero no incluye el registro de instrucciones IP, el registro de control FLAGS ni los 4 registros de segmento.
Se puede acceder a los cuatro registros AX, BX, CX y DX byte a byte; sin embargo, a los cuatro registros de direcciones BP, SI, DI y SP solo se puede acceder con un ancho de 16 bits.
El 8086, basado en el 8080 y el 8085 (compatible con el código fuente en lenguaje ensamblador del 8080), tiene un conjunto de registros similar, pero ampliado a 16 bits. La unidad de interfaz de bus envía instrucciones a las unidades de ejecución a través de una cola de búsqueda previa de 6 bytes, por lo que la búsqueda y ejecución de instrucciones son sincrónicas, lo cual es una forma primitiva de canalización (la longitud de la instrucción 8086 varía de 1 byte a 6 bytes).
El 8086 tiene cuatro registros idénticos de 16 bits, pero también se puede acceder a él como ocho registros de 8 bits y cuatro registros de direcciones variables de 16 bits (que contienen el índice de pila). Los registros de datos a menudo se utilizan implícitamente en las instrucciones y los valores de los registros requieren una configuración de registro compleja. Proporciona puertos de salida-entrada de 64K y 8 bits (o 32K y 16 bits) e interrupciones vectoriales fijas. La mayoría de las instrucciones sólo pueden acceder a una única dirección de memoria, por lo que uno de los operadores debe ser un dispositivo de retransmisión. El resultado de la operación se almacena en uno de los operadores.
El registro de direcciones de 64 bits puede almacenar 2 direcciones. La unidad básica de memoria es bytes. En otras palabras, admite hasta 16EiB de memoria y 1EiB equivale a 1024GiB. Sin embargo, las CPU de 64 bits actuales no tienen un bus de direcciones de 64 bits.