2010-06-20 45 views
1

嗨,進出口新的8086架構,並一直沒能找到在谷歌很大關係如下:標誌的指令指針溢出8086/8088

在i8086和i8088(即16位,分段尋址)如果在0xFFFF的指令指針(程序計數器)處發生取指令會發生什麼?我假設CPU遞增IP,並且它在CS寄存器保持不變時溢出並變爲0x0。

但是,如果發生這種情況做任何標誌被置(如標誌的溢出位註冊?)

感謝,

回答

1

體系結構標誌僅作爲指令執行的結果而改變,而不是作爲獲取的結果。像你描述的溢出會導致一個環繞,但是除了當前的IP之外,這不會被反射。

+0

感謝您的迴應,所以基本上CPU只會繼續執行不知道在CS:0x0? – 2010-06-20 14:25:56

+0

所以只是爲了澄清這個答案,知識產權只會環繞,不會發生其他事件。謝謝。 – 2010-06-20 14:35:31

+0

@Steve,沒錯。我的意思是回答你的評論錯誤,而不是回答馬克的問題......當我太累時,回答的危險:-) – 2010-06-20 17:47:13

0

我不知道它應該有標誌的任何特殊效果,但它應該引發重置。 IP會增加到0000:並且CS將保持爲FFFF,我將CS:IP重置爲FFFF:0000,這應該是引導加載程序的啓動指令。

+0

如果CS不是FFFF(因此環繞指令不是重置向量)會執行重置觸發嗎?或者你的意思是它將有效地重置這個特定情況(CS = FFFFh,ip = 0)。謝謝 – 2010-06-20 14:23:43

+0

沒有重置或任何其他事件。它甚至不會像您期望的那樣重置IP。如果你在0xffff並且你試圖獲取5個字節,你會在下一條指令中繞回到0x4。 – 2010-06-20 14:28:34