全站数据
8 4 2 0 5 8 1

acall指令是什么

会计审计家园 | 简单学习,快乐成才!         
问题更新日期:2024-11-04 09:00:16

问题描述

acall指令是什么希望能解答下
精选答案
最佳答案

ACALL是短调用指令。短表现在所调用的子程序地址必须与ACALL指令下一条指令的第一个字节在同一个2KB区内(即16位地址中的高5位地址相同),否则将引起程序转移混乱

本指令为双字节、双周期指令。执行完本指令,程序计数器内容先加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范围内的程序储存器中