gpt4 book ai didi

assembly - 中断窗口

转载 作者:行者123 更新时间:2023-12-04 06:26:56 24 4
gpt4 key购买 nike

我的问题是,为什么需要在以下汇编序列期间禁止中断?中断不会只是保存所有寄存器并在完成后将它们带回来,因此不会丢失数据吗?

cli   
inb (%dx), %al
orb $0x01, %al
outb %al, (%dx)
sti

最佳答案

Won't the interrupt just save all the registers and bring them back after it is done, so there is no loss of data?



是的,会的。但是,某些 I/O 端口对时间很敏感,如果读/写序列中断,可能无法正常工作。或者中断以某种方式影响端口(例如,您正在读取 UART 寄存器并且一个字符到达,触发串行中断并更改 UART 状态)。或者您可能正在写入一个本身与中断处理相关的端口(例如中断 Controller )。如果没有更多细节,很难说是否真的有必要,但总的来说,安全总比抱歉好。

关于assembly - 中断窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com