假設你正在爲不同的體系結構編寫編譯器。 架構有不同的排列順序。 您有存儲器讀寫指令二進制翻譯|交叉編譯
舉一個存儲指令的例子,您要存儲值0xAA0xBB0xCC0xDD。 現在在爲此編寫程序集時,是否爲 不同的體系結構編寫了兩個不同的指令,例如:
對於小尾數:st (reg), 0xDD0xCC0xBB0xAA
對於大端:st (reg), 0xAA0xBB0xCC0xDD
或者你寫相同的指令,也就是說,st, (reg), 0xAA0xBB0xCC0xDD
兩者的架構,讓指令由處理器,使得它被解析照顧系統的排序?
我問這個問題的原因是我不知道二進制翻譯器在不同的字節順序架構之間翻譯代碼時會做什麼。如果在體系結構A中,您會看到以下行st,(reg),XY是否將它轉換爲體系結構B的st,(reg),YX?如果是這樣的話,那麼內存讀取會發生什麼?
我想知道如何照顧字節順序,考慮二進制翻譯中的內存讀取和寫入。
接下來的問題是,如何通過查看程序集模塊來區分常量和空終止字符串? – n0nChun 2011-03-14 18:45:00
@ nnnChun,我很確定這是不可能的,或者至少是困難的。這幾乎相當於閱讀程序員的思想。 – 2011-03-14 20:37:28