Вы находитесь на странице: 1из 4

PROCEDIMIENTOS MÁS USADOS EN ASSEMBLER

DE LA BIBLIOTECA DE 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

Вам также может понравиться