el intel 8086

34
El micro Intel 8086/88 PROGRAMACIÓN ENSAMBLADOR ING. FERNANDO MONRROY UAGRM 2/2010

Upload: victor-fernando-monroy-dipp

Post on 03-Jul-2015

4.807 views

Category:

Technology


2 download

DESCRIPTION

Breve descripción a manera de introducción a la programación

TRANSCRIPT

Page 1: El intel 8086

El micro Intel 8086/88

PROGRAMACIÓN ENSAMBLADORING. FERNANDO MONRROY

UAGRM 2/2010

Page 2: El intel 8086

Características

Page 3: El intel 8086

-Arquitectura interna de 16 bits-Pueden trabajar con operandosde 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

Page 4: El intel 8086

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

Page 5: El intel 8086

Disponen de 92 tipos de instrucciones, que pueden ejecutar con hasta 7 modos de direccionamiento

Características

Page 6: El intel 8086

Tienen una capacidad de direccionamiento en puertos de entrada y salida de hasta 64K (65536 puertos)

Características

Page 7: El intel 8086

Arquitectura

Registros del programadorRegistros de propósito general

Page 8: El intel 8086

AX Acumulador

Este registro es utilizado para uso general, sin embargo se utiliza en

algunas instrucciones específicas, tales como, la

multiplicación, división, conversiones, operaciones de I/O y manejo

decadenas.

Propósito general

Page 9: El intel 8086

BX Base

Es el único de propósito general que puede ser base

(índice ) para direccionamiento indexado.

Propósito general

Page 10: El intel 8086

CX Contador

Ademá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

Page 11: El intel 8086

DX Datos

Ademá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

Page 12: El intel 8086

Arquitectura

Registros del programadorRegistros punteros e índices

Page 13: El intel 8086

SP = Puntero de pila (stackpointer).

Apunta a la cabeza de la pila. Utilizado en las instrucciones de

manejo de la pila.

Punteros e índices

Page 14: El intel 8086

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

Page 15: El intel 8086

SI = Índice fuente (source index).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

Page 16: El intel 8086

DI = Índice destino (destination index).

Se usa en determinados modos de direccionamiento indirecto y para almacenar un desplazamiento en operaciones con cadenas.

Punteros e índices

Page 17: El intel 8086

Arquitectura

Registros del programadorRegistros de Segmento

Page 18: El intel 8086

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

Page 19: El intel 8086

desplazamiento

segmento

Dirección física

16 bits

20 bits

Page 20: El intel 8086

CS = Registro de segmento de código (code segment).

Contiene la dirección del segmento con las instrucciones del programa. Los programas de más de 64 Kb requieren cambiar CS periódicamente.

Page 21: El intel 8086

DS = Registro de segmento de datos (data segment).

Segmento del área de datos del programa.

Registros de Segmento

Page 22: El intel 8086

SS = Registro de segmento de pila (stack segment).

Define el área de pila.

Registros de Segmento

Page 23: El intel 8086

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

Page 24: El intel 8086

Arquitectura

Registros del programadorOtros registros

Page 25: El intel 8086

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

Page 26: El intel 8086

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

Page 27: El intel 8086

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

Page 28: El intel 8086

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

Page 29: El intel 8086

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

OF DF IF TF SF ZF AF PF CF

Acarreo

Paridad

Acarreo auxiliar

Cero

Signo

Desbordamiento

Dirección

InterrupciónTrampa

Page 30: El intel 8086

Banderas

CF (Carry Flag)

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

Page 31: El intel 8086

Banderas

OF (Overflow Flag)

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.

Page 32: El intel 8086

Banderas

ZF (Zero Flag)

Indicador de resultado 0 o comparación igual.

SF (Sign Flag)

Indicador de resultado o comparación negativa.

Page 33: El intel 8086

Banderas

PF (Parity Flag)

Indicador de paridad. Se activa tras algunas operaciones aritmético-lógicas para indicar que el número de unos resultante es par.

AF (Auxiliary Flag)

Acarreo del nibble inferior. Para ajuste en operaciones BCD.

Page 34: El intel 8086

Banderas

TF (Trap Flag): Indicador de atrape (ejecución paso a paso).

DF (Direction Flag): Indicador de dirección. Manipulando bloques de memoria, indica el sentido de avance (ascendente/descendente).

IF (Interrupt Flag): Indicador de interrupciones: puesto a 1 están permitidas.