Sie sind auf Seite 1von 19

Instituto Tecnolgico Acapulco

ESTRUCTURA Y ORGANIZACIN DE UN
PROCESADOR

Nombre: IRVING ADRIAN LOPEZ CORTEZ


Maestro: CESAR AGUSTO SEBASTIAN
Materia: LENGUAJE DE INTERFAZ
Numero Control: 13320916
Horario: 11:00-12:00

Fecha: 23/08/2016

INDICE
1.1 Importancia de la programacin en lenguaje ensamblador................................2

1.2 EL PROCESADOR Y SUS REGISTROS INTERNOS............................................3

1.3 La memoria principal (RAM)............................................................................. 5

1.4 El concepto de interrupciones.........................................................................6

1.5 Llamadas a servicios del sistema.....................................................................9

1.6 Modos de direccionamiento............................................................................. 9

1.7 Proceso de ensamblado y ligado.................................................................16

1.8 Desplegado de mensajes en el monitor.........................................................17

Bibliografa........................................................................................................ 18

1.1 Importancia de la programacin en lenguaje ensamblador


La importancia del lenguaje ensamblador radica principalmente que se trabaja
directamente con el microprocesador; por lo cual se debe de conocer el
funcionamiento interno de este, tiene la ventaja de que en l se puede realizar
cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar.
Otro punto sera que los programas en ensamblador ocupan menos espacio en
memoria. Permitir adentrarnos al estudio del hardware de una PC. Este lenguaje
proporciona las herramientas para tomar control sobre todo lo que la computadora realiza
fsicamente. Es importante como se puede ver, el Lenguaje Ensamblador es directamente
traducible al Lenguaje de Mquina, y viceversa; simplemente, es una abstraccin que
facilita su uso para los seres humanos. Por otro lado, la computadora no entiende
directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de
Mquina. Pero, al ser tan directa la traduccin, pronto aparecieron los programas
Ensambladores, que son traductores que convierten el cdigo fuente(en Lenguaje
Ensamblador) a cdigo objeto (es decir, a Lenguaje de Mquina. Surge como una
necesidad de facilitar al programador la tarea de trabajar con lenguaje mquina sin perder
el control directo con el hardware
Ventajas
Proporciona un control absoluto sobre la PC. Los programas en ensamblador son rpidos
y compactos
Velocidad.- Como trabaja directamente con el microprocesador al ejecutar un programa,
pues como este lenguaje es el ms cercano a la mquina la computadora lo
procesa ms rpido.
Eficiencia de tamao.- Un programa en ensamblador no ocupa mucho espacio en
memoria porque no tiene que cargan libreras y dems como son los lenguajes de
alto nivel
Flexibilidad.- Es flexible porque todo lo que puede hacerse con una mquina,
Flexibilidad.- Es flexible porque todo lo que puede hacerse con una mquina,
Flexibilidad.- Es flexible porque todo lo que puede hacerse con una mquina, puede
hacerse en el lenguaje ensamblador de esta mquina; los lenguajes de alto nivel tienen
en una u otra forma limitantes para explotar al mximo los recursos dela mquina. O
sea que en lenguaje ensamblador se pueden hacer tareas especficas que en un lenguaje
de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo
permite

Un programa escrito en el lenguaje ensamblador requiere considerablemente menos


memoria y tiempo de ejecucin que un programa escrito en los conocidos lenguajes de
alto nivel, como Pascal y C. El lenguaje ensamblador da a un programador la

capacidad de realizar tareas muy tcnicas que seran difciles, si no es que imposibles de
realizar en un lenguaje de alto nivel.

1.2 EL PROCESADOR Y SUS REGISTROS INTERNOS


Definiciones de registros
Definicin 1: un registro es una memoria de alta velocidad y poca capacidad, integrada en
el microprocesador, que permite guardar transitoriamente y acceder a valores muy
usados, generalmente en operaciones matemticas.
Definicin 2: un registro es una porcin de memoria ultrarrpida, de poca capacidad e
integrado al microprocesador, que permite almacenar y acceder datos usados
frecuentemente. Se emplean para aumentar la velocidad de ejecucin de los programas.
Funcin de los registros
Los registros estn en la cumbre de la jerarqua de memoria, y son la manera ms rpida
que tiene el sistema de almacenar datos. Los registros se miden generalmente por el
nmero de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32
bits.
La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de
alta velocidad llamada registro. Algunos de los registros estn dedicados al control, y solo
la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso
general y el programador es el usuario que tiene acceso a ellos.

Algunos registros bsicos:


Dentro del conjunto bsico de registros de control se deben incluir a los siguientes:
1.
2.
3.
4.
5.

A.Contador de programa (PC).


B.Registro de direcciones de la memoria (MAR).
C.Registro de datos (RD).
D.Registro de instrucciones (IR).
E.Palabra de estado de programa (PSW).

1. Funcin del PC
La funcin del PC consiste en seguir la pista de la instruccin por buscar (capturar) en el
siguiente ciclo de mquina, por lo tanto contiene la direccin de la siguiente instruccin
por ejecutar. El PC es modificado dentro del ciclo de bsqueda de la instruccin actual
mediante la suma de una constante. El nmero que se agrega al PC es la longitud de una
instruccin en palabras.

Por lo tanto, si una instruccin tiene una palabra de longitud se agrega 1 al PC, si una
instruccin tiene dos palabras de largo se agrega 2, y as sucesivamente.

2. Funcin de MAR
Registro de direcciones de la memoria (MAR): funciona como registro de enlace entre la
CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la direccin es
colocada en el MAR por la unidad de control y ah permanece hasta que se completa la
transaccin. El nmero de bit que hay en el MAR es igual al del canal de direcciones.
La diferencia que existe entre el PC y el MAR es que durante el ciclo de ejecucin de una
instruccin, el PC y el MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones
de la maquina hacen referencia a la memoria y operan con los datos que estn en ella.
Como la direccin de los datos suele ser diferente de la instruccin siguiente se necesita
el MAR.

3. Funcin de RD
Registro de datos: la funcin del RD consiste en proporcionar un rea de
almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se
intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones (obtenidos
en el ciclo de ejecucin) o datos del operando (obtenidos en el ciclo de ejecucin). Debido
a su conexin directa con el canal de datos el RD contiene el mismo nmero de bit que
dicho canal.
4. Funcin de IR
Registro de instrucciones (IR): es un registro que conserva el cdigo de operacin de la
instruccin en todo el ciclo de la mquina. El cdigo es empleado por la unidad de control
de la CPU para generar las seales apropiadas que controla le ejecucin de la
instruccin. La longitud del ER es la longitud en bit del cdigo de operacin.
5. Funcin de PSW

Palabra de estado de programa (PSW): la palabra de estado o condicin de programa


almacena informacin pertinente sobre el programa que este ejecutndose. Por ejemplo
al completarse una funcin de la unidad aritmtica lgica se modifica un conjunto de bit
llamados cdigos (o seales de condicin). Estos bit especifican si el resultado de una
operacin aritmtica fue 0 o negativo o si el resultado se desbord. Adems el PSW
contiene bit que hacen posible que la computadora responda a solicitudes de servicio
asincrnicas generadas por dispositivos de Entrada-Salida, o condiciones de error interno.
Estas seales se denominan interrupciones.

1.3 La memoria principal (RAM)


La memoria principal o primaria, Memoria Central ", es aquella memoria de un ordenador,
donde se almacenan temporalmente tanto los datos como los programas que la CPU est
procesando o va a procesar en un determinado momento. Por su funcin, es una amiga
inseparable del microprocesador, con el cual se comunica a travs de los buses de datos.
Por ejemplo, cuando la CPU tiene que ejecutar un programa, primero lo coloca en la
memoria y despus lo empieza a ejecutar. Lo mismo ocurre cuando necesita procesar una
serie de datos; antes de poder procesarlos los tiene que llevar a la memoria principal.
Esta clase de memoria es voltil, es decir que, cuando se corta la energa elctrica, se
borra toda la informacin que estuviera almacenada en ella.
Por su funcin, la cantidad de memoria RAM de que disponga una computadora es una
factor muy importante; hay programas y juegos que requieren una gran cantidad de
memoria para poder usarlos. Otros andarn ms rpido si el sistema cuenta con ms
memoria RAM.
La memoria Cach: dentro de la memoria RAM existe una clase de memoria denominada
Memoria Cach que tiene la caracterstica de ser ms rpida que las otras, permitiendo
que el intercambio de informacin entre el procesador y la memoria principal sea a mayor
velocidad.
La estructura de la memoria principal ha cambiado en la historia de las computadoras.
Desde los aos 1980 es prevalentemente una unidad dividida en celdas que se identifican
mediante una direccin. Est formada por bloques de circuitos integrados o chips capaces
de almacenar, retener o "memorizar" informacin digital, es decir, valores binarios; a
dichos bloques tiene acceso el microprocesador de la computadora.
La MP se comunica con el microprocesador de la CPU mediante el bus de direcciones. El
ancho de este bus determina la capacidad que posea el microprocesador para el
direccionamiento de direcciones en memoria.
En algunas oportunidades suele llamarse "memoria interna" a la MP, porque a diferencia
de los dispositivos de memoria secundaria, la MP no puede extraerse tan fcilmente por
usuarios no tcnicos.

La MP es el ncleo del sub-sistema de memoria de una computadora, y posee una menor


capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones
de veces superior. Si tienes ms memoria almacenas ms datos.

1.4 El concepto de interrupciones


Una interrupcin de software es una llamada a un procedimiento del sistema operativo. La
mayora de estos procedimientos, llamados manejadores de interrupciones, proporcionan
la capacidad de entrada-salida a los programas de aplicaciones. Se utilizan para las
siguientes tareas:
Mostrar caracteres y cadenas.
Leer caracteres y cadenas del teclado.
Mostrar texto a color.
Abrir y cerrar archivos.
Leer datos de archivos.
Escribir datos en archivos.
Establecer y obtener la hora y fecha del sistema.
Instruccin INT
La instruccin INT (llamada a un procedimiento de interrupcin) llama a una subrutina del
sistema que tambin se conoce como manejador de interrupciones. Antes de que se
ejecute la instruccin INT, deben insertarse uno o ms parmetros en los registros. Por lo
menos, debe moverse al registro AH un nmero que identifi que al procedimiento especfi
co. Dependiendo de la funcin, tal vez haya que pasar otros valores a la interrupcin en
los registros. La sintaxis es:
INT nmero (en donde nmero es un entero en el rango de 0 a FF hexadecimal.)
Interrupciones comunes
Las interrupciones de software llaman a rutinas de servicio de interrupciones (ISRs), que
se encuentran en el BIOS o en DOS. Algunas interrupciones de uso frecuente son:

INT 10h (Servicios de video). Procedimientos que muestran rutinas que controlan la
posicin del cursor,
escriben texto a color, desplazan la pantalla y muestran grfi cos de video.
INT 16h (Servicios de teclado). Procedimientos que leen el teclado y comprueban su
estado.
INT 17h (Servicios de impresora). Procedimientos que inicializan, imprimen y
devuelven el estado de la
impresora.
INT 1Ah (Hora del da). Procedimiento que obtiene el nmero de pulsaciones del reloj
desde que se
encendi el equipo, o establece el contador a un nuevo valor.
INT 1Ch (Interrupcin de temporizador del usuario). Un procedimiento vaco que se
ejecuta 18.2 veces
por segundo.
INT 21h (Servicios de MS-DOS). Procedimientos que proporcionan entrada-salida,
manejo de archivos

y administracin de memoria. Tambin se conocen como llamadas a funciones de MSDOS.

Manejo de interrupciones
El BIOS y MS-DOS contienen manejadores de interrupciones que simplifican la
entrada/salida, as como las tareas bsicas del sistema. Vimos muchos de stos: las
rutinas INT 10h para la manipulacin del video, las rutinas INT 16h para el teclado, los
servicios INT 21h de MS-DOS, etctera. Pero una parte igualmente importante del
sistema operativo es su conjunto de manejadores de interrupciones, que responden a las
interrupciones del hardware. MS-DOS nos permite sustituir cualquiera de estas rutinas de
servicio con nuestras propias rutinas.
Tabla de vectores de interrupcin
La clave de la fl exibilidad de MS-DOS recae en la tabla de vectores
de interrupcin que se encuentra en los primeros 1024 bytes de RAM (ubicaciones 0:0 a
0:03FF). La tabla
16-2 contiene un corto ejemplo de entradas en la tabla de vectores. Cada entrada en la
tabla (conocida como
vector de interrupcin) es una direccin tipo segmento-desplazamiento de 32 bits, que
apunta a una de las
rutinas de servicio existentes.

En cualquier computadora dada, los valores de los vectores variarn debido a las distintas
versiones del BIOS y de MS-DOS. Cada vector de interrupcin corresponde a un nmero
de interrupcin. En la tabla, la direccin del manejador de INT 0 (divisin entre cero) es
02C1:5186h. Para obtener el desplazamiento de cualquier vector de interrupcin, se
multiplica su nmero de interrupcin por 4. Por ende, el desplazamiento del vector para
INT 9h es 9 * 4, o 0024 hexadecimal.

Ejecucin de los manejadores de interrupciones Un manejador de interrupciones puede


ejecutarse en una de dos formas:

1) Un programa de aplicacin que contenga una instruccin INT podra producir una
llamada a la rutina, a lo cual se le conoce como interrupcin de software
2) una interrupcin de hardware ocurre cuando un dispositivo de hardware (puerto
asncrono, teclado, temporizador, etctera) enva una seal al chip Controlador de
interrupciones programable.
Interrupciones de hardware
Una interrupcin de hardware se genera mediante el Controlador de interrupciones
programable (PIC) Intel 8259, el cual indica a la CPU que debe suspender la ejecucin del
programa actual y ejecutar una rutina de servicio de interrupcin. Por ejemplo, un carcter
del teclado que espera en el puerto de entrada se perdera si la CPU no lo guarda, o los
caracteres recibidos del puerto serial se perderan si no fuera por una rutina controlada
por interrupciones, que los almacena en un bfer.
En ocasiones, los programas deben deshabilitar las interrupciones de hardware al realizar
operaciones delicadas en los registros de segmento y la pila. La instruccin CLI (borra
bandera de interrupcin) deshabilita las interrupciones, y la instruccin STI (establece
bandera de interrupcin) habilita las interrupciones.
1.5 Llamadas a servicios del sistema
Las llamadas son peticiones a ejecucin de rutinas y proporcionan la interfaz entre el
sistema operativo y un programa en ejecucin. Estas llamadas son instrucciones de
lenguaje ensamblador y se presentan en los manuales que emplean los programadores
de este lenguaje.
Las llamadas al sistema para ejecucin y el control de programas, usualmente incluyen un
conjunto completo de los servicios accesibles por la va del lenguajes de rdenes, tales
como: RUN, EXECUTE, ABORT y planificacin relacionada con el tiempo, adems los
usuarios con las llamadas del sistema pueden suspender, establecer o cambiar atributos
del tiempo de ejecucin de uno ms programas
Las llamadas del sistema para el gestor de recursos, proporcionan servicios para la
asignacin, reserva y reclamacin de los recursos del sistema. Por ejemplo, existen
llamadas del sistema para extender o reducir la cantidad de memoria poseda por el
programa que es llama. Las llamadas del sistema pueden asignar o reservar otros tipos
de objetos del sistema y despus destruir o devolver su custodia al sistema operativo.
Las llamadas al sistema se pueden agrupar en cinco categoras:
1. Control de proceso (Crear, cargar, ejecutar un proceso, obtener y establecer
atributos, esperar un suceso, liberar memoria, abortar y terminar proceso).
2. Manipulacin de archivos (Crear, abrir, leer, obtener y establecer atributos, cerrar y
eliminar archivos).

