异常 (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 指令的。