G中断的优先级与中断嵌套 1#中断 2#中断 3#中断 原主程序服务程序服务程序服务程序 响应 响应/ 响应 1#中断请求中断请求3#中断请求 返回 返回 返回 中断优先级3#>2#>1#
中断的优先级与中断嵌套 1#中断请求 响应 返回 1#中断 服务程序 2#中断请求 响应 返回 2#中断 服务程序 3#中断请求 响应 返回 3#中断 原主程序 服务程序 中断优先级3#>2#>1#
G中断向量 中断类型号通过一个地址指针表与中断服务程序的入口地址相 联,在实模式下,该表称为中断向量表。 中断向量表包含256个中断向量。每个中断向量包含两个字(4 个字节),高地址字为中断服务程序所在代码段的段基址,低 地址字为代码段中中断服务程序第一条指令的偏移量。 实模式下,中断向量表存放在内存最低端的1K单元之中,物理 地址00000H~003FFH P.222
中断向量 中断类型号通过一个地址指针表与中断服务程序的入口地址相 联,在实模式下,该表称为中断向量表。 中断向量表包含256个中断向量。每个中断向量包含两个字(4 个字节),高地址字为中断服务程序所在代码段的段基址,低 地址字为代码段中中断服务程序第一条指令的偏移量。 实模式下,中断向量表存放在内存最低端的1K单元之中,物理 地址00000H~003FFH P. 222
⑦中断指令 开中断指令 将标志寄存器中的中断标志位IF置1,允许CPU响应来自 INTR引脚的中断请求 CLI关中断指令 将标志寄存器中的中断标志位I清0,使CPU不响应来自 NTR引脚的中断请求
中断指令 STI——开中断指令 将标志寄存器中的中断标志位IF置1,允许CPU响应来自 INTR引脚的中断请求 CLI——关中断指令 将标志寄存器中的中断标志位IF清0,使CPU不响应来自 INTR引脚的中断请求
⑦中断指令 INTn软件中断指令 n为中断号。调用n号中断服务程序 ①将标志寄存器压栈 ②将TF置0,禁止单步操作,将IF置0,使CPU处于关中断状态 ③断点的CS、I压栈 ④从中断向量表取n号中断向量IP、CS ⑤转向n号中断服务程序
中断指令 INT n——软件中断指令 n为中断号。调用n号中断服务程序 ①将标志寄存器压栈 ②将TF置0,禁止单步操作,将IF置0,使CPU处于关中断状态 ③断点的CS、IP压栈 ④从中断向量表取n号中断向量 IP、CS ⑤转向n号中断服务程序
⑦中断指令 IRET中断返回指令 中断服务程序的出口指令,从栈顶弹出6个字节依次写入P、CS 和标志寄存器 在执行RET之前必须保证栈顶是断点地址,否则执行RET指令 将导致系统瘫痪
中断指令 IRET——中断返回指令 中断服务程序的出口指令,从栈顶弹出6个字节依次写入IP、CS 和标志寄存器 在执行IRET之前必须保证栈顶是断点地址,否则执行IRET指令 将导致系统瘫痪