汇编cli(Clear Interrupt,禁止中断、关中断,对应的sti是开中断)

CLI禁止中断发生,关中断
STI允许中断发生,开中断

这两个指令只能在内核模式下执行,不可以在用户模式下执行;而且在内核模式下执行时,应该尽可能快的恢复中断,因为CLI会禁用硬件中断,若长时间禁止中断会影响其他动作的执行(如移动鼠标等等),系统就会变得不稳定。在标志寄存器中中断标志清零的情况下,可以以“int ××”的形式调用软中断。

STI(Set Interrupt) 中断标志置1指令 使 IF = 1;
CLI(Clear Interrupt) 中断标志置0指令 使 IF = 0.
它们只影响本指令指定的标志,而不影响其他标志位(即STI和CLI只影响IF)。

CLI和STI是用来屏蔽中断和恢复中断用的,如 设置栈基址SS和偏移地址SP时,需要CLI,因为如果这两条指令被分开了,那么很有可能SS被修改了,但由于中断,而代码跳去其它地方执行了,SP还没来得及修改,就有可能出错。

CLI可以屏蔽中断, STI恢复中断,于是,两者之间的代码就不会被外部中断打断。所以可以尽量保护代码连续执行。但是对于一些不允许屏蔽的中断以及异常,代码的运行还是会被中断

中断向量是指中断发生以后,程序会按照中断类型执行不同的中断服务程序,这个中断向量就是这些中断处理函数的入口地址
具体为什么叫向量,我认为,中断是有优先级的,程序会按照优先级从高到低依次查询,突出一个方向性,所以叫向量。

程序员可以改变段地址和偏移地址ÿ

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值