简答题

编制中断服务程序时,为什么在主程序的初始化程序中,必须设置 SETB  EA 这条指令,以及在中断服务程序中为什么通常需要保护现场和恢复现场?

正确答案

中断允许寄存器IE中有1个总的开关中断控制位EA,当EA=0时,所有的中断请求被屏蔽,CPU不接受任何中断;只有当EA=1时,CPU才开放中断。所以主程序的初始化程序中,必须设置 SETB  EA 这条指令。
现场是指中断时刻单片机中某些寄存器和储存器单元中的数据或状态,为了使中断服务程序的执行不破坏这些数据和状态,以免在中断返回后影响主程序的运行,因此要这些数据和状态送入堆栈保存,这就是现场保护。中断结束后,在返回主程序谦,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容,这就是现场恢复。

答案解析

相似试题
  • 当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?

    简答题查看答案

  • 计算机在已响应中断并执行中断服务子程序期间,能不能响应新的中断请求?为什么?

    简答题查看答案

  • TMS320C54x在执行中断服务程序(ISR)时,在进入中断服务程序后,CPU将首先把程序计数器(PC)的值,也即返回地址,压入堆栈,然后把中断矢量的地址装入PC。

    判断题查看答案

  • 用户在编写中断服务程序时,可在中断入口矢量地址存放一条无条件转移指令,以防止()。

    填空题查看答案

  • 编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用PUSH指令,恢复现场用()指令。

    填空题查看答案

  • 编写出外部中断1为跳沿触发的中断初始化程序。

    简答题查看答案

  • 中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

    简答题查看答案

  • 各中断源对应的中断服务程序的入口地址是否能任意设定?如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。

    简答题查看答案

  • 在设计中断服务程序的时候,进入中断服务之前一般要(),退出中断服务之前要()。

    填空题查看答案