一次完整的中断处理
外中断 · 硬件中断隐指令 + 软件服务程序
IF 中断允许触发器
1 · 开中断
PSW 状态位
0 · 用户态
PC 程序计数器
2000
I/O 设备(打印机)接口寄存器
状态工作中…
数据缓冲寄存器'A'
中断类型号05
INTR 请求线—
用户程序用户态执行
2000add R3, R4 ; 执行中
2004mul R1, R2 ; 下一条
2008sub R5, R6
CPU 中断响应硬件电路固化 · 非指令
采样指令周期末检查 INTR
隐①关中断(IF←0)
隐②PC、PSW 压栈,切核心态
隐③查向量表,入口→PC
恢复弹出 PSW、PC(iret 触发)
屏蔽字 = 1110 0000
中断向量表机制硬件 · 内容 OS 填
03 时钟5000
05 打印机8000 ◀
07 磁盘6400
中断服务程序OS 编写 · 核心态
8000push R1, R2 ; 保护现场
8008设置屏蔽字
800C开中断 ; 允许嵌套
8010特权读缓冲→内存 ; 设备服务
8014关中断
8018pop R2, R1 ; 恢复现场
801C开中断
8020特权iret ; 中断返回
用户程序
硬件自动(隐指令)
服务程序(软件·核心态)
设备
控制 / 地址传递
数据传输