请输入您要查询的百科知识:

 

词条 call指令
释义

CALL(LCALL)指令执行时,进行两步操作:

(1)将程序当前执行的位置IP压入堆栈中;

(2)转移到调用的子程序。

(CALL近调用,LCALL远调用,

CALL 寻址2K空间范围

LCALL 寻址64K空间范围)

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指令。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/17 0:37:57