You are on page 1of 4

Procedimientos mas usados e en el lenguaje de máquina de la biblioteca Irvine32.

inc

Explicar la sintaxis y uso de los procedimientos:

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

MENSAJE BYTE "MI PRIMER PROGRAMA",0

.CODE

PRIMER PROC

MOV EDX,OFFSET MENSAJE

CALL WRITESTRING

EXIT

PRIMER ENDP

END PRIMER
TODO programa en assembler está formado por la siguiente plantilla

TITLE NOMBRE DEL PROGRAMA

INCLUDE IRVINE32.INC

.DATA

.CODE

NOMBRE DE UN PROCEDIMIENTO PROC

; Instrucciones

EXIT

NOMBRE DE UN PROCEDIMIENTO ENDP

END D NOMBRE DE UN PROCEDIMIENTO

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

MOV EDX,OFFSET MENSAJE

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:

TITLE MOSTRAR REGISTROS

INCLUDE IRVINE32.INC

.DATA

M1 BYTE "EL CONTENIDO DE LOS REGISTROS ES: ",0

.CODE

MOSTRAR PROC

MOV EDX,OFFSET M1

CALL WRITESTRING

CALL CRLF

CALL DUMPREGS

EXIT

MOSTRAR ENDP

END MOSTRAR

PROCEDIMIENTO READCHAR Y WRITECHAR

Estos procedimientos leen y escriben un caracter desde la conola y lo guardan o sacan del registro de ocho bits
AL.

READCHAR recibe desde la conola un caracter y lo guarda en AL.

WRITECHAR muestra el contenido del registro AL en la consola.


Ejemplo

TITLE CARACTERES

INCLUDE IRVINE32.INC

.DATA

M2 BYTE "EJEMPLO DE LECTURA Y ESCRITURA DE CARACTERES",0

.CODE

LEECAR PROC

MOV EDX,OFFSET M2

CALL WRITESTRING

CALL CRLF

CALL READCHAR

CALL WRITECHAR

EXIT

LEECAR ENDP

You might also like