8051单片机指令定义详解——ACALL addr11(1)
符号说明
符
←
()
(())
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单片机指令定义详 相关文章:
- 8051单片机指令定义详解——ADD A,(2)(11-22)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)