2012-11-09 54 views
2

在16位標誌寄存器的英特爾8086處理器的有9個標誌(各1比特,比特數0,2,4,6,7,我們知道它們是ZF,OF,...)的8,9,10,11位數1,3,5被標記爲「U」(未定義),位號12,13,14,15被標記作爲「R」(保留)。差8086處理器的標誌寄存器

我的問題是,什麼是保留位,在英特爾8086處理器的未定義位之間的區別?

謝謝

回答

2

保留位可能被定義。未定義的位永遠不會。如果某位是「保留」,則保留用於某種特定用途。如果它是「未定義的」,那麼在那個時候沒有決定目的。

例如,如果一個位設置用戶從不應該能夠實現特定的測試模式,該位將被保留,但它不會是不確定的。

+0

感謝您的回答。在這個特定的主題中,保留位12,13,14和15的目的是什麼?例如它們在組裝轉換命令(例如SAR和SHR)中是否有用,或者它們保留用於測試目的? –

+1

我不認爲它是公開的。我們知道的是,12和13成爲I/O特權級別,14成爲大型處理器上的嵌套任務標誌。但就我所知,沒有人公開說明英特爾在最初保留這些標誌時所考慮的內容。 –

3

保留幾乎總是意味着「留作將來使用」,允許英特爾在以後的CPU添加擴展。

標誌中沒有一個是「未定義」 - 它們都是定義或保留。你可能看到的是一張描述每個指令如何影響不同標誌的表格,其中特定指令對特定標誌的影響可能是未定義的(即使該特定標誌不是未定義標誌)。一個例子是IDIV指令,它將大多數定義的標誌(溢出,進位等)保留在未定義的狀態。

+1

1未定義用於IDIV等意味着使用30-100個時鐘週期來遍歷格指令電流的微架構,可以修改一些標誌 - 這是確定性的,當然,但它爲未定義最好的描述。 –