符号说明
符
←
()
(())
rrr
dddddddd
aaaaaaaa
bbbbbbbb
i
eeeeeeee
ACALL
功能:绝对调用。
说明:ACALL指令实现无条件调用位于addr11参数所表示地址的子例程。在执行该指令时,首先将PC的值增加2,即使得PC指向ACALL的下一条指令,然后把16位PC的低8位和高8位依次压入栈,同时把栈指针两次加1.然后,把当前PC值的高5位、ACALL指令第一字节的7~5位和第2字节组合起来,得到一个16位目的地址,该地址即为即将调用的子例程的入口地址。要求该子例程的起始地址必须与紧随ACALL之后的指令处于同1个2KB的程序存储页中。ACALL指令在执行时不会改变各个标志位。
示例:SP的初始值为07H,标号SUBRTN位于程序存储器的0345H地址处,如果执行位于地址0123H处的指令:
ACALL
那么SP变为09H,内部RAM地址08H和09H单元的内容分别为25H和01H,PC值变为0345H。
指令长度(字节数): 2
注意:aaa是11位目标地址addr11的A10~A8位,aaaaaaaa是addr11的A7~A0位。
指令的操作:
(PC)←(PC)+2
(SP)←(SP)+1
((SP))←(PC7—PC0)
(SP)←(SP)+1
((SP))←(PC15—PC8)
(PC10—PC0)←页面地址
关键字:8051 单片机指令 定义详解『本文转载自网络,版权归原作者所有,如有侵权请联系删除』