51单片机中断执行过程, 如外部中断。
当 CPU 检测到 有 中断触发 信号后,
首先 执行完成 当前执行的指令,将下一条指令 的 地址 压入堆栈,
CPU 进入中断 入口 地址,开始 执行 中断服务程序,
(当然在中断服务程序中不能破坏正常运行 程序的各种 寄存器的 状态 和 数据,)
中断服务 程序执行 完成, 最后 执行 一条 RETI 的中断返回指令,
堆栈 d出 原先保存的 地址,完成中断服务程序,返回中断前的 下一条指令地址
继续执行 正常程序。
优先权次序为:内部中断、MNI、INTR、优先权最低的是单步执行。
8086的中断主要分为两大类,外部中断和内部中断。
8086有两个外部中断引脚:INTR和NMI,分别接收外部可屏蔽中断和不可屏蔽中断。
内部中断是由于内部指令调用,或者指令运行过程中出现错误或其它不正常情况而产生的中断。有溢出中断、除法出错中断、断点中断、单步中断、INTn中断等。
扩展资料:
在8086/8088内存的开始bai1K字节建立了一个中断向量表,每个中断向量由4个字节组成,低两位是IP值,高两位是CS值,这个CS:IP地址表示当相应中断发生时,中断处理程序的入口地址。
例如:除0中断是0号中断,即中断向量的地址是0000:0000——0000:0003,假设中断向量是:53 4E 08 26,则每当程序中有除以0的 *** 作时,立即产生中断,程序从0号中断向量中取出地址:0826:534E,并立即转到这个地址去执行相应的中断处理程序。
参考资料来源:百度百科-优先级
关闭中断标识,重要数据入栈, 处理中断服务功能, 数据出栈, 恢复中断标识, 开中断。
初始化中断类型码n对应的中断向量表,指向对应的中断服务程序;中断前要开中断,中断标志I置1。当执行完中断服务程序,当执行到中断子程序最后一条指令IRET时,自动地,先后d出IP、CS、PSW。自动开中断了,并返回到断点处继续往下执行。
可以。
中断是CPU对系统发生的某个事件作出的一种反应。引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
当硬件部分比如一个电平的突变引起了中断,系统会判断这个中断的优先级别,如果他的级别高于现在执行程序的级别就马上响应这个中断,反之则先执行完当前的任务再执行中断。
中断响应顺序执行动作:
1中止当前程序的执行;
2保存原程序的断点信息(主要是程序计数器PC和程序状态寄存器PS的内容);
3从中断控制器取出中断向量,转到相应的处理程序。
以上就是关于51单片机中断执行过程坐等!!!全部的内容,包括:51单片机中断执行过程坐等!!!、8086/8088微机中各类中断的优先级如何划分、中断处理程序在恢复现场时,断点及FLAGS出栈的顺序是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)