El documento describe las características del microprocesador Intel 8086/8088, incluyendo su arquitectura de 16 bits, capacidad de direccionamiento de 20 bits y 92 tipos de instrucciones. Describe los registros del programador como AX, BX, CX, DX y los registros de segmento, punteros e índices como CS, DS, SS, ES, SP, BP, SI y DI. También cubre el registro de estado de banderas y otros registros como IP.
3. -Arquitectura interna de 16 bits-Pueden trabajar con operandos de 8 y 16 bits-Capacidad de direccionamiento de 20 bits (220 = 1’048.576 =1Mbyte)-Frecuencia de reloj de 4.77MHz-Comparten el mismo juego de instrucciones. Características
4. El 8088 tiene un bus de datos de 8 bits, lo cual le hace más lento que su hermano el 8086, pues éste es capaz de cargar 16 bits en un solo ciclo de memoria mientras el 8088 debe realizar dos ciclos leyendo cada vez un byte. Características
5. Disponen de 92 tipos de instrucciones, que pueden ejecutar con hasta 7 modos de direccionamiento Características
6. Tienen una capacidad de direccionamiento en puertos de entrada y salida de hasta 64K (65536 puertos) Características
8. AX AcumuladorEste registro es utilizado para uso general, sin embargo se utiliza enalgunas instrucciones específicas, tales como, la multiplicación, división, conversiones, operaciones de I/O y manejo decadenas. Propósito general
9. BX BaseEs el único de propósito general que puede ser base (índice ) para direccionamiento indexado. Propósito general
10. CX ContadorAdemás de propósito general, permite la ejecución de ciclos repetitivos, contador en manejo de cadenas, instrucciones de desplazamiento y rotación. Propósito general
11. DX DatosAdemás de propósito general, sirve como extensión a 32 bits del acumulador en multiplicación y división y dirección de puerto en E/S. Propósito general
13. SP = Puntero de pila (stack pointer). Apunta a la cabeza de la pila. Utilizado en las instrucciones de manejo de la pila. Punteros e índices
14. BP = Puntero base (base pointer). apunta a una zona dentro de la pila dedicada al almacenamiento de datos (variables locales y parámetros de procedimientos). Punteros e índices
15. SI = Índice fuente (sourceindex). Utilizado como registro de índice en ciertos modos de direccionamiento indirecto, también se emplea para guardar un valor de desplazamiento en operaciones de cadenas. Punteros e índices
16. DI = Índice destino (destinationindex). Se usa en determinados modos de direccionamiento indirecto y para almacenar un desplazamiento en operaciones con cadenas. Punteros e índices
18. Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas áreas pueden solaparse total o parcialmente. Definen direcciones físcas de 20 bits con registros de 16 (segmentación) Registros de Segmento
20. CS = Registro de segmento de código (codesegment). Contiene la dirección del segmento con las instrucciones del programa. Los programas de más de 64 Kb requieren cambiar CS periódicamente.
21. DS = Registro de segmento de datos (data segment). Segmento del área de datos del programa. Registros de Segmento
22. SS = Registro de segmento de pila (stacksegment). Define el área de pila. Registros de Segmento
23. ES = Registro de segmento extra (extra segment). Segmento de ampliación para zona de datos. Es útil actuando en conjunción con DS cuando se trata de intercambiar datos Registros de Segmento
25. IP = Puntero de instrucción (instruction pointer). Marca el desplazamiento de la instrucción en curso dentro del segmento de código. Es automáticamente modificado con la lectura de una instrucción. Puntero de instrucciones
26. Registro de estado o de indicadores (flags). Es un registro de 16 bits de los cuales 9 son utilizados para indicar diversas situaciones durante la ejecución de un programa. Registro de banderas
27. Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condición, que reflejan los resultados de operaciones del programa Registro de banderas
28. los bits del 8 al 10 son indicadores de control y el resto no se utilizan. Estos indicadores pueden ser comprobados por las instrucciones de salto condicional, lo que permite variar el flujo secuencial del programa según el resultado de las operaciones. Registro de banderas
30. CF (CarryFlag) Indicador de acarreo en una suma o débito en una resta. También surge como una extensión de un bit en operaciones de desplazamiento y rotación Banderas
31. OF (OverflowFlag) Indicador de desbordamiento en complemento a 2’s. Indica que el resultado de una operación (con operandos enteros) no cabe en el tamaño del operando destino. Banderas
32. ZF (ZeroFlag) Indicador de resultado 0 o comparación igual. SF (SignFlag) Indicador de resultado o comparación negativa. Banderas
33. PF (ParityFlag) Indicador de paridad. Se activa tras algunas operaciones aritmético-lógicas para indicar que el número de unos resultante es par. AF (AuxiliaryFlag) Acarreo del nibble inferior. Para ajuste en operaciones BCD. Banderas
34. TF (TrapFlag): Indicador de atrape (ejecución paso a paso). DF (DirectionFlag): Indicador de dirección. Manipulando bloques de memoria, indica el sentido de avance (ascendente/descendente). IF (InterruptFlag): Indicador de interrupciones: puesto a 1 están permitidas. Banderas