Subido por Uriel Ramirez

ESTRUCTURAS EN LENGUAJE ENSAMBLADOR

Anuncio
K060 (15) ESTRUCTURAS EN
LENGUAJE ENSAMBLADOR
Estructuras en Lenguaje Ensamblador
Introducción
El lenguaje ensamblador es conocido como un lenguaje de bajo nivel, lo cual significa que permite
controlar el 100 % de las funciones de un microprocesador, así como los periféricos asociados a
éste.
El lenguaje ensamblador es la forma básica de programar un microprocesador para que éste sea
capaz de realizar tareas o cálculos.
A diferencia de los lenguajes de alto nivel, el lenguaje ensamblador no requiere de un compilador,
debido a que las instrucciones en lenguaje ensamblador son traducidas directamente a código
binario y después son colocadas en memoria para que el microprocesador las tome directamente.
Aprender a programar en lenguaje ensamblador no es fácil, se requiere un cierto nivel de
conocimiento de la arquitectura y organización de las computadoras, además del conocimiento de
programación en algún otro lenguaje.
Dentro del curso se analizan los procesos de dicho lenguaje para construir finalmente un
programa, dentro del cual se utilicen las herramientas que lo conforman.
Justificación
El lenguaje ensamblador es la forma más básica de programar un microprocesador para que éste
sea capaz de realizar las tareas o los cálculos que se le requieran. Los microprocesadores
programables son ampliamente utilizados en la industria para automatizar procesos, pues debido
a su versatilidad y bajo costo, se puede prescindir de la computadora para llevar a cabo el control
de
los
procesos.
Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un
microprocesador, por lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de
programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se
dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto
nivel.
Por lo anterior, es indispensable que el alumno adquiera los conocimientos básicos para ejecutar y
utilizar este tipo de lenguaje.
Objetivo General
Analizar el proceso de operación interna de la computadora respecto a direcciones, memoria,
registros y tipo de datos, aplicando los diversos modelos de direccionamiento e instrucciones
lógicas
y
aritméticas
disponibles
a
nivel
ensamblador.
Objetivo particulares.

Señalar las características del lenguaje y sus aportaciones a la manipulación directa del
hardware.

Examinar los procedimientos de movimiento y administración de información de manera
adecuada.

Identificar las características de los sistemas de instrucción para la solución de operaciones.

Especificar los fines y funciones de la señal de interrupción dentro del procesador u
ordenador.

Desarrollar instrucciones ejecutables según su aplicación.

Diseñar programas que faciliten al usuario la ejecución de una tarea.

Reconocer los elementos significativos de los dispositivos que facilitan el desarrollo de
determinadas tareas.
Temario
Unidad 1. Introducción.
El lenguaje ensamblador es una expresión de bajo nivel utilizado para programación de
microprocesadores. Con la utilización de mnemónicos, es posible realizar códigos en este lenguaje
con facilidad sin recurrir a lenguaje máquina.
1.1 El lenguaje ensamblador.
1.2 Representación de datos.
1.3 Operación interna en la computadora.
1.4 Programa fuente.
1.5 Tipos de instrucciones.
Unidad 2. Instrucciones de operación.
El sistema de programación del lenguaje ensamblador, hace uso de espacios de memoria, donde
se almacenan registros y resultados de algunas operaciones a los cuales podemos acceder de
acuerdo al tipo de dato almacenado, el cual puede ser un número, una dirección, un conjunto de
registros de pila, etc.
2.1 Movimiento de datos con respecto a memoria.
2.2 Movimiento de direcciones a registros.
2.3 Administración de la pila.
2.4 Movimiento de bloques de datos.
Unidad 3. Instrucciones lógicas y aritméticas.
Las operaciones que se pueden realizar en lenguaje ensamblador, son similares a las de los
lenguajes de alto nivel, sólo que en lugar del símbolo de operación se utilizan diversos
neumónicos. Las instrucciones utilizadas para las operaciones algebraicas son: para sumar add,
para restar sub, para multiplicar mul y para dividir div. Casi todas las instrucciones de comparación
están basadas en la información contenida en el registro de banderas.
3.1 Instrucciones aritméticas.
3.2 Instrucciones de comparación.
3.3 Instrucciones lógicas.
3.4 Instrucciones para la manipulación de bits.
3.5 Almacenamiento de datos.
Unidad 4. Interrupciones.
El microprocesador puede atender dos tipos de interrupciones: interrupciones por software e
interrupciones por hardware. Las interrupciones por software son llamadas desde los programas y
son proporcionadas por el sistema operativo (MS-DOS). Por otro lado, las interrupciones por
hardware son proporcionadas por el propio microprocesador, encontrando interrupciones
internas y externas en cada caso.
4.1 Definición de Interrupciones.
4.2 Tipos de Interrupciones.
4.3 Interrupciones y el usuario.
Unidad 5. Macros.
Una de las principales desventajas de la programación en lenguaje ensamblador es la repetición
constante de ciertos grupos de instrucciones. Una macro es un conjunto de instrucciones que se
agrupan bajo un nombre descriptivo (macroinstrucción) y que sólo es necesario declarar una vez.
Una vez que la macro ha sido declarada, únicamente es necesario indicar su nombre en el cuerpo
del programa y el ensamblador se encargará de reemplazar la macroinstrucción por las
instrucciones de la macro.
5.1 Definición.
5.2 Uso de Macros.
5.3 Variantes de macros.
Unidad 6. Aplicaciones.
En el lenguaje ensamblador el tipo de dato cadena (string) no está definido, pero para fines de
programación una cadena es definida como un conjunto de localidades de memoria consecutivas,
que se reservan bajo el nombre de una variable. Para comprender realmente cómo funcionan las
instrucciones para cadenas se analizarán varios programas que fueron escritos para este fin.
6.1 Manejo de video.
6.2 Manejo de strings.
6.3 Interface con lenguajes de alto nivel.
Unidad 7. Herramientas.
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 Ensamblador de Microsoft), ya
que es el más común, y como enlazador utiliza frecuentemente el programa link.
7.1 Macroensamblador.
7.2 Limber.
7.3 Debugger.
Unidad 1. Introducción.
Introducción
1.1 El lenguaje ensamblador.
1.2 Representación de datos.
1.3 Operación interna en la computadora.
1.4 Programa fuente.
1.5 Tipos de instrucciones.
Unidad 2. Instrucciones de operación.
2.1 Movimiento de datos con respecto a memoria.
2.2 Movimiento de direcciones a registros.
2.3 Administración de la pila.
2.4 Movimiento de bloques de datos.
Unidad 3. Instrucciones lógicas y aritméticas.
3.1 Instrucciones aritméticas.
3.2 Instrucciones de comparación.
3.3 Instrucciones lógicas.
3.4 Instrucciones para la manipulación de bits.
3.5 Almacenamiento de datos.
Unidad 4. Interrupciones.
4.1 Definición de Interrupciones.
4.3 Interrupciones y el usuario.
Unidad 5. Macros.
5.1 Definición.
5.2 Uso de Macros.
5.3 Variantes de macros.
Unidad 6. Aplicaciones
6.1 Manejo de video.
6.2 Manejo de strings.
6.3 Interface con lenguajes de alto nivel.
Unidad 7. Herramientas.
7.1 Macroensamblador.
7.2 Linker.
7.3 Debugger.
Descargar