El documento explica los pasos para crear un programa en lenguaje ensamblador, incluyendo diseñar el algoritmo, codificarlo en ensamblador, traducirlo a lenguaje máquina, probarlo y depurarlo. También describe las características clave del lenguaje ensamblador como etiquetas, instrucciones, operandos y comentarios. Se menciona que el debugger en MS-DOS se puede usar para crear y probar programas ensamblador básicos.
1. MAGDALENO
Despues de entender el comportamiento lógico y físico de un lenguaje en
ensamblador, tenemos los suficientes cimientos para elaborar nuestro primer
programa básico en este lenguaje.
Entonces recordemos que; el lenguaje ensamblador es el sistema alfanumérico
para
escribir
código
máquina
mediante
expresiones
abreviadas
(mnemotécnicos).La compilación es más complicada porque incluye la conversión
de operaciones matemáticas complejas, comandos de lenguaje natural o tipos de
comandos complejos.
Cada ordenador tiene su propio lenguaje ensamblador,
exclusivo de su CPU.
Para la creación de un programa es necesario seguir cinco pasos: Diseño del
algoritmo, codificación del mismo, su traducción a lenguaje máquina, la prueba del
programa y la depuración. Siguiendo una estructura similar a la siguiente:
2. Sandy
El proceso anterior es aún más detallada de la siguiente manera:
En la etapa de diseñose plantea el problema a resolver y se propone la mejor
solución, creando diagramas esquemáticos utilizados para el mejor planteamiento
de la solución. La codificacióndel programa consiste en escribir el programa en
algún lenguaje de programación (en el caso de esta exposición lo haremos en
ensamblador 8086), tomando como base la solución propuesta en el paso anterior.
La traducciónal lenguaje máquina es la creación del programa objeto, esto es, el
programa escrito como una secuencia de ceros y unos que pueda ser interpretado
por el procesador. La pruebadel programa consiste en verificar que el programa
funcione sin errores, es decir, que haga lo que tiene que hacer. La última etapa es
la eliminación de las fallas detectadasen el programa durante la fase de prueba.
La corrección de una falla normalmente requiere la repetición de los pasos
comenzando desde el primero o el segundo.
Las líneas de código fuente de lenguaje ensamblador tienen el siguiente formato:
<etiqueta><instrucción/directiva><operandos><;comentario>
donde<etiqueta> es un nombre simbólico opcional; <instrucción/directiva> es
un mnemónico para una instrucción o una directiva; <operandos> contiene una
combinación de cero, uno o dos (y algunas pocas veces más) constantes,
referencias de memoria, referenciasde registro y cadenas de texto, según lo
requiera la instrucción particular o la directiva; <;comentarios> es un comentario
opcional.
3. J. RULO
Ahora bien, así como en los lenguajes de alto nivel tenemos características
propias yo hablaré de las características que conforman un lenguaje ensamblador
antes mencionadas.
Las etiquetasson nombres usados para referenciar a números y cadenas de
caracteres o localizaciones de memoria dentro de un programa; permiten al
programador asignarle un nombre a una variable de memoria, a valores y a las
localizaciones de bloques de instrucciones particulares.
Las etiquetas pueden consistir de los siguientes caracteres:
Letras del alfabeto (A - Z, a - z)
Dígitos (0 - 9)
Carácter de subrayado (_)
Signo de pesos ($)
Signo de interrogación (?)
El campo
clave
en
una
línea de
código
ensamblador es el
campo
<instrucción/directiva>. Este campo puede contener un nemónico de instrucción
o una directiva. Los nemónicos de instrucciones son los nombres legibles para las
instrucciones de lenguaje máquina que el 8086 ejecuta directamente. ADD, MOV y
JMP son nemónicos de instrucciones, correspondientes directamente a las
instrucciones de adición, movimiento y salto incondicional del 8086.
Aunque los nemónicos de instrucciones y las directivas le dicen al ensamblador
qué hacer. Los operandos, por otra parte, le dicen al ensamblador qué registros,
parámetros, localizaciones de memoria, etcétera, están asociados a cada
instancia de una instrucción o directiva. Una instrucción MOV no significa nada por
sí misma; son necesarios los operandos para decirle al ensamblador de dónde
tomará el valor a mover y dónde lo almacenará. Estos mismos son clasificados en:
Operandos registros (Usados más frecuentemente pues llevan la dirección de la operación)
Operandos constantes (Que almacenan valores constantes en notaciónbinaria,octal,
hexadecimal o decimal)
Expresiones (Son aquellas que evalúan un valor constante)
4. Operandos de etiquetas (Son etiquetas utilizadas como operandos para generar valores
constantes)
Por último, pero no soslayable, tenemos al campo de <;comentarios>. Los
comentarios nohacen nada, en el sentido de que no afectan el código del archivo
ejecutable generado por el ensamblador, pero son igualmente importantes debido
a que el lenguaje como tal no posee estructuras de control interconstruidas que
hagan los programas virtualmente autodocumentables por lo cual, ayudan a
explicar el programa para hacerlo mas entendible.
5. MANU
Para crear un programa en ensamblador utilizaremos el debugger, que se
encuentra en cualquier PC con el sistema operativo MS-DOS, lo cual lo pone al
alcance de cualquier usuario que tenga acceso a una máquina con estas
características. Y su función principal es observar el comportamiento de los
registros del CPU 80386. Recuérdese que los registros de esta arquitectura son
un subconjunto elemental de aquellos presentes en modelos más modernos de la
familia '86. Usando DEBUG es posible observar el comportamiento de las
instrucciones, la forma cómo éstas afectan a las banderas, los contenidos de la
memoria, el código de las instrucciones; además permite ensamblar código
elemental usando los mnemotécnicos del 8086. Todos los comandos de DEBUG
se invocan usando una sola letra y son los siguientes:
A (assemble)
C (compare)
D (dump)
E (enter)
F (fill)
G (go)
H (aritmética hexadecimal)
I (input)
L (load)
M (move)
N (name)
(output)
Q (quit)
R (register)
S (search)
T (trace)
U (unassemble)
W (write)
Debug solo puede crear archivos con extensión .EXE, y por las características de
este tipo de programas no pueden ser mayores de 64 kb, además deben
6. comenzar en el desplazamiento, offset, o dirección de memoria 0100Hh dentro del
segmento específico.