Estructura del lenguaje ensamblador

Solo disponible en BuenasTareas
  • Páginas : 29 (7109 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de febrero de 2011
Leer documento completo
Vista previa del texto
Estructura de un programa en ensamblador
El lenguaje ensamblador, o assembler (assembly language en inglés ) es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitecturadada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Unlenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.

 Para hacer la tarea del programador más grata, se usan algunas convenciones. Cada uno puede adoptar las que más le agraden y ayuden para ser más productivo. En general, lasconvenciones son cualquier acción que facilita la revisión y comprensión de un programa, especialmente el que uno mismo ha escrito cuando tiene que revisarlo algunos meses después.
Comentamos algunas convenciones que usaremos:
* Los ficheros de códigofuente llevarán la extensión *.ASM
* Los ficheros de listado llevarán la extensión *.LST
* Los ficheros de código objeto llevarán laextensión *.OB]
* Los ficheros de errores llevarán la extensión *.ERR
* Los ficheros ejecutables en formato Intel Hex llevarán la extensión *.HEX
* Comentario descriptivo del programa (utilizar una cabecera estandarizada).
* Definir el microcontrolador que se usará (con las directivas LIST e INCLUDE).
* Introducir las opciones de compilación (que serán vistas más adelante)(opcional).
* Establecer las constantes que se usarán (con la directiva EQU).
* Reservar espacios de memoria (directiva RES) (si es necesario).
* Configurar los puertos.
* Desarrollar el programa con comentarios, en lo posible explicando cada línea de código..
* Los mnemónicos escritos en minúscula y las constantes y variables en mayúscula hacen que el código escrito sea másvisible.
* Colocar las rutinas en el mismo sitio, todas contiguas.
* Dibujar diagramas de flujoo escribir seudocódigo.
    Su estructuraen un programa ejemplo muy simple:

    Hemos visto la estructura general. Ahora veremos la posición de los elementos del código por 4 columnas:

* Columna 1: Etiquetas. Las etiquetas se rigen por las siguientes normas:
* Debe situarse en laprimera columna.
* Debe contener únicamente caracteres alfanuméricos.
* El máximo de caracteres es de 31.
* Columna 2: Operación.En esta columna se situarán las instrucciones. El campo del código de operación es el único que nunca puede estar vacío; éste siempre contiene una instrucción o una directiva del ensamblador.
* Columna 3: Operandos El campo de operandos o de direcciónpuedecontener una dirección o un dato, o puede estar en blanco. Normanmente contendrá registroso literales con los que se operará (f, l o k , b y w).
* Columna 4: Comentario.El campo del comentario o de etiquetas es opcional. Aquí se situará cualquier comentario personalizado que deseemos. Estos son útiles para saber qué hace un programa sin tener que descifrar el código entero. El compilador(ensamblador) ignorará todo texto más allá del carácter punto y coma ";".
    Los comentarios generalmente se sitúan en la cuarta columna para describir la acción de una línea de código, pero pueden situarse en cualquier parte de programa para describir cualquier otro evento, siempre que estén después del carácter ";" (semicolon en inglés).
    Normalmente las columnas son separadas por una...
tracking img