单片机中中断程序是存放在哪里的

单片机中中断程序是存放在哪里的,第1张

单片机每一个中断源对应一个入口地址有(一般从弊纳携0003h开始),当有中断时程序计数器PC指向中断源入口租伏开始,到中断结束并返回期间,执行中断程序。由于两个相邻的中断源入口地址很近,通常为8字节,不茄辩能放下完整的中断程序。因此,往往将中断程序放到其它的程序地址空间,而在相应的中断入口放置一个无条件转移指令。因此中断服务程序放在程序存储ROM里。

不清楚你指的兄简是什么CPU的汇编?不同的CP∪响应向量中断的方法不完全一样。8086/8088系列CP∪,就是以中断向量表的方式进入中断程序。中断向量表位于RAM区的低地址区,其中存放中断服务程序的地址,每个中断号对应中断向量表中的4个字节,其高地址的16位漏裤是中断服务程序的段地址,低地址中16位是中断服务程序的偏移量地址。

而51系列单片机的中断服务程序入口地址,则是固定对应不同的返尘简预留地址空间。而预留空间很小,通常不足以放下一段中断服务程序,因此多是在入口地址安排一条转移指令,转到真正的中断处理程序。

早期的Z80是一种8位CPU,则在CPU内部设有一个8位的中断向量寄存器,当产生中断时,是由申请中断的设备提供低8位中断地址,与中断向量寄存器中的高8位拼组成中断服务程序入口地址。因低8垃地址寻址范围只有128子节,对比较长的中断服务的程序,也会设计一条跳转指令转到真正的处理程序。

将中断程序和复位程序指令放到指定位置可以带弯宽在中断中设置一个全局变量。这个全局变量,在程序的关键部位检测这个变量蠢亮是否改变,改变了执闹碧行goto+标签。的跳转指令,可以让程序到指定位置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12234616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存