Un procedimiento es un conjunto de instrucciones a los que podemos dirigir el flujo de nuestro programa, y una vez terminada la ejecución de dichas instrucciones se devuelve el control a la siguiente linea a procesar del código que mando llamar al procedimiento.
Los procedimientos nos ayudan a crear programas legibles y fáciles de modificar.
Al momento de invocar a un procedimiento se guarda en la pila la dirección de la siguiente instrucción del programa para que, una vez transferido el flujo del programa y terminado el procedimiento, se pueda regresar a la linea siguiente del programa original (el que llaman al procedimiento).
Ejemplo:
TITLE TÍTULO DEL PROGRAMA
;FILENAME :
;PURPOSE :
;AUTHOR :
;DATE & TIME :
DATA SEGMENT
MSG DB 'MESSAGEDATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
-->PROCEDIMIENTO PROC NEAR
Los procedimientos nos ayudan a crear programas legibles y fáciles de modificar.
Al momento de invocar a un procedimiento se guarda en la pila la dirección de la siguiente instrucción del programa para que, una vez transferido el flujo del programa y terminado el procedimiento, se pueda regresar a la linea siguiente del programa original (el que llaman al procedimiento).
Ejemplo:
TITLE TÍTULO DEL PROGRAMA
;FILENAME :
;PURPOSE :
;AUTHOR :
;DATE & TIME :
DATA SEGMENT
MSG DB 'MESSAGEDATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
-->PROCEDIMIENTO PROC NEAR
............
CODIGO1
............
; RETORNAR
RET
PROCEDIMIENTO ENDP <--
MAIN PROC FAR
PROLOGO:
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
; LLAMAR PROCEDIMIENTO
-->CALL PROCEDIMIENTO <--
FIN:
MOV AH, 4CH
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
CODIGO1
............
; RETORNAR
RET
PROCEDIMIENTO ENDP <--
MAIN PROC FAR
PROLOGO:
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
; LLAMAR PROCEDIMIENTO
-->CALL PROCEDIMIENTO <--
FIN:
MOV AH, 4CH
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
Publicar un comentario