3. Manipulacin de perifricos (Solicitar, escribir, leer, obtener y establecer atributos,


liberar perifrico).

4. Manipulacin de la informacin (Obtener fecha y hora, establecer fecha y hora,


obtener y establecer datos del sistema, obtener y establecer atributos).
5. Comunicaciones (Crear conexin, enviar mensajes, recibir mensajes, transferir
informacin del estado y eliminar conexin.
1.6 Modos de direccionamiento
Los llamados modos de direccionamiento son las diferentes maneras de especificar
en informtica un operando dentro de una instruccin en lenguaje ensamblador
Un modo de direccionamiento especifica la forma de calcular la direccin de memoria
efectiva de un operando mediante el uso de la informacin contenida en registros y / o
constantes, contenida dentro de una instruccin de la mquina o en otra parte.
TIPOS DE DIRECCIONAMIENTO
Implcito
En este modo de direccionamiento no es necesario poner ninguna direccin de forma
explcita, ya que en el propio cdigo de operacin se conoce la direccin del (de los)
operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar.

Inmediato
En la instruccin est incluido directamente el operando.
En este modo el operando es especificado en la instruccin misma. En otras palabras,
una instruccin de modo inmediato tiene un campo de operando en vez de un campo de
direccin. El campo del operando contiene el operando actual que se debe utilizar en
conjunto con la operacin especificada en la instruccin. Las instrucciones de modo
inmediato son tiles para inicializar los registros en un valor constante.
Cuando el campo de direccin especifica un registro del procesador, la instruccin se dice
que est en el modo de registro.

Directo
El campo de operando en la instruccin contiene la direccin en memoria donde se
encuentra el operando.

En este modo la direccin efectiva es igual a la parte de direccin de la instruccin. El


operando reside en la memoria y su direccin es dada directamente por el campo de

direccin de la instruccin. En una instruccin de tipo ramificacin el campo de direccin


especifica la direccin de la rama actual.
Con este tipo de direccionamiento, la direccin efectiva es contenida en la misma
instruccin, tal como los valores de datos inmediatos que son contenidos en la instruccin.
Un procesador de 16 bits suma la direccin efectiva al contenido del segmento de datos
previamente desplazado en 4 bits para producir la direccin fsica del operando.

Indirecto
El campo de operando contiene una direccin de memoria, en la que se encuentra la
direccin efectiva del operando.

Absoluto
El campo de operando contiene una direccin en memoria, en la que se encuentra la
instruccin.

De registro

Sirve para especificar operandos que estn en registros.

Indirecto mediante registros


El campo de operando de la instruccin contiene un identificador de registro en el que se
encuentra la direccin efectiva del operando.
En este modo el campo de la direccin de la instruccin da la direccin en donde la
direccin efectiva se almacena en la memoria. El control localiza la instruccin de la
memoria y utiliza su parte de direccin para acceder a la memoria de nuevo para leer una
direccin efectiva. Unos pocos modos de direccionamiento requieren que el campo de
direccin de la instruccin sea sumado al control de un registro especificado en el
procesador. La direccin efectiva en este modo se obtiene del siguiente clculo:
Dir. efectiva = Dir. de la parte de la instruccin + Contenido del registro del procesador...

De desplazamiento
Combina el modo directo e indirecto mediante registros
De pila

Se utiliza cuando el operando est en memoria y en la cabecera de la pila.

Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), las cuales
estn marcados por el fondo de la pila y el puntero de pila (*SP), El puntero de pila apunta
a la ltima posicin ocupada. As, como puntero de direccionamiento usaremos el SP. El
desplazamiento ms el valor del SP nos dar la direccin del objeto al que queramos
hacer referencia. En ocasiones, si no existe C. de desplazamiento solo se trabajara con la
cima de la pila. Este tipo de direccionamiento nos aporta flexibilidad pero por el contrario,
es mucho ms complejo que otros tipos estudiados ms arriba.
Respecto a un registro base
Este modo de direccionamiento es muy usado por los ensambladores cuando se llaman a
las funciones (para acceder a los parmetros apilados en la pila, valga la redundancia).
Consiste, al igual que el indirecto a travs de registro, en calcular la EA (Effective Address)
como la suma del contenido del registro base y un cierto desplazamiento (u offset) que
siempre ser positivo. Esta tcnica permite cdigos reentrantes y acceder de forma fcil y
rpida a posiciones cercanas de memoria.
EA = RB+offset RB = registro base offset = desplazamiento -> RB se comporta como una
direccin de memoria a la que se le sumar el desplazamiento
Respecto a un registro ndice
Es similar al anterior, lo nico que es el contenido del registro ndice el que indica el
desplazamiento que se produce a partir de una direccin de memoria que se pasa
tambin como argumento a la orden que utiliza este modo de direccionamiento. Aunque
en esencia son dos modos equivalentes. La EA se calcula como la suma del contenido del
registro ndice y una direccin de memoria:
EA = RI+DM RI = registro ndice DM = direccin de memoria -> RI se comporta como un
offset
=== Indexado respecto a una base === Se trata de una combinacin de los dos anteriores
y consiste en calcular la direccin efectiva como:
EA = RI+RB+DM
-> Las siglas significan lo mismo que en el caso anterior
Indexado con autoincremento/autodecremento
Es un modo de direccionamiento anlogo al indexado, explicado anteriormente.
La nica diferencia es que permite un incremento o decremento de la direccin final o el
registro ndice segn
los siguientes casos:
-> Indexado con autopreincremento: Incrementa el registro ndice primero (se incrementa
un valor, segn el tamao del objeto direccionado) y luego calcula la EA al igual que el
direccionamiento indexado.

