Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La CPU 8086\8088
HISTORIA
-CISC Complex instruccion set computer -RISC Reduced instruccion set computer
PIPELINING
ARQUITECTURA
REGISTROS
AX=Registro acumulador, dividido en AH y AL (8 bits cada uno).
REGISTROS
SP = Puntero de pila (no se puede subdividir).
- almacena las direcciones de retorno de subrutinas y los datos temporarios - al introducir (push) un valor en la pila a este registro se le resta dos, - al extraer (pop) un valor de la pila este a registro se le suma dos.
REGISTRO DE BANDERAS
El 8086 posee un bus de datos de 16 bits y por tanto manipula cantidades de esta longitud (llamadas palabras). Cada palabra a la que se accede consta de dos bytes, un byte de orden alto o ms significativo y un byte de orden bajo o menos significativo. El sistema almacena en memoria estos bytes de la siguiente manera: el byte menos significativo en la direccin baja de memoria y el byte ms significativo en la direccin alta de memoria
SEGMENTOS DE PROGRAMA
SEGMENTO DE CODIGO:
Contiene instrucciones de lenguaje ensamblador
SEGMENTO DE DATOS:
Almacena informacin (DATOS)
SEGMENTO DE PILA:
Almacena informacin temporalmente
DIRECCIN DE OFFSET:
- En una localidad de memoria e 64Kb entre 0000H y FFFFH
DIRECCIN LGICA:
- Formada por dos partes: Valor de un segmento
Direccin de OFFSET
SEGMENTO DE CODIGO
- El Up trae intrucciones (Opcodes, operandos) desde el segmento de cdigo - La direccin lgica de una instruccin siempre consiste de CS:IP
La direccin Fsica se obtiene : - Desplazando a la izquierda un dgito hexadecimal del CS - Sumar este al IP (IP=offset) - Enviada por los pienes del Up
SEGMENTO DE DATOS
- La direccin lgica consiste de CS:OFFSET
La direccin Fsica se obtiene : - Desplazando a la izquierda un dgito hexadecimal del DS - Sumar este el OFFSET - Enviada por los pienes del Up
PILA
- Usada por la CPU para almacenar informacin temporalmente
- Deben ser cargados antes de las instrucciones que van a usar el stack
PILA
Ejemplo: Introducimos en la pila los registros AX y BX que contienen FA01H y 35A9H respectivamente. Suponemos que el registro SP contiene 50 bytes.
PILA
POP BX: Se extrae de la pila un dato y se introduce en BX se extrae el dato y se incrementa SP.
TERMINALES EN EL 8086
BIOS y DOS
Subrutinas en BIOS y DOS disponibles a traves de la instruccin INT Similar a una llamada FAR almacena CS:IP en pila Ejecuta la subrutina asociada con esa interrupcin. FORMATO:
INT xx
xx 00H - FFH
Nota: Antes de que las subrutinas sean requeridas, ciertos registros deben tener valores
especficos dependiedo de la funcin que vayan a realizar
INT 10H
Comunicarse con la pantalla del Computador
limpiar pantalla
posicin del cursor
BH = nmero de pgina
DH = fila DL = columna
MOV AH,02H
MOV BH,00 MOV DH,0CH MOV DL,27H INT 10H fila 12 columna 39
BH = nmero de pgina
* DH = fila * DL = columna
MOV AH,03H
MOV BH,00 INT 10H
AL = modo de video
MOV AH,00H
MOV AL,03H
INT 10H
; modo CGA
AL=03 modo texto (80x25) AL=04 modo graf (320x200) AL=06 modo graf (640x200)
CX = # Repeticiones
MOV AX,0930H MOV BX,00F0H MOV CX,200H INT 10H ; 512 repeticiones
BX = color
MOV AX,0BH
MOV BX,0001H
INT 10H
; background, foreground
B R G B I R G B
Background foreground
CX = # Repeticiones
MOV AX,0C01H MOV CX,100 MOV DX,50 INT 10H
( X , Y )
( CX , CY )
AL = MODO
MOV AH,OFH
INT 10H
INT 21H
Comunicarse con el teclado del Computador
* DX = cadena de caracteres
CADENA DB ..................$
DL = caracter
MOV AH,02H
MOV DL,J INT 21H
INT 16H
Interrupcin exclusiva para comunicarse con el teclado del
Computador
MOV AH,01H
INT 16H
MOV AH,00H
INT 16H
INT 33H
Interrupcin para manejo del mouse
MOV AX,00H
INT 33H
MOV AX,01H
INT 33H
---------------------------------------------MOV AX,02H INT 33H
CX = Posicin horizontal
DX = Posicin vertical
Formato:
MACROS
ENDM
Pantalla
MACRO cadena
MOV
MOV INT ENDM
AH,09
DX,OFFSET cadena 21H
Modo Mnimo
Modo Mximo