PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 請問指令排放方法跟endian有關嗎?
作者:
os653
2014-11-04 12:46:31
我知道如果對象是單純的資料
0x12345678 在 Little Endian 的情況下會存成 78 56 34 12
在 Big Endian 的情況下會存成 12 34 56 78
那麼,如果對象是指令會存成什麼樣子?跟 CPU 是幾位元的有關係嗎?
如果沒誤會的話,我好像看到 0x4CF000 的 opcode 被存成 4C 00 F0
請問這是有可能出現的正確存法還是我弄錯了?
作者:
carylorrk
(carylorrk)
2014-11-04 12:51:00
指令也是資料,當然跟 endian 有關。
作者:
os653
2014-11-04 12:55:00
其實主要是想搞清楚 0x4CF000 的儲存方式,感覺哪裡怪怪的
作者:
azureblaze
(AzureBlaze)
2014-11-04 13:52:00
x86的opcode是以byte為單位定義,沒有這個問題他會寫4C F0 00 照順序放就是了
作者:
purpose
(秀才遇到肥宅兵)
2014-11-04 13:57:00
你是把指令裡面的運算元當成 opcode 吧才覺得有關吧比如要 push 某位址,這個記憶體位址就會照 endian
作者:
tjjh89017
(伊達政宗)
2014-11-04 14:34:00
應該要這樣看 0x4C, 0xF000 兩項來看
作者:
os653
2014-11-04 14:42:00
那請問如果指令從4C變成4C4D,位址依舊是F000存起來會變成 4C 4D 00 F0 還是 4D 4C 00 F0 呀?
作者:
dirkc
(3781615)
2014-11-04 15:23:00
前者;但4c在x86是dec esp,沒有data部份,猜測你的cpu不是x86原則如三、四樓所說
作者:
os653
2014-11-04 15:57:00
感謝各位解說的這麼清楚,我了解囉
繼續閱讀
[問題] gaussian noise問題
davis20204
[問題] 猜拳遊戲與賭金
OhyaPTT
[問題] Clang 奇怪的問題,跟compare functor有關
saladim
Re: [問題] bit_operation除非2的冪次方
KILLE
Re: [問題] 如何取得系統總記憶體的位置
pizzafan
[問題] msmpi
rx800102
[問題] bit_operation除非2的冪次方
kdok123
Re: [討論] 大一教授出了OP的作業
flydragon198
[問題] mac使用codeblock編輯C++時強制關閉
acardia
[討論] 大一教授出了OP的作業
HaoCherHong
Links
booklink
Contact Us: admin [ a t ] ucptt.com