Exponsor

CURSO TÉCNICO INSTALADOR DE ENERGÍA SOLAR TÉRMICA

Visita el siguiente enlace: http://enersolartermica.blogspot.com.es/ ¡No pierdas esta magnifica oportunidad de poder formarte en esta profesión con gran demanda de empleo! Ahora por oferta de lanzamiento y por tiempo limitado puedes adquirir este curso por solo 9,95€, cuando su valor de mercado es de 49€.

domingo, 19 de abril de 2009

INSTRUCCIONES DEL MICROPROCESADOR 8086 ( I )

Todo microprocesador, desde el primero que hizo su aparición hasta los más complejos en la actualidad, desde el momento en que es puesto a la venta es entregado con un conjunto de instrucciones en lenguaje de máquina en las cuales se detallan las operaciones que el microprocesador es capaz de hacer. En cada versión nueva de microprocesador la primera prioridad es aumentar el número de instrucciones disponibles para ofrecer más opciones de programación al programador.Aunque pudiera parecerle a muchos un ejercicio inútil la familiarización con el conjunto de instrucciones de las operaciones que puede llevar a cabo cualquier microprocesador, es de enorme interés el estar familiarizados con el conjunto "primitivo" de las instrucciones de los primeros microprocesadores que aparecieron en el mercado por una razón muy sencilla: todas las instrucciones de cada microprocesador se han ido incorporando dentro del conjunto de instrucciones del nuevo modelo que lo reemplaza. Esto se debe a una característica impuesta por los consumidores: la demanda de algo conocido como upward compatibility. Esencialmente, esto consiste en el hecho de que una de las grandes inversiones en cualquier computadora personal de escritorio son los programas que se van a ejecutar en ella. A nadie le gusta invertir mucho dinero en la adquisición de programas para utilizar procesadores de palabras como Microsoft Word o hacer diseños gráficos como AutoCAD si dichos programas no se podrán correr en las nuevas computadoras que vayan saliendo al mercado. Esto prácticamente exige a los fabricantes de los microprocesadores continuar incorporando dentro de sus nuevos modelos la capacidad para poder "entender" las instrucciones que podían ser "entendidas" por los modelos previos, ya que de no ser así basta una sola instrucción ausente para poder inutilizar potencialmente una inversión de cientos o quizá miles de dólares en "software". Es por esto que es de enorme interés el lograr una familiarización con los conjuntos de instrucciones de los microprocesadores más sencillos, puesto quien no logra tal cosa menos podrá comprender los nuevos conjuntos de instrucciones mucho más amplios y mucho más complejos de los microprocesadores de la actualidad.Para poder entender el significado del conjunto de instrucciones del microprocesador 8086 es necesario tomar conocimiento de algunos detalles internos a la arquitectura de este microprocesador. Lo más importante es que el 8086 posee varios registros de almacenamiento, construídos cada uno de ellos con 16 flip-flops:



Estos registros pueden ser clasificados en cuatro categorías: el registro de las banderas (flags), los ocho registros de propósito general (AX, BX, CX, DX, SI, DI, BP y SP, cada uno de 16 bits), el puntero de instrucciones IP, y los registros de segmentos (CS, DS, ES y SS).El problema principal en utilizar únicamente 16 bits para "domiciliar" cada dato contenido en una memoria RAM es que con 16 bits solo se pueden especificar 65,536 ( = 2n = 216 ) localidades diferentes de memoria RAM con todas las combinaciones posibles de "unos" y "ceros" que permite una palabra de 16 bits. Los registros de segmentos son utilizados para un ingenioso esquema de adición de "segmentos" de bits al domicilio básico de 16 bits mediante estos registros especiales, esquema manejado por el microprocesador 8086 con el propósito de poder "domiciliar" más de 65,536 bytes cuando se cuenta únicamente con registros de 16 bits para ello, esto es, cuando se requiere "domiciliar" para la ejecución de cualquier programa decente una cantidad de memoria RAM mucho mayor que la que normalmente podría "domiciliar" un microprocesador limitado al uso de palabras binarias con una extensión de 16 bits. El proceso de ampliación del espacio de memoria "domiciliable" se puede bosquejar en su esencia más sencilla de la siguiente manera:


Es así como en las primeras computadoras personales de escritorio no hubo ninguna dificultad para que el microprocesador 8086 pudiese manejar memorias RAM con una capacidad de un millón de localidades diferentes (1 millón 48 mil 576 para ser exactos) ó 1 Megabytes, con cada localidad almacenando un byte (8 bits) de información:




Generalmente hablando, el registro de las banderas no tiene como objetivo el ser accesado directamente por el programador del microprocesador; estas "banderas" son "izadas" (puestas en "1") cuando ocurre alguna condición especial, por ejemplo cuando el resultado de alguna operación aritmética es cero, lo cual iza la "bandera de cero" o zero flag poniéndo dicho registro en el estado "1". La posición relativa de cada una de las "banderas" en este registro es la siguiente:




Las "banderas" guardadas por el registro son las siguientes:
O = Overflow flag (bandera de sobreflujo)D = Direction flag (bandera de dirección)T = Trap flag (bandera de trampa)S = Sign flag (bandera de signo aritmético)Z = Zero flag (bandera de cero)A = Auxiliary Carry flag (bandera de "llevar" auxiliar)C = Carry flag (bandera de "llevar")El registro AX en el microprocesador es el registro mejor conocido en las computadoras convencionales como el acumulador. Siempre está involucrado cuando se llevan a cabo las operaciones de multiplicación y división, y también es el registro más eficiente de utilizar cuando se llevan a cabo ciertas operaciones aritméticas, lógicas, y de movimiento de datos.El registro BX puede ser utilizado como puntero hacia localidades de la memoria RAM.La especialidad del registro CX es contar.El registro DX es el único registro en el microprocesador 8086 que puede ser utilizado como un puntero hacia domicilios relacionados con las unidades de Entrada/Salida (Input/Output) con las instrucciones IN y OUT.El registro SP es el conocido como el puntero hacia la pila (stack pointer).

No hay comentarios: