tutorial
TRABAJANDO CON EL LENGUAJE ENSAMBLADOR
Bytes y bits
La unidad mínima de información es el bit. Su estado, como vimos anteriormente, puede ser 1 o 0.
Un conjunto de ocho bits, forman un byte. De ellos, el de la derecha es el menos significativo ( su valor es menor ), y el de más a la izquierda el más significativo.
Otro término que utilizaremos a menudo, es palabra, o "word". Una"palabra", es un conjunto de dos bytes, y se utiliza por que a menudo se opera con ellas en lugar de bytes.
PROCESO DE CREACIÓN DE UN PROGRAMA
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.
En la etapa de diseño se plantea el problema a resolver y se propone lamejor solución, creando diagramas esquemáticos utilizados para el mejor planteamiento de la solución.
La codificación del programa consiste en escribir el programa en algún lenguaje de
programación; en este caso específico en ensamblador, tomando como base la solución propuesta en el paso anterior.
La traducción al lenguaje máquina es la creación del programa objeto, esto es, el programaescrito como una secuencia de ceros y unos que pueda ser interpretado por el procesador.
La prueba del programa consiste en verificar que el programa funcione sin errores, o sea, que haga lo que tiene que hacer.
La última etapa es la eliminación de las fallas detectadas en el programa durante la fase de prueba. La corrección de una falla normalmente requiere la repetición de los pasos comenzandodesde el primero o el segundo.
Para crear un programa en ensamblador existen dos opciones, la primera es utilizar el MASM (Macro Assembler, de Microsoft), y la segunda es utilizar el debugger, en esta primera sección utilizaremos este último ya 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 estascarácterísticas.
Debug solo puede crear archivos con extensión .COM, y por las carácterísticas de este tipo de programas no pueden ser mayores de 64 kb, además deben comenzar en el desplazamiento, offset, o dirección de memoria 0100H dentro del segmento específico.
Para empezar a trabajar con Debug digite en el prompt de la computadora:
C:\> Debug [Enter]
En la siguiente líneaaparecerá un guión, éste es el indicador del Debug, en este momento se pueden introducir las instrucciones del Debug. Utilizando el comando:
- r [Enter]
Se desplegaran todos los contenidos de los registros internos de la UCP; una forma alternativa de mostrarlos es usar el comando "r" utilizando como parámetro el nombre del registro cuyo valor se quiera visualizar. Por ejemplo:
- rbx
Estainstrucción desplegará únicamente el contenido del registro BX y cambia el indicador del Debug de " - " a " : "
Estando así el prompt es posible cambiar el valor del registro que se visualizó tecleando el nuevo valor y a continuación [Enter], o se puede dejar el valor anterior presionando [Enter] sin teclear ningún valor.
Es posible cambiar el valor del registro de banderas, así como utilizarlocomo estructura de control en nuestros programas como se verá mas adelante. Cada bit del registro tiene un nombre y significado especial, la lista dada a continuación describe el valor de cada bit, tanto apagado como prendido y su relación con las operaciones del procesador:
Overflow
NV = no hay desbordamiento;
OV = sí lo hay
Direction
UP = hacia adelante;
DN = haciaatrás;
Interrupts
DI = desactivadas;
EI = activadas
Sign
PL = positivo;
NG = negativo
Zero
NZ = no es cero;
ZR = sí lo es
Auxiliary Carry
NA = no hay acarreo auxiliar;
AC = hay acarreo auxiliar
Parity
PO = paridad non;
PE = paridad par;
Carry
NC = no hay acarreo;
CY = Sí lo hay
LA ESTRUCTURA DEL ENSAMBLADOR...
Regístrate para leer el documento completo.