3 Procedimientos Mas Usados e en El Lenguaje de Máquina de La Biblioteca Irvine32
3 Procedimientos Mas Usados e en El Lenguaje de Máquina de La Biblioteca Irvine32
3 Procedimientos Mas Usados e en El Lenguaje de Máquina de La Biblioteca Irvine32
inc
WRITESTRING
DUMPREGS
WRITEDEC
READDEC
WRITEBIN
*-------------------------------------------------------------------------------------------------------------------------------------
------------------
Vamos a comenzar aprendiendo estos procedimientos que nos van a dar un empuje en la programación inicial y
de esta manera ver y hacer ejercicios que hagan algo y nos entusiasmesmos.
WRITESTRING
Este procedimiento muestra un mensaje en la consola previa definición de el mensaje en la sección de datos,
debe de ser declarado como de tipo BYTE y terminar con un cero.
PAra usar primero debemos de saber como se hace un programa en ASSEMBLER:. Veamos la estructura
general de un programa
TITLE MIPRIMER
INCLUDE IRVINE32.INC
.DATA
.CODE
PRIMER PROC
CALL WRITESTRING
EXIT
PRIMER ENDP
END PRIMER
TODO programa en assembler está formado por la siguiente plantilla
INCLUDE IRVINE32.INC
.DATA
.CODE
; Instrucciones
EXIT
Veamos despacio TITLE debe de ser la primera línea y le pone un nombre al programa
LA instrucción INCLUDE nos permite usar una biblioteca de procedimientos desarrollada por otra persona o
empresa
La sección .DATA debe de ir aún aunque no declaremos nada en ella, sirve para hacer las declaraciones de
etiquetas de datos ( variables ) u otro tipo de dato.
Luego viene la sección de .CODE que es en donde escribimos las instrucciones y por ende la lógica de nuestro
programa. Esa sección debe de tener al menos una sentancia PROC, que define al procedimiento principal y
debe de acompañarse con una sentencia ENDP de fin de procedimiento.
TAmbién antes de EBDP debemos poner EXIT que le dice al compilador que debe de regresar al sistema
operativo que lo llamó.
Al final el programa termina con END que le dice que es el fin del código fuente del programa y que todo lo
que esté después de esta sentencia ya no lo considere el compilador.
VOLVIENDO A NUESTRO programa, vemos que para usar un procedimiento usamos la instrucción CALL
que como bien su nombre lo indica llama al procedimiento, es decir cualquier procedimiento se debe de llamar
con CALL.
Si ponemos mas atención vemos que el procedimiento WRITESTRING funciona con un parámetro que es
OFFSET, as+i
CALL WRITESTRING
El registro de propósito general EDX recibe la dirección en memoria en donde se encuentra la etiqueta de
datos que contiene el mensaje a desplegar. Esta dirección la obtiene usando el operador OFFSET que la pone en
el registro EDX.
Ahora usted ya puede hacer un programa que muestre mensajes en la consola usando este procedimiento.
PROCEDIMIENTO DUMPREGS
Este procedimiento muestra lel contenido de todos los registros de la CPU y algunas banderas de estado de la
máquina.
Es muy útil para ver el contenido de los registros a medida que una operación se va ejecutando y de esta forma
monItorear su cambio con el paso de las instrucciones. Suso es bien sencillo solo CALL DUMPREGS.
Ejemplo:
INCLUDE IRVINE32.INC
.DATA
.CODE
MOSTRAR PROC
MOV EDX,OFFSET M1
CALL WRITESTRING
CALL CRLF
CALL DUMPREGS
EXIT
MOSTRAR ENDP
END MOSTRAR
Estos procedimientos leen y escriben un caracter desde la conola y lo guardan o sacan del registro de ocho bits
AL.
TITLE CARACTERES
INCLUDE IRVINE32.INC
.DATA
.CODE
LEECAR PROC
MOV EDX,OFFSET M2
CALL WRITESTRING
CALL CRLF
CALL READCHAR
CALL WRITECHAR
EXIT
LEECAR ENDP