-> Indexado con autoposincremento: Calcula la direccin efectiva y despus incrementa


esta.

-> Indexado con autopredecremento: Decrementa el registro ndice y despus calcula la


direccin efectiva.
-> Indexado con autoposdecremento: Calcula la direccin efectica y despus decrementa
esta.
Instruccin de salto con direccionamiento absoluto
Consiste en cargar en el PC el valor que se especifica en la orden de salto, p.e:
jmp 0xAB ----> Carga 0xAB en PC
Instruccin de salto con direccionamiento relativo
Es parecida a la especificada anteriormente la diferencia es que el salto es relativo al PC,
pongamos un ejemplo:
Supongamos que PC vale = 0x0A, si nosotros interpretamos la instruccin jr +03,
saltaremos tres posiciones posteriores a PC (tambin podra ser -03 y seran posiciones
anteriores). Pero, cuidado! si esa instruccin estaba en la posicin 0x0A la direccin de
PC a incrementar ser la inmediatamente posterior (ya que PC se incrementa
automticamente despus de leer la instruccin), por lo que quedara:
PC = 0x0B ---> nuevo PC = 0x0B+0x03 = 0x0E, con lo que el PC quedara como 0x0E.
Direccionamiento paginado y direccionamiento segmentado
Paginado: La memoria se encuentra actualmente dividida en pginas(bloques de igual
longitud).
Para obtener las direcciones necesitamos:
Indicador de pgina (IP): en un registro especfico o de propsito general de la mquina.
Direccin de la palabra (DP): en el campo CD de la instruccin.
As, concatenando ambas partes obtenemos la direccin completa.

