① 匯編語言子程序是如何定義的
這樣定義的:
子程序名 PROC NEAR|FAR
.
.
RET
子程序名 ENDP
子程序名相當於標號,表示本過程的符號地址。過程有NEAR和FAR兩種類型,FAR型的過程可供段間調用,NEAR型過程僅供段內調用。
在一個過程中,至少要有一條返回指令RET,它可以書寫在過程中的任何位置,但是過程執行的的最後一條指令一定是RET。
注意事項
一、子程序調用指令
格式:CALL [NEAR PTR] 子程序名
CALL指令的兩個作用,1.將斷點地址(CALL指令的下一條指令地址)壓棧保存,2.轉去子程序執行。
[NEAR PTR]可以省略。
二、返回指令
格式:RET [N]
指令作用:實現子程序執行完後返回主程序的指令。從堆棧棧頂彈出一個字數據(段內調用)送入IP作為返回地址。N是立即數,執行完RET之後,再將SP增加N,也叫「平棧」。