Académique Documents
Professionnel Documents
Culture Documents
80X86
8080
8085
8086
8088
80286
80386
80486
2a3
3a8
5 a 10
5a8
6 a 16
16 a 33
25 a 50
64k
64k
1M
1M
16M
4G
4G
Bus de datos
interno
16
16
16
32
32
Bus de datos
externo
16
16
32
32
Bus de
Direcciones
16
16
20
20
24
32
32
Tipo de datos
(bits)
8, 16
8, 16
8, 16
8, 16, 32
8, 16, 32
CLK(MHz)
Memoria Fsica
80X86
Motivos para escoger un 80x86/88:
Ofrece un mejor costo de implementacin.
Mejor desempeo y mayor espacio de direccionamiento.
En 1980 IBM comienza con el desarrollo de su propia computadora
personal.
El 8086
El 8086
Arquitectura en pipeline
El 8086
El 8086
Estos microprocesadores
tienen 2 procesadores
conectados internamente,
estos procesadores son:
EU: Unidad de ejecucin
(Execution Unit).
BIU: Unidad de interfaz
con el Bus (Bus Interface
Unit).
El 8086
El 8086
El 8086
MODELO DE
PROGRAMACIN DEL
8086.
El 8086
NOMBRE
General
16
8
Punteros
16
Indexado
16
SI, DI
Segmentos
16
Instruccin
16
IP
Banderas
16
FR
El 8086
El 8086
El 8086
Puede ser usado por compiladores, juntamente con AX, para guardar
valores retornados de subrutinas.
El 8086
AX = 2155h
AX = 4355h
DX = 21FFh
DX = 2100h
El 8086
Registros de segmento:
Cuando se proyect el 8086, la Intel se preocup en facilitar el
acesso y el gerenciamento de memoria de la CPU que podra llegar
a 1 MByte. Por eso, decidi dividir esa memoria en segmentos de
64 K (16 bits). Todo acesso a la memoria del 8086 es realizado
direccionando segmentos de 64 K.
Los registros de Segmento funcionan como seleccionadores
de estos segmentos de direccionamiento. Cada registro especifica
el inicio de un segmento de 64 K direccionados consecutivamente.
El acceso a direcciones dentro de un segmento es hecho a travs
de um desplazamiento (offset) a partir de la direccin-base.
Son 4 tipos de segmentos considerados: CDIGO, DATOS, PILA y
EXTRA
El 8086
Registros de segmento:
SS = Registro de segmento de pila (stack segment).
Segmento de pila.
El 8086
Registros de segmento:
CS = Registro de segmento de cdigo (code segment).
El 8086
El 8086
El 8086
El 8086
Registros ndices:
El 8086
Bit
Indicador de:
Uso
Indicador de arrastre del bit de mayor orden,
que puede ocurrir en las operaciones
aritmticas suma y resta.
CF
PF
AF
Acarreo auxiliar
ZF
SF
TF
IF
DF
DF
OF
El 8086
Bit
Indicador de:
Indicativo si bit 1
Indicativo si bit 0
CF
Acarreo
CY ("Carry yes")
NC ("No Carry")
PF
Paridad
AF
Acarreo auxiliar
AC ("Auxiliar Carry")
NA ("No Auxiliar")
ZF
Cero
ZR ("Zero")
NZ ("No Zero")
SF
Signo
NG ("Negative") negativo
PL ("Plus") positivo
IF
Interrupcin
EI
DF
Direccin
DN ("Down") decremento
UP incremento
OF
Desbordamiento
OV ("Overflow")
NV ("No overflow")
El 8086
El 8086
SEGMENTACIN
FFFFF
Direccin lgica
Direccin fsica
SEGMENTO
Desplaz
amiento
Registro de segmento
Direccin de segmento
CPU
0
Memoria
El 8086
Segmento de Memoria
FFFFF
SEGMENTO
Memoria
Un segmento es un rea
continua de memoria que puede
tener hasta 64K-bytes, que debe
comenzar en una localidad de
memoria cuya direccin sea
lmite de 16 bytes (cantidad
denominada prrafo) y que
puede traslaparse con otros
segmentos.
El 8086
Segmentos de Memoria
El 8086
Segmentos de Memoria
El segmento de pila (con SS como base).
- En l se desarrolla la pila del programa, utilizada para
almacenar temporalmente datos, llamadas a funciones,
etc. Debe estar presente en todos los programas EXE de
forma obligada. Se utiliza el registro SP para acceder a los
datos de este segmento.
El segmento extra (con ES como base).
- Su uso es opcional, y en l se encuentra un segmento
definido por el usuario y que, regularmente, contiene datos
adicionales. Al igual que ocurre con el segmento de datos,
para acceder a los datos contenidos en l, se suelen
utilizar los registros SI y DI.
El 8086
SEGMENTACIN
TRASLAPE DE SEGMENTOS
CS
CS
SEGMENTO DE
CDIGO
PROGRAMA
SEGMENTO DE
CDIGO
DS
SEGMENTO DE
DATOS
OTRO SEGMENTO
ES
SEGMENTO EXTRA
DE DATOS
SS
STACK
MEMORIA
MEMORIA
El 8086
SEGMENTACIN
Relocalizacin de un programa usando el registro CS
02000
600
PROGRAMA
SEGMENTO DE
CDIGO EN CURSO
nuevo (CS)=1A30
1A300
600
PROGRAMA
MEMORIA
SEGMENTO DE
CDIGO
RELOCALIZADO
El 8086
El 8086
4 bits
Direccin de
segmento
0000
0000
Direccin fsica
20 BITS
EL REGISTRO DE
SEGMENTO SE
DESPLAZA 4 BITS
HACIA LA
IZQUIERDA
(MULTIPLICACIN
x16)
DIRECCIN FSICA:
Ejemplo:
si DS=5000 y BX=1950, la direccin lgica es
5000:1950 y la direccin fsica es:
50000
+1950
51950
El 8086
El 8086
Por Ejemplo:
Si la direccin base del segmento es
2915h, entonces las direcciones en
este segmento inician en 2915:0000
y van hasta 2915:FFFF
SEGMENTO DE CDIGO:
SEGMENTO DE DATOS:
SEGMENTO DE PILA:
Ejemplo:siSP=1236,AX=24B6,BX=85C2,
DX=5F93.Muestreelcontenidodelapila
conlassiguientesinstrucciones.
PUSHAX
PUSHBX
PUSHDX
SS:1230
93
SS:1231
5F
SS:1232
C2
C2
SS:1233
85
85
SS:1234
B6
B6
B6
SS:1235
24
24
24
PUSH AX
PUSH BX
PUSH DX
SS:1236
START
SOBRELAPAMIENTO DE SEGMENTOS:
64K