在英特尔 8086 处理器的 16 位标志寄存器中,有 9 个标志(每个 1 位,位编号 0、2、4、6、7、8、9、10、11,我们将它们称为 ZF、OF、 ...) 位号 1、3、5 标记为“U”(未定义),位号 12、13、14、15 标记为“R”(保留)。
我的问题是intel 8086 处理器中的保留位和未定义位有什么区别?
谢谢
保留几乎总是意味着“保留以供将来使用”,以允许英特尔在以后的 CPU 中添加扩展。
没有一个标志是“未定义的” - 它们都是已定义或保留的。您可能看到的是一个表格,描述了每条指令如何影响不同的标志,其中特定指令对特定标志的影响可能是未定义的(即使该特定标志不是未定义的标志)。这方面的一个例子是 IDIV 指令,它使大多数已定义的标志(溢出、进位等)处于未定义状态。
可以定义保留位。未定义的位永远不会。如果某个位是“保留的”,则它是为某些特定目的而保留的。如果它是“未定义的”,那么那时就没有决定它的目的。
例如,如果某个位设置了用户永远不应启用的特定测试模式,则该位将被保留但不会未定义。