2010-03-29 104 views
4
ESP = ? stack pointer 

什麼是E代表這裏?ESP在裝配中意味着什麼?

UPDATE

RSP 64位?

R這是什麼意思?

+0

花了4分鐘在這裏得到答案。谷歌會花費數秒鐘。 「esp堆棧指針」 – Anonymoose 2010-03-29 11:14:25

+0

@Anonymouse:好吧,要迂腐 - 問題和第一個答案之間只有2分鐘的時間是由'codeaddict' – 2010-03-29 11:17:39

+0

@EliBendersky諷刺的是,現在這是Google查詢的第一個結果。我敢打賭,它現在已經償還了數十萬作者原來的時間損失。那麼,不是作者的 - 而是其他人的! – 2018-01-09 03:08:57

回答

16

E代表Extended

隨着32位80386處理器的到來,16位通用寄存器,基址寄存器,索引寄存器,指令指針,和標誌位寄存器,而不是段寄存器,擴展到32位。這通過在x86彙編語言中將「E」(用於擴展)加上寄存器名稱來表示。

Source

1

也許用於與其他32位寄存器一致性:EAXEBX

對於那些,E裝置 「擴展」 - 即32位(16位版本被稱爲AXBX等)

PS根據The Free Dictionary,ESP表示擴展堆棧指針。

+0

SP沒有8位版本,但AX,BX,CX和DX都是,它們被稱爲AL,AH,BL,BH等等。 – 2010-03-29 11:32:24

0

E表示擴展。如果你有SP 16bit,那麼ESP應該是32bit。

+0

爲了完成的緣故,RSP爲64bit。 – Blindy 2010-03-29 11:12:28

+0

R是什麼意思? – Mask 2010-03-29 11:22:36

+1

(R)真的很大? ;-) – 2010-03-29 11:33:22

4

R僅用於「註冊」,新的寄存器僅稱爲r8-r15。由於舊的版本也需要擴展版本的名稱,因此e只是交換到了r。