异常 (AMD 内部)

[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]

Microsoft 专用

下表包含 3DNow 异常的列表! 和 MMX 指令发生的。

3DNow!和 MMX 指令异常

异常

Real

虚拟 8086

Protected

说明

无效操作码 (6)

模拟命令 bit (EM) 控件注册 (CR0) 设置为 1。

计算机无法使用 (7)

保存浮点或 MMX 状态,则任务开关 bit (TS) 控件注册 (CR0) 设置为 1。

堆栈异常 (12)

在命令执行时,堆栈段限制超过了。

通用保护 (13)

在命令执行时,有效地址用于该操作数的一段寄存器非法指向内存位置。

段超过 (13)

一个在地址范围 00000h 之外的命令数据操作数以下到 0FFFFh。

页错误 (14)

页错误由命令的执行。

等待 (16) 的浮点异常

异常挂起的由于浮点执行单元。

导航检查 (17)

一对齐的内存引用由命令执行,因此,对齐掩码位 (AM) 控件注册 (CR0) 设置为 1。 (在保护模式下, CPL = 3.)

异常的规则相同的 MMX 和 3DNow! 命令。 此外,异常检测和处理适用于 MMX 和 3DNow 相同的! 命令。 异常处理程序不需要修改。

无效的操作码异常 (中断 6),则会出现 3DNow! 命令在不支持 3DNow 的处理器执行! 命令。

如果一个浮点异常挂起,并且该处理器遇到 3DNow! 命令, FERR# 断言,并且,因此,如果 CR0 .NE = 1,中断 16 生成。 这是同一 MMX 指令的。

请参见

参考

AMD 3DNow! 技术概述和内部