词条 | ACALL指令 |
释义 | 语法ACALL addr11 机器码格式a10 a9 a8 1 0001 addr7~0 功能ACALL是短调用指令。 短 表现在所调用的子程序地址必须与ACALL指令下一条指令的第一个字节在同一个2KB区内(即16位地址中的高5位地址相同),否则将引起程序转移混乱。 如果ACALL指令正好落在区低的2个单元内,程序就转移到下一个区中去。因为在执行调用操作之前pc先加了2. 执行过程分解本指令为双字节、双周期指令。执行完本指令,程序计数器内容先加2,指向下一条指令的地址;然后将PC值压入堆栈保存,栈指针(SP)加2;接着将11位目标地址(addr10~0)送程序计数器的低11位(PC10~0),PC值的高5位(PC15~11)不变,即由指令第一字节的低3位(a10 a9 a8)、第二字节(addr7~0)共11位和当前PC值的高5位(PC15~11)组成16位转移目标地址。因此了,所调用的子程序首地址必须在ACALL指令后第一字节开始的2KB范围内德程序储存器中。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。