lunes, 22 de agosto de 2016

UNIDAD 1. INTRODUCCION AL LENGUAJE ENSAMBLADOR



1.1 IMPORTANCIA DEL LENGUAJE ENSAMBLADOR
Definición: El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.
 La importancia del lenguaje ensamblador es 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 el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.

1.2 EL PROCESADOR Y SUS REGISTROS INTERNOS
Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionable por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda, como en:
10  9  8  7  6  5  4  3  2  1  0
Registros de segmento Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para direccionamiento conocida como el segmento actual.
Algunos registros son:
Registro CS. El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS.
Registro DS. La dirección inicial de un segmento de datos de programa es almacenada en el registro DS
Registro SS. El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos.
Registros ES. Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro extra de segmento para manejar el direccionamiento de memoria.
Registros FS y GS. Son registros extra de segmento en los procesadores 80386 y posteriores.
Registros de propósito general. Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte
Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética.
Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado.
Registro DX. El DX es conocido como l registro de datos. Alguna operaciones de entrada/salida requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.
Registro de Apuntador de Instrucciones. El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta.
Registros Apuntadores. Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila.
Registro SP. El apuntador de la pila de 16 bits está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila.
Registro BP. El BP de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía pila.
Registros Índice. Los registros SI y DI están disponibles para direccionamiento indexado y para sumas y restas.
Registro SI. El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas (de caracteres).
Registro DI. El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres.

1.3 LA MEMORIA PRINCIPAL (RAM)
La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella (puede darse el caso de que una sola instrucción necesite varia palabras), o un dato o parte de un dato (también un dato puede ocupar varias palabras).
A la cantidad de palabras que forman la MP se le denomina capacidad de memoria. Una palabra está formada a su vez de unidades mas elementales llamadas bits, del mismo modo que en el lenguaje natural una palabra esta formada por letras.

1.4 EL CONCEPTO DE INTERRUPCIONES
También conocidas cono IRQ. Recursos que utiliza un dispositivo cuando necesita detener el proceso que está realizando la CPU para infórmale de que él, por su parte está haciendo algo. Si dos dispositivos utilizan la misma interrupción, se produce un conflicto, el ordenador no sabe qué elemento intenta avisarle y suelen aparecer problemas de funcionamiento. El programa interrumpido puede continuar ejecutándose luego. Existen 256 direcciones de interrupción diferentes.

1.5 LLAMADAS AL SERVICIO DE SISTEMA
Llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
Algunos sistemas permiten efectuar llamadas al sistema directamente desde un programa realizado en el lenguaje de mayor nivel, normalmente estas llamadas se asemejan a una función o sub-rutinas predefinidas
¿Cómo sabe el procesador que el dispositivo requiere que se le atienda?
La primera forma es que el procesador esté periódicamente sondeando al dispositivo en cuestión. La segunda forma, una más eficiente, es hacer que sea el dispositivo el que le avise al procesador cuando esté listo o requiera atención, interrumpiendo al procesador.

1.6 MODOS DE DIRECCIONAMIENTO
Los llamados modos de direccionamiento son las diferentes maneras de especificar dentro de una instrucción, Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.

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.

1.8 DESPLEGADO DE MENSAJE EN EL MONITOR
COMENTARIOS EN LENGUAJE ENSAMBLADOR.
El uso de comentarios a lo largo de un programa puede mejorar su claridad, en especial en lenguaje ensamblador, donde el propósito de un conjunto de instrucciones con frecuencia no es claro. Un comentario empieza con punto y coma (;) y, en donde quiera que lo codifique, el ensamblador supone que todos los caracteres a la derecha de esa línea son comentarios. Un comentario puede contener cualquier carácter imprimible, incluyendo el espacio en blanco

Fuente http://www.itpn.mx/recursosisc/6semestre/lenguajesdeinterfaz/Unidad%20I.pdf

No hay comentarios:

Publicar un comentario