算术溢出时硬件中断?
我们这些知道进位和溢出标志(不要忘记符号和零)的人喜欢它们。
我的问题是,如果设置了进位或溢出标志,是否有CPU会中断?当它要求它时?
这比在每个算术指令之后都有一个分支要好得多......
Those of us who know the Carry and Overflow flag (lets not forget about sign and zero) love them.
My question is, is there a CPU that will interrupt if a carry or overflow flag is set? when it ask it to?
Its way better then having a branch after every arithmetic instruction...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 IA-32 CPU 上,您有
INTO
指令(即字母O
,而不是数字0
),该指令将转到中断处理程序 4( #OF) 如果设置了溢出标志。对于进位标志没有等效的指令。
注意该指令在64位模式下无效。
On IA-32 CPUs you have the
INTO
instruction (that's the letterO
, not the number0
) that will go to interrupt handler 4 (#OF) if the overflow flag is set.There is no equivalent instruction for the carry flag.
Note that this instruction is invalid in 64-bit mode.
MIPS cpu 在溢出时触发异常。
The MIPS cpu triggers an exception on overflow.
IBM 360 系列 CPU 及其后续产品提供了整数溢出中断,可通过 PSW(程序状态字)中的位进行屏蔽,并可在用户模式下通过指令集程序屏蔽进行修改。
The IBM 360 series CPUs and their successors provided an integer overflow interrupt, maskable by a bit in the PSW (Program Status Word), which could be modified in user mode by the instruction Set Program Mask.