由于原始的8086和8088没有非法指令的软件例外,它们在馈送时如何表现,例如“FF FF”(不是操作码)?它们是否会失速,是否会自行复位,可能会在其控制总线上发出特殊的循环指示?
答案 0 :(得分:3)
如果内存服务,英特尔官方声称他们都是NOP。
实际上,至少有一些未定义的操作码确实作为产生结果的真实指令执行。例如,AAD或AAM的第二个字节是00001010.它将十进制转换为10。如果执行的指令与其中一个相同的第一个字节(分别为11010101或11010100),但将第二个字节更改为另一个值(例如00000100),它将执行相同的基本操作,但在基础中指定(八进制为00000100)。
编辑:您似乎打算将问题转变为几乎没有人能够真正回答的问题。您首先询问未定义的操作码,但是然后将其限制为那些未定义的英特尔的某些子集,并且只想知道那些真正的,真正未定义的(根据某些定义,显然只存在于你的头脑中)。
唯一可以回答的问题是“ffff做了什么?”有一段时间我可能已经能够回答这个问题了,但我能说的更多就是“显然没什么难忘的。”
至于声称它不可能是正确的,你似乎误以为这是英特尔真正关心的事情。在大多数情况下,未记录的操作代码正是如此:无证件。当你遵循“规则”时,他们付出了相当大的努力来记录事情是如何工作的,但大多数时候忽略了会发生的事情。
从事物的声音来看,所有能满足你的东西都是真正的8088/8086,它仍然可以运行,你可以测试。祝你找到那个好运,祝你好运。
答案 1 :(得分:1)
好吧,我们知道一些未定义的操作码会做什么。我的朋友reenigne或Andrew Jenner为我测试了代码为0x60-0x6F的硬件。原来他们只是0x70-0x7F的别名,或条件跳转。
编辑:换句话说,他们可能不是NOP,而且测试的肯定不是NOP。答案 2 :(得分:0)
如果你真的感兴趣,你可以从Jameco购买相应的组件(他们出售8088,8086,甚至是NEC V20 CMOS“turbo”克隆)并构建一个简单/小型机器来测试它。 / p>