201612《单片机原理与接口技术》 下载本文

简述调用指令(LCALL、ACALL等)的执行过程与中断响应过程有何异同。 本题参考答案:

相同:都会修改PC,修改PC前都会自动保存PC进堆栈;

不同:调用子程序指令在程序中是事先安排好的,而调用中断服务程序事先却无法确知,因为“中断”的发生是由外设决定的,程序中无法事先安排调用指令,因而调用中断服务程序的过程是由硬件自动完成的。

简述无条件转移指令(如SJMP、LJMP等)与调用指令(如LCALL、ACALL等)在执行时有何异同。 本题参考答案:

相同处:都会修改pc;

不同处:调用指令在修改PC前会保存当前PC进堆栈,供子程序返回时使用,而转移指令不会保存PC,转移之后也不会有返回的时候。