开发者

What does ESP mean in assembly? [duplicate]

开发者 https://www.devze.com 2022-12-25 03:23 出处:网络
This question already has an answer here: What do the E and R prefixes stand for in the names of Intel 32-bit and 64-bit registers?
This question already has an answer here: What do the E and R prefixes stand for in the names of Intel 32-bit and 64-bit registers? 开发者_如何学JAVA (1 answer) Closed 5 years ago.
ESP = ? stack pointer

What does E stand for here?

UPDATE

RSP for 64bit?

What does R mean here?


E stands for Extended

With the advent of the 32-bit 80386 processor, the 16-bit general-purpose registers, base registers, index registers, instruction pointer, and FLAGS register, but not the segment registers, were expanded to 32 bits. This is represented by prefixing an "E" (for Extended) to the register names in x86 assembly language.

Source


R is just for "register", with the new registers called just r8-r15. Since the old ones also needed names for their extended versions, the e was just swapped to r.


Perhaps for consistency with the other 32-bit registers: EAX, EBX etc.

For those, E means "extended" - i.e. to 32 bits (the 16-bit versions are called AX, BX etc.)

P.S. according to The Free Dictionary, ESP stands for Extended Stack Pointer.


E means Extended. If you have SP 16bit, so ESP should be 32bit.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号