2
A
回答
8
IA32支持8位,16位和32位的條件相對跳躍。 x86_64支持8位和32位條件相對跳轉。見Intel's Software Developer's Manuals。
你的彙編(或鏈接,如果搬遷涉及)應該警告你,如果你的標籤是出了跳躍的範圍,無論如何。
PS:在實模式(和虛擬8086模式),有條件跳轉被限制爲+/- 127偏移。
0
一個小編這裏的其他答案(這是正確的,否則):
你跳將永遠是「超出範圍」。特定的編碼,以及因此使用32位,16位或8位偏移進行任何相對跳轉的情況,將由彙編程序進行。這通常被稱爲「指令選擇」。在任何情況下,給定任何32位的「eip」值總是會有一些32位有符號位移,當添加到「eip」時將等於任意32位地址。
這意味着你可以從任何地方在程序跳轉到其他地方,有一個跳躍。
的8位和「跳/ CC」的16種形式只是讓你做到這一點與指令流中的字節數更少。
+5
請注意,x86_64不一定是這種情況,因爲沒有64位的相對跳轉。不過,你將不得不做很奇怪的事情來遇到這種情況。 (在真實模式中情況並非如此,其中條件跳躍*被限制爲+/- 127的偏移量)。 – caf 2010-09-29 05:52:00
相關問題
- 1. JE不在CMP後跳轉
- 2. 有很多限制
- 3. 視圖沒有限制
- 4. 沒有Sympy雙面限制?
- 5. 總計數沒有限制
- 6. Autoform插入沒有限制
- 7. 使用php郵件功能有沒有限制?
- 8. rails3是否有可能創建一個沒有限制的model.scope
- 9. 彙編語言je跳轉函數
- 10. JE帶零標誌跳轉到1?
- 11. 有沒有限制多鍵搜索的方法?
- 12. 有沒有辦法讓Calendar Extender限制?
- 13. WebSocket查詢有沒有限制?
- 14. Dialog的標題有沒有限制?
- 15. JLists有沒有速度限制?
- 16. 具有多個限制
- 17. 沒有更多scrollViewDidEndScrollingAnimation委託彈跳後
- 18. CSS3有多遠?
- 19. CCN的Java功能 - 有沒有什麼可能是現實的限制
- 20. 有沒有辦法只限制mysql中的下限?
- 21. 有沒有辦法跳過繪製框架?
- 22. Acts_as_Version有沒有辦法在保存時跳過版本控制?
- 23. 有沒有可能的控制?
- 24. 搜索結果沒有呼機,沒有限制
- 25. 網頁沒有調整大小 - 代碼沒有限制
- 26. 使用Geocoder(Android)繪製路徑有沒有限制?
- 27. textarea是無盡的,沒有限制
- 28. 計數沒有限制的行總數
- 29. 錯誤:沒有限制值Ppl.manager_alloc_strict
- 30. ZoomingPDFViewer放大沒有限制較大
啊哈!我知道我聽說過有條件的跳轉。必須來自實模式裝配書。 – 2010-09-29 21:36:04
感謝您的回答,但我正在編寫的代碼不會以實模式運行。 – 2010-09-29 21:36:30