汇编_内中断_外中断_中断处理

本文深入探讨了CPU的中断处理过程,包括内中断和外中断的处理步骤,强调了中断类型码的来源、标志寄存器的保存以及IF和TF标志的管理。还介绍了中断处理中的关键操作,如IP和CS的修改,以及中断返回的实现。内容涉及计算机系统底层机制,对于理解CPU中断响应和控制流程具有重要意义。
摘要由CSDN通过智能技术生成

内中断:

1.取中断类型码n
2.标志寄存器入栈,IF=0,TF=0
3.CS,IP入栈
4.IP=n*4,CS=n*4+2
注意:

1.中断类型码是CPU内部产生。
2.IF(interrupt false)为0时不允许其他的可屏蔽中断,sti指令:IF=1,cli指令:IF=0。

外中断:

1.传入9号中断信息,判断CPU现在是否可以被中断。
2.标志寄存器入栈,IF=0,TF=0
3.CS,IP入栈
4.IP=n*4,CS=n*4+2
5.将数据通过I/O总线传入CPU。
注意:

中断类型码是外部设备通过数据总线传入CPU的。

中断处理:

在自定义有返回的中断时,首先要进行的操作。
1.存放标志寄存器

pushf

2.设置IF=0,TF=0

pushf
pop ax
and ax,11111100b

push ax
popf

3.IP和CS入栈,同时修改IP和CS为中断号的值。

call dword ptr ds:[0];调用原来的9号中断
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值