由于原始的8086和8088没有针对非法指令的软件例外,因此在输入此类指令(例如“ FF FF”(不是操作码))时会如何表现?它们是否失速,是否会自行复位,并可能在其控制总线上发出特殊的循环指示?
如果没记错的话,Intel 的官方说法是他们都是 NOP。
实际上,至少有一些未定义的操作码确实作为产生结果的真实指令执行。例如,AAD 或 AAM 的第二个字节是 00001010。转换为十进制的 10。如果您执行的指令与其中一个字节具有相同的第一个字节(分别为 11010101 或 11010100),但将第二个字节更改为另一个值(例如 00000100),它将执行相同的基本操作,但在基础中您已经指定(八进制 00000100)。
编辑:您似乎有意将您的问题变成几乎没有人能够真正回答的问题。您首先询问未定义的操作码,然后将其限制为英特尔所说的未定义的操作码的某个子集,并且只想了解那些真正未定义的操作码(根据某些定义,显然只存在于您的脑海中)。
唯一可以回答的问题是“ffff 做了什么?” 曾经我也许能够回答这个问题,但我只能说“显然没有什么值得纪念的”。
至于声称这不可能是正确的,您似乎误认为这是英特尔真正关心的事情。在大多数情况下,未记录的操作码就是这样:未记录。他们付出了相当大的努力来记录当你遵循“规则”时事情会如何运作,但大多忽略了否则会发生什么。
从表面上看,最能让您满意的是真正的 8088/8086,它仍然可以运行,您可以使用它进行测试。我祝你找到那个好运。
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |