Heinsohn Privacidad y Ciberseguridad para el sector educativo
Estructura ensamblador
1. Estructura y Tecnología de Computadores I
Estructura de un lenguaje ensamblador -1-
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
CÓDIGO DE DIRECCIÓN DE
DIRECCIÓN
OPERACIÓN LOS OPERANDOS
- Características de los ensambladores modernos:
• Formato libre.
• Delimitadores de campo.
- Tipos de líneas en un programa ensamblador
• Instrucciones.
∗ Ejecutables por el computador.
• Pseudoinstrucciones
∗ Indicaciones o directivos para el traductor.
∗ No ejecutables por el computador.
2. Estructura y Tecnología de Computadores I
Estructura de un lenguaje ensamblador -2-
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
• Utilizar sólo letras o números (comenzar por una letra).
• Colocar la primera letra de la etiqueta en el primer carácter de la línea.
Nemotécnico
- Identifica:
• Un código de operación del lenguaje
• Una pseudoinstrucción
Campo de operandos
- Identifica los operandos que intervienen en la instrucción o pseudoinstrucción.
- Tipos de operandos:
• Constantes
∗ Numéricas: decimales(D), binarias (%,B), octales (O,@,Q,C),
hexadecimales (H,$).
∗ Alfabéticas: entre comillas.
• Símbolos
∗ Predefinidos: registros, contador de dirección de ensamblado.
∗ Implícitos: etiquetas de dirección.
∗ Explícitos: mediante pseudoinstrucciones.
• Expresiones
Comentarios
- Indicaciones para una mejor comprensión del programa ensamblador.
- Pueden comenzar con el símbolo “;”.
3. Estructura y Tecnología de Computadores I
Estructura de un lenguaje ensamblador -3-
3. PSEUDOINSTRUCCIONES
- Manipulación del contador de dirección de ensamblado
• Indica la dirección a partir de la cual se localizan los datos o instrucciones a
continuación.
• Ej: ORG operando
- Definición de símbolos
• Da un valor a un símbolo.
• Ej: ETIQ EQU expresión
- Reserva de espacio en memoria (definición de variables)
• 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
• 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
• Marca el final del programa fuente
• Ej: END
- Almacenamiento en posición par
• 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
• Indicación de símbolos externos: EXT, REF, XREF, EXTERNAL.
• Indicación de símbolos exportables: ENT, DEF, XDEF, PUBLIC.
- Acciones de ensamblado condicional
• Incluyen en el ensamblado o no grupos de instrucciones del programa fuente.
• Ej: IF … ELSE … ENDIF
- Ejecución de listados e informes
• Título para la cabeceras: TITLE, NAME.
• Salto de página: PAGE, SPAGE.
• Impresión u omisión de parte del programa fuente: LIST, NOLIST.
• Inclusión de la tabla de símbolos: SYMBOL, TABLE.