什么叫中断类型号?作用?
中断类型号是系统分配给每个中断源的代码。
为8位,与系统中断源一一对应。
中断类型号负责指导处理器找到中断服务程序的入口点。
通过中断类型号查中断向量表可以得到中断向量(中断服务程序的输入地址),其中:物理地址为4*n的单元为中断服务程序的偏移地址中断服务程序入口点;物理地址。
单元4*n+2是中断服务程序段的首地址。
详细信息
一般来说,外部中断主要有以下几种类型:
(1)DevicesdI/O:如显示器、键盘、打印机等。
;
(2)数据通道:软盘、硬盘、光盘等。
;
(3)实时时钟:如外部计时电路等。
;
(4)用户故障源:如电源故障、奇偶校验错误等。
CPU内部产生中断的来源有以下几种:
(1)由CPU运算结果产生:如除0、结果溢出、单步执行等。
;
(2)执行中断指令INT:INT3;
(3)非法操作或指令导致异常处理。
参考来源:百度百科--中断类型代码
参考来源:百度百科--中断向量表
在PC机中,CPU响应中断后是如何找到中断服务子程序入口地址的?
CPU在响应中断之前会守护主程序当前指令以下的指令地址。即将当前的IP和CS入栈。
CPU响应中断后,从堆栈中取出指令地址即可找到中断服务子程序的入口地址。
CPU通过执行以下操作来响应中断:①将中断类型代码放入临时寄存器中,将该标志存储为0,以防止中断响应该中断。
同时,其他中断到来,TF被清0,防止CPU单步执行中断处理子程序。
此时特别提醒,由于CPU在响应中断时会自动关闭IF标志,所以用户如果想进行下一次中断,必须在自己的中断处理子程序中使用interrupt-on指令来重置IF④Protect断点,断点是指响应中断时主程序当前指令以下的指令地址。
因此,保护断点的动作就是将当前的IP和CS压入堆栈。
保护断点的目的是为了以后返回主程序。
⑤根据中断向量表中获得的中断类型对应的中断向量,加载到IP和CS中,然后自动转入中断服务子程序。
单片机C语言中,中断子程序后面为什么要加interrupt这个单词?
voidfunctionName()interrupt1//using2类型设置为void,即没有返回值Function函数名interruptName只需为合法标识符且不能与现有函数重名,不带参数为关键字,表示当前是不需要被主函数直接或间接调用的函数如果不是被主函数直接或间接调用,也不是被中断函数直接或间接调用,则不会被链接到程序最终代码中断后的数字表示串行中断号单片机中,有01234、52等几个中断。中断系列可能达到7、8个。
中断号与中断事件绑定,不能任意设置。
对应的中断向量会指向该Function的入口地址。
useN选项指示中断中使用的寄存器组。