You are on page 1of 3

Componentes del procesador 8086.

El microprocesador 8086, es un microprocesador de 16 bits que controla los ordenadores personales estndar de IBM. El 8086 difiere del 8088 solamente en un detalle: utili a un bus de datos de 16 bits en !e del bus de 8 bits del 8088. " e#cepci$n de esa diferencia, se les considera prcticamente id%nticos. &or ello, cada !e que se 'a(a referencia a uno de ellos, se pondr 8086)8088 para indicar que esa referencia es !lida para ambos microprocesadores.

Los registros de la CPU

Registros de almacenamiento temporal


* AX +registro Acumulador,: Este re(istro es usado, sobre todo, en operaciones aritm%ticas como primer operando - tambi%n como re(istro de prop$sito (eneral a disposici$n del pro(ramador. * BX +registro Base,: .e usa principalmente para indicar posiciones de memoria +offset,. * CX +registro Contador,: Este re(istro se usa siempre que se necesite un contador en operaciones repetiti!as - bucles.

* DX +registro Dato,: .e usa como re(istro au#iliar en operaciones aritm%ticas - como contenedor de datos a la 'ora de usar instrucciones de comunicaci$n de puertos. Estos cuatro re(istros, como todos los restantes, son de 16 bits, pero para permitir la reali aci$n de operaciones de tipo byte +8 bits, cada uno de estos cuatro re(istros est di!idido en dos subregistros de 8 bits a los que se puede acceder de forma independiente. "s/, por e0emplo, los 8 bits inferiores de AX se llaman AL +1 de low, ba0o, - los 8 superiores AH +2 de high, alto,. 3e esta forma se tiene que todas las instrucciones ensamblador pueden operar con datos de 8 - 16 bits se(4n lo que se precise.

Registros de segmento
.on cuatro re(istros de 16 bits usados para indicar direcciones de memoria +los conceptos de segmento - desplazamiento se e#plicarn en el apartado si(uiente,: * CS +Code Segment,: Este re(istro es usado por el procesador, 0unto con el re(istro IP, para conocer d$nde est la instrucci$n actual que est siendo e0ecutada. * DS +Data Segment,: .e usa para indicar d$nde estn todos los datos del pro(rama en e0ecuci$n. * SS +Stack Segment,: En este re(istro se indica al procesador d$nde est la ona de memoria que se usa como se(mento de pila. * ES +Extra Segment,: Es el re(istro que referencia al se(mento e#tra, - se usa como apuntador de memoria au#iliar en operaciones comple0as donde se necesitan dos punteros de datos simultneos.

Registros de la pila
1a pila es un rea de memoria importante. 5iene, en !e de uno, dos re(istros que se usan como despla amiento +offset, para apuntar su contenido. .e usan como complemento al re(istro .. - son: * SP +Stack Pointer,: Es el re(istro que se reser!a el procesador para uso propio en instrucciones de manipulaci$n de la pila. * BP +Base Pointer,: .e usa como re(istro au#iliar.

Registros ndices.
.e utili an como despla amientos complementarios para DS - ES a la 'ora de indicar la posici$n donde se encuentran los datos a los que se desea acceder. .on: * SI +Source index,: .e usa como puntero ori(en en operaciones de despla amiento de datos entre dos onas de memoria. * DI +Destination index,. .e usa como destino en operaciones de despla amiento de datos.

Registros de instruccin:
.$lo 'a- uno, el re(istro IP +Instruction Pointer,, es usado por la C&6 para conocer la posici$n relati!a a la base CS donde se encuentra la instrucci$n que se est e0ecutando actualmente. Este re(istro no puede ser modificado directamente por parte del pro(ramador. Este puntero cambia su contenido automticamente cada !e que se e0ecuta una instrucci$n o cuando se salta a otro punto del pro(rama mediante una instrucci$n de salto.

Registro de Banderas:
Este re(istro es usado para tener el control de estado - control de las operaciones. 1a ma-or/a de sus 16 bits se utili a para representar un estado concreto:

* Bit 0 C! +Carry lag,: Es la bandera de acarreo. .e pone a 1 cuando se produce un resultado con acarreo tras una operaci$n aritm%tica. * Bit ": 7o usado. * Bit # P! +Parity lag,: Cuando est a 1, indica que 'a- un n4mero par de bits acti!os. * Bit $: 7o usado. * Bit % "8 +Auxiliar lag,: .e usa como bandera au#iliar. .e pone a 1 cuando 'anecesidad de reali ar a0ustes tras una operaci$n de tipo BC3. * Bit &: 7o usado. * Bit ' (! +!ero lag,: Indica si se 'a producido un resultado cero o una comparaci$n con operadores i(uales. * Bit ) S! +Sign lag,: Indica si se 'a producido un resultado ne(ati!o o comparaci$n menor. * Bit * +! +"rap lag,: Es la bandera de atrape, usada en procesos de depuraci$n de c$di(o. * Bit , I! +Interrupt lag,: .i est a 1, indica que est permitida la (eneraci$n de interrupciones 'ard9are que (eneran al(unos perif%ricos, como la que reali a el teclado cada !e que una tecla es pulsada. * Bit "0 D! +Direction lag,: Indica a la C&6 'acia donde se despla an los punteros relati!os en operaciones repetiti!as de cadenas de datos. * Bit "" -! +#$er%low lag,: Indica si se 'a producido un desbordamiento aritm%tico. * Bit "# al "&: 7o usados.

You might also like