複製鏈接
請複製以下鏈接發送給好友

call指令

鎖定
call指令,是一個計算機科學領域術語,計算機轉移到調用的子程序
中文名
call指令
操    作
轉移到調用的子程序
調    用
LCALL遠調用,
學    科
計算機

call指令相關操作

CALL(LCALL)指令執行時,進行兩步操作:
(1)將程序下一條指令的位置的IP壓入堆棧中;
(2)轉移到調用的子程序
CALL近調用,LCALL遠調用,
CALL 尋址2K空間範圍
LCALL 尋址64K空間範圍 先壓CS,再壓IP!
CALL與RET結合使用,當CALL調用的子程序運行到RET命令時,壓入堆棧的IP彈出,跳出子程序,開始執行CALL的下一條語句。

call指令引用示例

例:
main: setb p1.0;
lcall delay;
clr p1.0;
lcall delay;
ajmp main;
delay: mov r7,#250;
d1: mov r6,#250;
d2:djnzr6,d2;
djnzr7,d1;
ret ;
end;
當執行LCALL時,把該語句的IP(或者説PC)壓入堆棧,開始進入子程序DELAY,當執行到RET時,堆棧中的IP出棧,LCALL的繼續執行下一條語句。
一般來説,執行一條CALL指令相當於執行一條PUSH指令加一條JMP指令。
call指令是調用子程序,後面緊跟的應該是子程序名或者過程名。