Please enable JavaScript.
Coggle requires JavaScript to display documents.
Generacion de codigo objeto - Coggle Diagram
Generacion de codigo objeto
4.2 Lenguaje ensamblador.
El lenguaje ensamblador es el sistema alfanumérico
para escribir código máquina mediante expresiones abreviadas (mnemotécnicos).
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.
Procesos para la creación de un programa
Diseño del algoritmo
Codificación del mismo
Traducción a lenguaje máquina
Prueba del programa
Depuración
SOFTWARE NECESARIO:
Primero un editor
Segundo un compilador
tercero un enlazador
El editor puede ser cualquier editor de textos que se tenga a
la mano, como compilador utilizaremos el programa Turbo Assembler (TASM)
La extensión usada para que el TASM reconozca los
programas fuente en ensamblador es .ASM
El enlazador genera, a partir de un archivo .OBJ o la
combinación de varios de estos archivos, un
programa ejecutable, cuya extensión es .EXE.
LA ESTRUCTURA DEL ENSAMBLADOR:
En el lenguaje
ensamblador las líneas de código constan de dos
partes
la primera es el
nombre de la instrucción que se va a
ejecutar
la segunda son
los parámetros de comando u operandos.
El nombre de las instrucciones en este lenguaje puede estar
formado de 2 a 6 letras
Algunas veces se utilizarán las instrucciones como
sigue:
ADD AL,[170]
En ensamblador los bucles, condicionales,
subrutinas y demás elementos se codifican de forma distinta de cómo se hace en otros lenguajes de alto
nivel.
BUCLES:
Inicialización de un registro (a modo de contador) al nº de vueltas del bucle.
Etiqueta:
Primera instrucción del bucle
<resto de instrucciones dentro del bucle>
decrementar el contador
saltar a la etiqueta si el contador >0
<instrucciones fuera del bucle>
SALTOS CONDICIONALES:
Instrucción de comparación
Evaluar condición y si se cumple saltar a la etiqueta prefijada
<instrucciones para el caso de no cumplirse la condición>
saltar fuera del condicional
MACROS:
Declaración:
<nombre de la macro> MACRO
<instrucciones de la macro>
Llamada:
<nombre de la macro>
SUBRUTINAS:
Declaración:
<nombre de la subrutina> PROC
<instrucciones de la subrutina>
RET
<nombre de la subrutina> ENDP
Llamada:
CALL <nombre de la subrutina>
INTERRUPCIONES:
Una interrupción es una instrucción que detiene la ejecución
de un programa para permitir el uso de la UCP a un proceso
prioritario.
Una vez concluido este último proceso se devuelve
el control a la aplicación anterior.
Las interrupciones ocurren muy seguido, sencillamente la
interrupción que actualiza la hora del día ocurre aproximadamente 18 veces por segundo.
A continuación describiremos los 3 tipos de interrupciones:
1) INTERRUPCIONES INTERNAS DE HARDWARE:
Las interrupciones internas son generadas por ciertos
eventos que surgen durante la ejecución de un programa. Este tipo de interrupciones son manejadas en su totalidad por
el hardware y no es posible modificarlas.
2) INTERRUPCIONES EXTERNAS DE HARDWARE
Las interrupciones externas las generan los dispositivos
periféricos, como pueden ser:
teclado, impresoras, tarjetas de
comunicaciones, etc.
También son generadas por los
coprocesadores.
3) INTERRUPCIONES DE SOFTWARE:
Las interrupciones de software pueden ser activadas
directamente por el ensamblador invocando al número de interrupción deseada con la instrucción INT.
El uso de las
interrupciones nos ayuda en la creación de programas, utilizándolas nuestros programas son más cortos, es más
fácil entenderlos y usualmente tienen un mejor desempeño