base de datos
Lenguaje máquina: un programa o secuencia de
instrucciones viene dado por una secuencia de códigos
binarios.
Lenguaje ensamblador: secuencia lógica de sentencias
pertenecientes a alguna de las siguientes clases:
Una línea de comentario.
Una instrucción ejecutable.
Una directiva de ensamblado.
La escritura en lenguaje máquina es tediosa y proclive a errores, el lenguaje ensamblador facilita la tarea de la
escritura sin perder la cercanía a la máquina.
1
9. Lenguaje ensamblador
Programa ensamblador: traduce el lenguaje ensamblador al
Programa ensamblador:
lenguaje máquina de la CPU
Programa
fuente
ensamblador
lenguaje ensamblador
Programa
objeto
lenguaje máquina
2
9. Lenguaje ensambladorEl formato básico de una sentencia en lenguaje ensamblador
es:
Etiqueta Opcode Operando(s) Comentario
* El campo etiqueta es opcional
* Opcode contiene el mnemónico de la instrucción o la
directiva de ensamblador.
* Operando(s), son los operandos (1 o 2 o ninguno) de la
instrucción o directiva. Cuando hay 2 o más operandos,
estos se separan por comas.
* De forma opcional, el último campo es el comentario.3
9. Lenguaje ensamblador
Directivas: son órdenes para el ensamblador y no tienen
traducción a código máquina. Utilizaremos:
ORG:
Inicializa el contador de programa con el valor del operando.
Si no se utiliza una directiva ORG, se asume que el PC vale
0.
- Sintaxis: ORG valor
- Ejemplo:
ORG $400
4
9. Lenguaje ensamblador
- EQU: Asigna al símbolo contenido en el campo etiqueta el valor de la
expresión en el campo operando.
- Sintaxis: etiqueta EQU valor
- Ejemplo:
PI EQU 3.1416
5
9. Lenguaje ensamblador
DC:
Define constantes en memoria. Permite asignar valores
numéricos, tablas, caracteres o cadenas a variables de
memoria.
- Añadiendo .B, .W o .L se indica el tamaño de la
constante. Si no se indica nada, seasume tamaño W.
- Se pueden asignar hasta 256 bytes de datos en una
única directiva
6
9. Lenguaje ensamblador
Sintaxis: ETIQUETA DC.t const1,const2,.....
Ejemplos:
7
9. Lenguaje ensamblador
DS:
Se utiliza para reservar posiciones de memoria.
Añadiendo .B, .W o .L se indica el tamaño de cada
elemento reservado. Si no se indica nada, se asume tamaño W.
Sintaxis: ETIQUETA DS.t valor
Ejemplo:
DS.B 256 Reserva 256 bytes consecutivos de
memoria
DS.L 1 Reserva una palabra larga
Hola DS 2 Reserva dos palabras a partir de la
dirección asignada por el ensamblador a Hola
8
10. Procesamiento de excepciones
Las excepciones permiten interrumpir la ejecución
normal de una secuencia de instrucciones parapasar a atender, de forma inmediata, la situación
particular que las genera.
Se clasifican en internas o externas según el origen
de la situación particular.
9
10. Procesamiento de excepciones
Clasificación
10
10. Procesamiento de excepciones
–
–
–
–
–
Cada excepción tiene asociada un vector de excepción
almacenado en una posición concreta de la memoria.Un vector de excepción es una dirección de memoria (puntero,
doble palabra). Dicha dirección hace referencia a la posición de
memoria que ocupa la primera instrucción de la rutina de
excepción.
Existen un total de 255 vectores de excepción almacenados en la
tabla de vectores de excepción situada a partir de la dirección $000000 de la RAM y con un tamaño total de 1Kbytes.
Cada vector de excepción de la tabla es identificado por el
número de vector de excepción, N (N varía de 0 a 255, byte). A
partir de este N, el microprocesador determina la dirección de la
RAM donde se encuentra el vector de excepción realizando la
operación 4*N.
Los 64 primeros vectores están preasignados (aunque pueden ...
Regístrate para leer el documento completo.