sábado, 6 de julio de 2013

Uso de un procedimiento

En esta ocación les pongo el ejemplo de como usar un procedimiento dentro un programa en ensamblador, como se declara y como se llama.

Los procedimientos son algo similar a los métodos en un lenguaje de alto nivel, son llamados para ejecutarse y al terminar continuará la linea siguiente después de haber llamado el procedimiento, los procedimientos son usados para realizar tareas en específico como lo puede ser imprimir cierto mensaje en pantalla o hacer alguna operacion aritmética.

Un procedimiento se declara de la siguiente manera:

nombreProc PROC [near/far]
    Instrucciones a ejecutar
[ret]
nombre ENDP

Las directivas PROC y ENDP indican el inicio y el fin del procedimiento, nombreProc indica el nombre del procedimiento, debe ser único y no debe tener el nombre de una directiva o palabra reservada.

Near/far depende si la operación implica un procedimiento cercano o lejano.

La instrucción ret regresa al segmento donde fue invocado el procedimiento.

La llamada a un procedimiento se hace mediante call nombreProc.

Ejemplo de un procedimiento que imprime un mensaje:

.model small
.stack 64
.data
  msj db 0ah,0dh, 'Mi primer procedimiento','$'
  msj2 db 0ah,0dh, 'miensamblador.blogspot','$'
.code
inicio:

call imprime  ;Llamada al procedimiento imprime
call imprime2

Salir:   ;Etiqueta para salir del programa
mov ah,04ch
int 21h

imprime proc near     ;Declaración de el procedimiento imprime, imprime un mensaje
 mov ax,@data
  mov ds,ax
  mov ah,09h
  mov dx,offset msj
  int 21h
  ret        ;regresamos el procedimiento de donde lo llamaron.
imprime endp

imprime2 proc near
  mov ax,@data
  mov ds,ax
  mov ah,09h
  mov dx,offset msj2
  int 21h
ret
imprime2 endp

end
 
 
Programa en ejecución:
 
 

1 comentario: