Intel 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 プロセッサの予約ビットと未定義ビットの違いは何ですか?
ありがとう
予約済みとは、ほとんどの場合「将来の使用のために予約済み」を意味し、Intel が後の CPU に拡張機能を追加できるようにします。
どのフラグも「未定義」ではありません - それらはすべて定義済みまたは予約済みです。おそらくご覧になったのは、各命令がさまざまなフラグにどのように影響するかを説明した表であり、特定のフラグに対する特定の命令の影響は未定義である可能性があります (その特定のフラグは未定義フラグではありません)。この例は、定義済みフラグ (オーバーフロー、キャリーなど) のほとんどを未定義状態のままにする IDIV 命令です。
予約済みビットを定義できます。未定義ビットは決してありません。ビットが「予約済み」の場合、特定の目的のために予約されています。「未定義」の場合、その時点では目的が決定されていません。
たとえば、ユーザーが有効にすることを想定していない特定のテスト モードをビットが設定する場合、そのビットは予約されますが、未定義にはなりません。