不清楚你指的是什么CPU的汇编?不同的CP∪响应向量中断的方法不完全一样。8086/8088系列CP∪,就是以中断向量表的方式进入中断程序。中断向量表位于RAM区的低地址区,其中存放中断服务程序的地址,每个中断号对应中断向量表中的4个字节,其高地址的16位是中断服务程序的段地址,低地址中16位是中断服务程序的偏移量地址。
而51系列单片机的中断服务程序入口地址,则是固定对应不同的预留地址空间。而预留空间很小,通常不足以放下一段中断服务程序,因此多是在入口地址安排一条转移指令,转到真正的中断处理程序。
早期的Z80是一种8位CPU,则在CPU内部设有一个8位的中断向量寄存器,当产生中断时,是由申请中断的设备提供低8位中断地址,与中断向量寄存器中的高8位拼组成中断服务程序入口地址。因低8垃地址寻址范围只有128子节,对比较长的中断服务的程序,也会设计一条跳转指令转到真正的处理程序。
就是计数器溢出
出现中断标志才产生中断 当然前提是你必须打开中断控制位和总中断
有的好一点的单片机进入中断会自动执行关闭总中断 和清除标志
中断返回自动打开总中断
以上就是关于为什么汇编程序中断过程中需要把中断程序放到一个特定的位置,例如中断0放到0000:0002处全部的内容,包括:为什么汇编程序中断过程中需要把中断程序放到一个特定的位置,例如中断0放到0000:0002处、汇编语言中的中断程序是如何执行的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)