Segmentado: La memoria se divide en porciones cuyos tamaos son variables. As, para
acceder a ellos se tiene una tabla de segmentos que contiene la direccin del comienzo y
del final de cada segmento en memoria.

Usar este tipo de direccionamiento tiene como ventajas que se puede definir segmentos
de tamao arbitrario. Por otro lado, esta misma ventaja, el fraccionamiento de memoria es
uno de sus problemas.
Ambos modos de direccionamiento facilitan la multiprogramacin gracias a la tcnica de la
memoria virtual que permite que un proceso no tenga que estar cargado ntegramente en
memoria, si no que se cargan distintas pginas del mismo (o segmentos). Si se intenta
cargar una pgina o segmento que no se encuentra en la memoria principal se produce
una excepcin de falta de pgina o segmento y se accede a la memoria para cargar la
informacin requerida en la memoria principal.
Direccionamiento absoluto vs Direccionamiento relativo
En esta seccin vamos a resaltar las diferencias de estos dos tcnicas de
direccionamiento y aclarar las ventajas y desventajas que cada una de ellas conlleva.
Direccionamiento absoluto: Consiste en direccionar una posicin de memoria de forma
directa, esto es, que la direccin hace referencia directamente a dicha posicin sin tener
que realizar clculos adicionales para la EA.
Direccionamiento relativo: Cuando para direccionar una posicin de memoria se hace
referencia a otra sobre la cual se especifica un incremento o decremento, es decir, se
requiere otro dato para el clculo de la direccin efectiva.
Generalmente se usan los direccionamientos relativos ya que, al ejecutar un cierto
programa se cumple la proximidad espacial y temporal, lo que implica que datos que ya
han sido usados o que se encuentran en posiciones cercanas al PC tendrn una alta
probabilidad de ser referenciados prximamente. Otras de las ventajas del
direccionamiento relativo es que permite los cdigos reentrantes y cambiar ciertas
direcciones sin tener que volver a compilar el programa. Es tambin til porque nunca se
sabe en qu posicin de memoria se cargar un determinado programa. Por ltimo
reduce el nmero de bits para especificar las direcciones y se facilita la referencia a datos
del programa a travs de los registros base.

