call指令
计算机科学领域术语
call指令,是一个计算机科学领域术语,计算机转移到调用的
子程序
。
相关操作
CALL(LCALL)指令执行时,进行两步操作:
(1)将程序下一条指令的位置的IP压入
堆栈
中;
(2)转移到调用的
子程序
。
CALL近调用,LCALL远调用,
CALL 寻址2K空间范围
LCALL 寻址64K空间范围 先压CS,再压IP!
CALL与RET结合使用,当CALL调用的子程序运行到RET命令时,压入堆栈的IP弹出,跳出子程序,开始执行CALL的下一条语句。
引用示例
例:
main
: setb p1.0;
lcall delay;
clr p1.0;
lcall delay;
ajmp main;
delay: mov r7,#250;
d1: mov r6,#250;
d2:
djnz
r6,d2;
djnz
r7,d1;
ret ;
end;
当执行LCALL时,把该语句的IP(或者说PC)压入堆栈,开始进入
子程序
DELAY,当执行到RET时,堆栈中的IP出栈,LCALL的
继续执行
下一条语句。
一般来说,执行一条CALL指令相当于执行一条
PUSH指令
加一条
JMP
指令。
call指令是调用子程序,后面紧跟的应该是子程序名或者过程名。
参考资料
最新修订时间:2024-05-21 11:21
条目作者
小编
资深百科编辑
目录
概述
相关操作
引用示例
参考资料
Copyright©2024
闽ICP备2024072939号-1