8088 Montesinos Ollachica Paye PradoFarfan
8088 Montesinos Ollachica Paye PradoFarfan
8088 Montesinos Ollachica Paye PradoFarfan
TAREA 2
INTEGRANTES:
Apellidos y nombres CUI Firma
3. Funcionamiento en general 4
8. Modos de direccionamiento 11
a) Direccionamiento por Registro: 11
b) Direccionamiento Inmediato: 11
c) Direccionamiento Directo: 12
d) Direccionamiento indirecto por registro: 12
e) Direccionamiento Base Más Índice: 12
f) Direccionamiento Relativo por Registro: 13
g) Direccionamiento Relativo Base Más Índice: 13
Hubo dos versiones de la placa base del XT. La versión original tenía la capacidad de
admitir hasta 256KB en la misma placa, organizados en cuatro bloques de chips de
64KB. Esto permitía un máximo de 640KB utilizando tarjetas de expansión. En una
revisión posterior de la placa base introducida en 1986, se logró admitir los 640KB
completos en la placa base, organizados en dos bloques de chips de 256KB y dos
bloques de 64KB.
Con el tiempo, las placas más recientes podían ser adaptadas para cumplir con las
"últimas" especificaciones mediante unas pocas modificaciones menores. La segunda
revisión de la placa también incluía un BIOS revisado de IBM que añadía soporte
para el teclado expandido y reducía significativamente el tiempo de arranque.
En las últimas versiones de los XT, se incluían unidades de disquetes de media altura
de fábrica y ofrecían la opción de un disco duro de 20MB, así como un teclado
"expandido". Sin embargo, en 1985, algunas unidades fueron fabricadas únicamente
con dos disqueteras de tamaño completo y sin disco duro.
3. Funcionamiento en general
La función fundamental de una computadora es ejecutar programas, los cuales
consisten en un conjunto de instrucciones almacenadas en memoria. La CPU es la
responsable de ejecutar estas instrucciones específicas del programa. Para comprender
este proceso, es esencial entender los detalles de la ejecución del programa, que se
puede dividir en dos etapas básicas para procesar una instrucción: la CPU lee (o
busca, en inglés "fetch") la instrucción de memoria y luego la ejecuta. La ejecución
del programa implica repetir este proceso de traer y ejecutar la instrucción.
IC Funcion
74LS08 Inversor
74LS32 Compuerta OR
74LS07 Buffer
Cada uno de estos registros de 16 bits está subdividido en dos subregistros de 8 bits
(AL, AH, BL, BH, CL, CH, DL, DH) para permitir operaciones de tipo byte (8 bits) y
operaciones de 16 bits, brindando flexibilidad en el manejo de datos.
7.2. Registros de Segmento:
- CS (Code Segment): Utilizado junto con el registro IP para conocer la
posición de la instrucción actual en ejecución.
- DS (Data Segment): Indica la ubicación de los datos del programa en
ejecución.
- SS (Stack Segment): Define la zona de memoria utilizada como segmento de
pila.
- ES (Extra Segment): Se emplea como apuntador de memoria auxiliar en
operaciones complejas que requieren dos punteros de datos simultáneos.
8. Modos de direccionamiento
b) Direccionamiento Inmediato:
Transfiere el dato que sigue al código de operación al registro especificado. Es
muy rápido porque se hace con información de la cola.
c) Direccionamiento Directo:
Transfiere entre un registro y una dirección dada por un registro base más
índice más desplazamiento.
Los datos se ponen en la pila por PUSH y se recuperan por POP. La instrucción
CALL aprovecha la pila para salvar la dirección de retorno y la RET para
recuperarla. La pila se mantiene con 2 registros:
● SP: Stack Pointer
● SS: Stack Segment
● PUSH: El SP-1 apunta a donde se almacenará la parte alta del próximo dato.
La parte baja se almacena en SP-2. Luego decrementa 2.
● POP: LA parte alta del dato se recupera de SP, la parte baja se recupera de
SP+1. Luego incrementa 2.
NOTA: PUSH A y POP A salva o recupera todos los registros (excepto los de
segmento) en la pila.
e) Direccionamiento Implícito:
MOV transfiere
XCHGIN intercambia
IN entrada
OUT salida
- Instrucciones Aritméticas:
- Instrucciones de prueba, comparación y saltos:
- Instrucciones lógicas:
- Instrucciones de desplazamiento, rotación y adeudos:
- Instrucciones de pila:
- Instrucciones de interrupción:
- Instrucciones usadas para comparar dos enteros sin signo:
TAREA 2
INTEGRANTES:
Apellidos y nombres CUI Firma
1
DESCRIPCIÓN DE LOS PINES
Las siguientes descripciones de funciones de pines son para sistemas 8088 en modo mínimo o máximo. El "bus local" en
estas descripciones es la conexión de interfaz de bus multiplexada directa al 8088 (sin tener en cuenta los búferes de bus
adicionales).
AD7-AD0 9-16 I/O ADDRESS DATA BUS (dirección de bus de datos): Estas líneas constituyen la dirección
de I/O de la memoria multiplexada en el tiempo (T1) y el bus de datos (T2, T3, Tw, T4).
Estas líneas se activan en valor ALTO y flota a 3 estados APAGADO durante el
reconocimiento de interrupción y el bus local "reconocimiento de espera".
A15-A8 2-8,39 O ADDRESS BUS (dirección de bus): Estas líneas proporcionan los bits de dirección 8 a 15
para todo el ciclo del bus (T1–T4). Estas líneas no tienen que estar bloqueadas por ALE
para seguir siendo válidas. A15–A8 están activas en ALTO y flotan a 3 estados APAGADO
durante el reconocimiento de interrupción y el “reconocimiento en espera” del bus local.
A19/S6, 35-38 O ADDRESS/STATUS: Durante T1, estas son las cuatro líneas de dirección más importantes
A18/S5, para las operaciones de memoria. Durante las operaciones de I/O, estas líneas están en
A17/S4, BAJO. Durante las operaciones de memoria y I/O, la información de estado disponible en
A16/S3 estas líneas durante T2, T3, Tw y T4S6 siempre es baja. El estado del bit indicador de
habilitación de interrupción (S5) se actualiza al comienzo de cada ciclo de reloj. S4 y S3
están codificados como se muestra.
Esta información indica qué registro de segmento se está utilizando actualmente para
acceder a los datos.
RD 32 O READ: La luz estroboscópica de lectura indica que el procesador está realizando un ciclo
de lectura de memoria o E/S, según el estado del pin IO/M o S2. Esta señal se utiliza para
leer dispositivos que residen en el bus local 8088. RD está activo en BAJO durante T2, T3
y Tw de cualquier ciclo de lectura y se garantiza que permanecerá en ALTO en T2 hasta
que el bus local 8088 haya flotado.
2
READY 22 I READY: Es el reconocimiento de la memoria direccionada o del dispositivo de I/O de que
completará la transferencia de datos. La señal RDY de la memoria o de I/O es sincronizada
por el generador de reloj 8284 para formar LISTO. Esta señal es ALTA activa. La entrada
8088 READY no está sincronizada. No se garantiza el funcionamiento correcto si no se
cumplen los tiempos de configuración y mantenimiento.
INTR 18 I INTERRUPT REQUEST: Es una entrada activada por nivel que se muestrea durante el
último ciclo de reloj de cada instrucción para determinar si el procesador debe entrar en una
operación de reconocimiento de interrupción. Una subrutina se vectoriza a través de una
tabla de búsqueda de vectores de interrupción ubicada en la memoria del sistema. Se puede
enmascarar internamente mediante el restablecimiento del software del bit de habilitación
de interrupción. INTR está sincronizado internamente. Esta señal es ALTA activa.
NMI 17 I NON-MASKABLE INTERRUPT: Es una entrada activada por flanco que provoca una
interrupción de tipo 2. Una subrutina se vectoriza a través de una tabla de búsqueda de
vectores de interrupción ubicada en la memoria del sistema. NMI no es enmascarable
internamente por software. Una transición de BAJO a ALTO inicia la interrupción al final
de la instrucción actual. Esta entrada está sincronizada internamente
RESET 21 I RESET: Hace que el procesador finalice inmediatamente su actividad actual. La señal
debe estar activa ALTA durante al menos cuatro ciclos de reloj. Reinicia la ejecución como
se describe en la descripción del conjunto de instrucciones cuando RESET devuelve LOW,
RESET está sincronizado internamente.
MN/MX 33 I MINIMUM/MAXIMUM: Indica en qué modo operará el procesador. Los dos modos se
describen en las siguientes secciones.
3
Las siguientes descripciones de funciones de pines son para el modo mínimo 8088 (es decir, MN/MX = Vcc). Solo
se describen las funciones de los pines que son exclusivas del modo mínimo; todas las demás funciones de los pines
son como se describe arriba
INTA 24 O INTA: Se utiliza como una luz estroboscópica de lectura para los ciclos
de reconocimiento de interrupción. Está activo en BAJO durante T2, T3
y Tw de cada ciclo de reconocimiento de interrupción.
HOLD, 31, 30 I, O HOLD: Indica que otro maestro está solicitando un bus local "en
HLDA espera". Para ser reconocido, HOLD debe estar activo en ALTO. El
procesador que recibe la solicitud de "retención" emitirá HLDA (ALTO)
como reconocimiento en medio de un ciclo de reloj T4 o Ti.
Simultáneamente con la emisión de HLDA, el procesador hará flotar el
bus local y las líneas de control. Después de que se detecta que HOLD
está en BAJO, el procesador reduce HLDA y cuando el procesador
necesita ejecutar otro ciclo, volverá a activar el bus local y las líneas de
control HOLD y HLDA tienen resistencias pull-up internas.
Hold no es una entrada asíncrona. Se debe proporcionar sincronización
externa si el sistema no puede garantizar el tiempo de configuración.
4
SSO 34 O STATUS LINE: Es lógicamente equivalente a SO en el modo máximo.
La combinación de SSO, IO/M y DT/R permite que el sistema
decodifique completamente el estado actual del ciclo del bus.
Las siguientes descripciones de funciones de pines son para el sistema 8088/8288 en modo máximo (es decir,
MN/MX=GND). Solo se describen las funciones de los pines que son exclusivas del modo máximo; todas las demás
áreas pinfunctions descritas anteriormente.
S2, S1, S0 26-28 O STATUS: Está activo durante el reloj alto de T4, T1 y T2, y regresa al
estado pasivo (1, 1, 1) durante T3 o durante Tw cuando READY está en
ALTO. Este estado es utilizado por el controlador de bus 8288 para
generar todas las señales de control de acceso a E/S y memoria.
Cualquier cambio de S2, S1 o S0 durante T4 se usa para indicar el
comienzo de un ciclo de bus, y el regreso al estado pasivo en T3 y Tw
se usa para indicar el final de un ciclo de bus. Estas señales flotan a 3
estados APAGADO durante el "reconocimiento de retención". Durante
el primer ciclo de reloj después de que RESET se activa, estas señales
están activas en ALTO. Después de este primer reloj, flotan a 3 estados
APAGADO.
RQ/GT0, 30,31 I/O REQUEST/GRANT: Los pines son utilizados por otros maestros de
RQ/GT1 bus local para obligar al procesador a liberar el bus local al final del
ciclo de bus actual del procesador. Cada pin es bidireccional y RQ/GT0
tiene mayor prioridad que RQ/GT1, RQ/GT tiene una resistencia
pull-up interna, por lo que puede dejarse sin conectar. La secuencia de
solicitud de concesión es la siguiente.
1. Un pulso de un CLK de ancho desde otro maestro de bus local indica
una solicitud de bus local ("retener") al 8088 (pulso 1).
2. Durante un ciclo de reloj T4 o TI, un pulso de un reloj de ancho
desde el 8088 hasta el maestro solicitante (pulso 2) indica que el 8088
ha permitido que el bus local flote y que entrará en el estado de
"reconocimiento de espera" en el next CLKLa unidad de interfaz de bus
de la CPU se desconecta lógicamente del bus local durante el
''reconocimiento de espera''. Se aplican las mismas reglas que para
HOLDHOLDA cuando se libera el bus.
3. Un pulso de un CLK de ancho desde el maestro solicitante indica al
8088 (pulso 3) que la solicitud de "retención" está a punto de finalizar y
que el 8088 puede reclamar el bus local en el próximo CLK. Luego, la
CPU ingresa a T4.
Cada intercambio maestro-maestro del bus local es una secuencia de
tres pulsos. Debe haber un ciclo CLK inactivo después de cada
intercambio de bus. Los pulsos están activos en BAJO.
5
Si la solicitud se realiza mientras la CPU está realizando un ciclo de
memoria, liberará el bus local durante el T4 del ciclo cuando se
cumplan todas las condiciones siguientes:
1. La solicitud ocurre en T2 o antes.
2. El ciclo actual no es la parte inferior de una palabra.
3. El ciclo actual no es el primer reconocimiento de una secuencia de
reconocimiento de interrupción.
4. Una instrucción bloqueada no se está ejecutando actualmente.
Si el bus local está inactivo cuando se realiza la solicitud, se producirán
dos eventos posibles:
1. El autobús local se liberará durante el próximo reloj.
2. Un ciclo de memoria comenzará dentro de 3 relojes. Ahora se aplican
las cuatro reglas para un ciclo de memoria actualmente activo con la
condición número 1 ya satisfecha.
LOCK 29 O LOCK: Indica que otros maestros del bus del sistema no deben obtener
el control del bus del sistema mientras LOCK está activo (BAJO). La
señal LOCK se activa mediante la instrucción de prefijo "LOCK" y
permanece activa hasta la finalización de la siguiente instrucción. Esta
señal está activa en BAJO y flota a 3 estados apagados en
"reconocimiento de retención".
QS1, QS0 24,25 O QUEUE STATUS: Proporcione el estado para permitir el seguimiento
externo de la cola de instrucciones 8088 interna.
El estado de la cola es válido durante el ciclo CLK después del cual se
realiza la operación de la cola.
6
8088
PUSH e Push:
Register 0 1 0 1 0 reg
POP e Pop:
Register 0 1 0 1 1 reg
XCHG e Exchange:
IN e Input from:
Fixed Port 1110010w port
Variable Port 1110110w
26
7
8088
8086/8088 Instruction
RESUMEN DELSet Summary
CONJUNTO DE (Continued)
INSTRUCCIONES
Mnemonic and
Instruction Code
Description
INC e Increment:
Register/Memory 1111111w mod 0 0 0 r/m
Register 0 1 0 0 0 reg
AAA e ASCII Adjust for Add 00110111
BAA e Decimal Adjust for Add 00100111
SUB e Subtract:
Reg./Memory and Register to Either 001010dw mod reg r/m
Immediate from Register/Memory 100000sw mod 1 0 1 r/m data data if s:w e 01
Immediate from Accumulator 0010110w data data if w e 1
DEC e Decrement:
Register/memory 1111111w mod 0 0 1 r/m
Register 0 1 0 0 1 reg
NEG e Change sign 1111011w mod 0 1 1 r/m
CMP e Compare:
Register/Memory and Register 001110dw mod reg r/m
27
8
8088
8086/8088 Instruction
RESUMEN DELSet Summary
CONJUNTO DE (Continued)
INSTRUCCIONES
Mnemonic and
Instruction Code
Description
LOGIC 76543210 76543210 76543210 76543210
NOT e Invert 1111011w mod 0 1 0 r/m
AND e And:
Reg./Memory and Register to Either 001000dw mod reg r/m
Immediate to Register/Memory 1000000w mod 1 0 0 r/m data data if w e 1
Immediate to Accumulator 0010010w data data if w e 1
TEST e And Function to Flags. No Result:
Register/Memory and Register 1000010w mod reg r/m
OR e Or:
Reg./Memory and Register to Either 000010dw mod reg r/m
Immediate to Register/Memory 1000000w mod 0 0 1 r/m data data if w e 1
Immediate to Accumulator 0000110w data data if w e 1
STRING MANIPULATION
CONTROL TRANSFER
CALL e Call:
seg-low seg-high
28
9
8088
8086/8088 Instruction
RESUMEN DELSet Summary
CONJUNTO DE (Continued)
INSTRUCCIONES
Mnemonic and
Instruction Code
Description
seg-low seg-high
Intersegment 11001011
INT e Interrupt
Type 3 11001100
29
10
8088
8086/8088 Instruction
RESUMEN DEL Set Summary
CONJUNTO DE (Continued)
INSTRUCCIONES
Mnemonic and
Instruction Code
Description
76543210 76543210
PROCESSOR CONTROL
30
11