试题详情
简答题写出ACALL和LCALL两个调用指令的调用范围,试写出这两条指令执行时,CPU的操作过程。
  • ACALL的调用范围是包括调用指令下一条指令的第一个字节所在的2KB范围的程序存储器空间。
    ACALL调用指令的执行过程是:PC加2(本指令代码为两个字节获得下一条指令的地址,并把该断点地址(当前的PC值入栈,然后将断点地址的高五位与11位目标地址(指令代码第一字节的高3位,以及第二字节的八位连接构成16位的子程序入口地址,使程序转向子程序。调用子程序的入口地址和ACALL指令的下一条指令的地址,其高五位必须相同。因此子程序的入口地址和ACALL指令下一条指令的第一个字节必须在同一个2KB范围的程序存储器空间内。
    LCALL调用指令的目标地址以16位给出,允许子程序放在64KB空间的任何地方。
    指令的执行过程是把PC加上本指令代码数(三个字节获得下一条指令的地址,并把该断点地址入栈(断点地址保护,接着将被调子程序的入口地址(16位目标地址装入PC,然后从该入口地址开始执行子程序。
  • 关注下方微信公众号,在线模考后查看

热门试题