Lenguaje ensambador
Lenguaje Ensamblador
INTRODUCCIÓN AL
ENSAMBLADOR:
El lenguaje
ensamblador es el sistema alfanumérico para escribir código máquina mediante
expresiones abreviadas (mnemotécnicos).
La compilación es más complicada porque incluye la conversión de
operaciones matemáticas complejas, comandos de lenguaje natural o tipos de
comandos complejos. Cada ordenador
tiene su propio lenguaje ensamblador, exclusivo de su CPU; un lenguaje de alto
nivel (LAN) puede ser compilado en distintas máquinas. Es usado principalmente porque hay
aplicaciones o programas que deben tratar directamente con los registros de la
máquina, la memoria, dispositivos de E/S, etc.
LENGUAJE ENSAMBLADOR
• El único lenguaje que entienden los microcontroladores es
el código máquina formada por ceros y unos del sistema binario.
• El lenguaje ensamblador expresa las instrucciones de una
forma más natural al hombre a la vez que muy cercana al microcontrolador, ya
que cada una de esas instrucciones se corresponde con otra en código máquina.
• El lenguaje ensamblador trabaja con nemónicos, que son
grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a
realizar.
•La traducción de los nemónicos a código máquina entendible
por el microcontrolador la lleva a cabo un programa ensamblador.
• El programa escrito en lenguaje ensamblador se denomina
código fuente (*.asm). El programa ensamblador proporciona a partir de este
fichero el correspondiente código máquina, que suele tener la extensión *.hex.
El código fuente
• Está compuesto por una sucesión de líneas de texto.
• Cada línea puede estructurarse en hasta cuatro campos o
columnas separados por uno o más espacios o tabulaciones entre sí.
Ø
Campo de
etiquetas. Expresiones alfanuméricas escogidas por el usuario para
identificar una determinada línea. Todas las etiquetas tienen asignado el valor
de la posición de memoria en la que se encuentra el código al que acompañan.
Ø
Campo de
código. Corresponde al nemónico de una instrucción, de una directiva o de
una llamada a macro.
Ø
Campo de
operandos y datos. Contiene los operandos que precisa el nemónico
utilizado. Según el código, puede haber dos, uno o ningún operando.
Ø
Campo de
comentarios. Dentro de una línea, todo lo que se encuentre a continuación
de un punto y coma (;) será ignorado por el programa ensamblador y considerado
como comentario.
Campo de código
Puede corresponder ese código a:
Ø
Instrucciones:
son aquellos nemónicos que son convertidos por el ensamblador en código máquina
que puede ejecutar el núcleo del microcontrolador. En la gama media (PIC16xxx)
cada nemónico se convierte en una palabra en la memoria de programa.
Ø Directivas:
Pseudoinstrucciones que controlan el proceso de ensamblado del programa, pero
no son parte del código. Son indicaciones al programa ensamblador de cómo tiene
que generar el código máquina.
Ø
Macros:
Secuencia de nemónicos que pueden insertarse en el código fuente del
ensamblador de una manera abreviada mediante una simple llamada.
Campo de Operandos y Datos:
• El ensamblador MPASM (distribuido por Microchip) soporta
los sistemas de numeración decimal, hexadecimal, octal, binario y ASCII.
• Los nemónicos que tengan una constante como operando
deberán incluirla respetando la sintaxis que se indica a continuación.
Aprendiendo a
Programar
Pasos a dar para poder generar código fuente:
1.- Juego de Instrucciones
2.- Directivas y Macros
3.- Organización de la Memoria interna:
• Programa
• Datos
El juego de
instrucciones:
• Es un juego reducido de 35 instrucciones muy simples.
• La mayoría de las instrucciones se ejecuta en 4 ciclos de
reloj; los saltos y llamadas a subprogramas se ejecutan en 8 (no se aprovecha
pipeline)
• Todas las instrucciones tienen la misma longitud en la
gama media: 14 bits.
• Por lo tanto el cálculo del tiempo de ejecución y de lo
que ocupa un programa resulta simple.
• Las instrucciones se pueden clasificar atendiendo a dos
criterios:
1. Formato
2.
Funcionalidad
Ciclo de instrucción:
Pudiera haber un ciclo de instrucción de retardo si el
resultado de ejecutar la instrucción anterior modifica el contenido del Contador
de Programa (Ej: GOTO ó CALL). Esto implica suspender el entubado (pipelining)
de las instrucciones durante un ciclo para que la instrucción a donde se salta
se traiga a la CPU.
PROCESOS PARA LA
CREACIÓN DE UN PROGRAMA:
Para la creación de un programa es necesario seguir cinco
pasos:
Diseño del algoritmo, codificación del mismo, su traducción
a lenguaje máquina, la prueba del programa y la depuración.
En la etapa de diseño
se plantea el problema a resolver y se propone la mejor solución, creando
diagramas esquemáticos utilizados para el mejor planteamiento de la solución.
La codificación
del programa consiste en escribir el programa en algún lenguaje de programación
(en este caso en ensamblador 8086), tomando como base la solución propuesta en
el paso anterior.
La traducción al
lenguaje máquina es la creación del programa objeto, esto es, el programa
escrito como una secuencia de ceros y unos que pueda ser interpretado por el
procesador.
La prueba del
programa consiste en verificar que el programa funcione sin errores, o sea, que
haga lo que tiene que hacer.
La última etapa es la
eliminación de las fallas detectadas en el programa durante la fase de
prueba. La corrección de una falla normalmente requiere la repetición de los
pasos comenzando desde el primero o el segundo. Para crear un programa en
ensamblador utilizararemos el debugger, que se encuentra en cualquier PC con el
sistema operativo MS-DOS, lo cual lo pone al alcance de cualquier usuario que
tenga acceso a una máquina con estas características.
Debug solo puede crear archivos con extensión .EXE, y por
las características de este tipo de programas no pueden ser mayores de 64 kb,
además deben comenzar en el desplazamiento, offset, o dirección de memoria
0100Hh dentro del segmento específico.
Referencias:
Consultado en: uniovideo.es
Autor: Universidad de Ovideo
Año de publicación: s. f.
Título del artículo: TEMA 3 Ensamblador
Fecha de recuperación del documento: 10-06-2020
Comentarios
Publicar un comentario