2016-11-30 125 views
0

你可以在寄存器中存儲除存儲器地址以外的任何內容嗎?我試圖在谷歌上找到答案,但我發現的是,你可以存儲指針。這意味着你也可以存儲其他的東西,但是如何存儲一個64位的值,例如,如果一個寄存器只有32位長,寄存器和指針

+0

對於32位寄存器,則需要將64位數據分成兩個寄存器 –

回答

0

你能存儲除寄存器地址以外的任何東西嗎?

不可以。寄存器是CPU現在用來操作的東西。

在你可能知道的大多數體系結構中,CPU實際上並不關心寄存器的內容是地址還是計算的整數。實際上,通常看到地址是以某種方式計算出來的......

如何存儲64位值,例如,如果寄存器只有32位長?

很明顯,不在該註冊表中。我不知道你指的是什麼架構,但是對於x86架構來說,不同的寄存器具有不同的長度,其中一些寄存器可能是64位或更長的。另外,如果你在一個實際上沒有足夠數據類型的寄存器的CPU上,那麼你需要將這個數據類型加載到多個寄存器中或以某種方式順序處理它。

+0

是的,我指的是x86架構。 – couchPotato