El problema viene cuando queremos referenciar un dato al que no podemos acceder de


forma relativa (p.e porque los registros base no puedan alcanzar dicha posicin aun con el
incremento ms grande que podamos darle), en este caso se requiere el direccionamiento
absoluto que s es capaz de acceder, por lo general, a cualquier direccin de memoria.

1.7 Proceso de ensamblado y ligado


Para poder crear un programa se requieren varias herramientas:

Primero un editor para crear el programa fuente. Segundo un compilador que no es m


s que un programa que "traduce" el programa fuente a un programa objeto.
Y tercero un enlazador o linker, que genere el programa ejecutable a partir
del programa objeto. El editor puede ser cualquier editor de
textos que se tenga a la mano, como compilador utilizaremos el MASM (macro ensam
blador deMicrosoft) ya que es el ms comn, y como enlazador utilizaremos
el programa link.

La extensin usada para que MASM reconozca los programas fuente en


ensamblador es
.ASM; una vez traducido el programa fuente,
el MASM crea un archivo con la extensin .OBJ, este archivo contiene un "formato
intermedio" del programa,
llamado as porque an no es ejecutable perotampoco es ya un programa en lenguaje
fuente. El enlazador genera, a partir de un archivo .OBJ
o lacombinacin de varios de estos archivos, un programa ejecutable,
cuya extensin es usualmente.EXE aunque tambin puede ser .COM, dependiendo
de la forma en que se ensambl.

