sábado, 25 de octubre de 2014

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR

1. Sintaxis de un lenguaje ensamblador
2. Campos de una instrucción en ensamblador
3. Pseudoinstrucciones

1. Sintaxis de un Lenguaje Ensamblador

Ø  Estructura de una línea:

Instrucción en Ensamblador

ETIQUETA
NEMOTÉCNICO
OPERANDOS
COMENTARIOS

Instrucción en Lenguaje Máquina

DIRECCIÓN
CÓDIGO DE OPERACIÓN
DIRECCIÓN DE LOS OPERANDOS

Ø  Tipos de líneas en un programa ensamblador
     ·         Instrucciones.
            o   Ejecutables por el computador.

     ·         Pseudoinstrucciones
            o   Indicaciones o directivos para el traductor.
            o   No ejecutables por el computador.

2. Campos de una Instrucción en Ensamblador

Etiqueta
§  Identifica la línea en la cual se encuentra.
§  Se asocia a la dirección en la cual se encuentra la instrucción o el dato, o a la constante definida.
§  Recomendaciones
   o   Utilizar sólo letras o números (comenzar por una letra).
   o   Colocar la primera letra de la etiqueta en el primer carácter de la línea.

Nemotécnico
§  Identifica:
   o   Un código de operación del lenguaje
   o   Una pseudoinstrucción

Campo de operandos
§  Identifica los operandos que intervienen en la instrucción o pseudoinstrucción.
§  Tipos de operandos:
o   Constantes
ü  Numéricas: decimales(D), binarias (%,B), octales (O,@,Q,C), hexadecimales (H,$).
ü  Alfabéticas: entre comillas.
o   Símbolos
ü  Predefinidos: registros, contador de dirección de ensamblado.
ü  Implícitos: etiquetas de dirección.
ü  Explícitos: mediante pseudoinstrucciones.
o   Expresiones

Comentarios
§  Indicaciones para una mejor comprensión del programa ensamblador.
§  Pueden comenzar con el símbolo “;”.


3. Pseudoinstrucciones
§  Manipulación del contador de dirección de ensamblado
    o   Indica la dirección a partir de la cual se localizan los datos o instrucciones a continuación.
    o   Ej: ORG         operando

§  Definición de símbolos
   o   Da un valor a un símbolo.
   o   Ej: ETIQ        EQU   expresión

§  Reserva de espacio en memoria (definición de variables)
   o   Con valor inicial: reserva espacio para los datos indicados en la lista de expresiones, y les pone los valores iniciales indicados (tamaño de cada dato: S=B,W ó L).
        ü  Ej: ETIQ        DC.S expr1,expr2,…,exprN
 o   Sin valor inicial: reserva espacio para tantas variables como se indica en la expresión (tamaño de cada dato: S=B,W ó L).
       ü  Ej: ETIQ         DS.S expresión

§  Control de traducción
   o   Marca el final del programa fuente
       ü  Ej: END

§  Almacenamiento en posición par
   o   Hace que el siguiente objeto se almacene a partir de la próxima posición de memoria con dirección par.
      ü  Ej: EVEN

§  Enlace entre programas
    o   Indicación de símbolos externos: EXT, REF, XREF, EXTERNAL.
    o   Indicación de símbolos exportables: ENT, DEF, XDEF, PUBLIC.

§  Acciones de ensamblado condicional
    o   Incluyen en el ensamblado o no grupos de instrucciones del programa fuente.
        ü  Ej: IF … ELSE … ENDIF

§  Ejecución de listados e informes
    o   Título para la cabeceras: TITLE, NAME
    o   Salto de página: PAGE, SPAGE.
    o   Impresión u omisión de parte del programa fuente: LIST, NOLIST.
    o    Inclusión de la tabla de símbolos: SYMBOL, TABLE.

Ejemplos:

Sintaxis:

Estructura:



Fuentes:
Programación de un PIC16F84
http://www.comohacerturobot.com/programacion/programa.htm

Estructura y Tecnología de Computadores I. Estructura de un lenguaje ensamblador

http://dac.escet.urjc.es/~lrincon/uned/etc1/EstructuraEnsamblador.pdf

No hay comentarios :

Publicar un comentario