1.8 Desplegado de mensajes en el monitor

Todos los grficos y el texto que se muestran en el monitor se escriben en la RAM


de visualizacin de video, para despus enviarlos al monitor mediante el controlador
de video. El controlador de video es en s un microprocesador de propsito especial,
que libera a la CPU principal del trabajo de controlar el hardware de video.

Un monitor de pantalla de cristal lquido (LCD) digital directo recibe un flujo de bits
digitales directamente desde el controlador de video, y no requiere del barrido de
trama.

Bibliografa
http://lenguajes-e-interpretes.blogspot.mx/2012/11/importancia-del-lenguajeensamblador.html
http://es.slideshare.net/romo91/el-procesador-y-sus-registros-internos
http://lenguajesdeinterfaztec.blogspot.mx/2014/02/lenguajes-de-interfaz-unidad-i.html
http://canedo.itmazatlan.edu.mx/lenguajes-de-interfaz/1/1-4
http://leo-yac.wix.com/lenguaje-ensamblador#!llamadas-a-servicios-del-sistema/cst9
https://es.wikipedia.org/wiki/Modos_de_direccionamiento

http://docslide.com.br/documents/17-proceso-de-ensamblado-y-ligado.html

http://leo-yac.wix.com/lenguaje-ensamblador#!desplegado-de-mensaje-en-elmonitor/c1qsv

Das könnte Ihnen auch gefallen