8
ESP = ? stack pointer

What does E stand for here?

UPDATE

RSP for 64bit?

What does R mean here?

Mask
  • 33,129
  • 48
  • 101
  • 125
  • It took 4 minutes to get an answer here. Google would have taken seconds. "esp stack pointer" – Anonymoose Mar 29 '10 at 11:14
  • @Anonymouse: well, to be pedantic - only 2 minutes between the question and the first answer by `codeaddict` – Eli Bendersky Mar 29 '10 at 11:17
  • @EliBendersky ironically, this is now the first result for that Google query. I bet it's repaid the author's original time loss by the hundreds of thousands by now. Well, not the author's - but everyone else's! – James Binford Jan 09 '18 at 03:08

4 Answers4

17

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

codaddict
  • 445,704
  • 82
  • 492
  • 529
4

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.

Tuna-Fish
  • 586
  • 2
  • 4
1

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.

Eli Bendersky
  • 263,248
  • 89
  • 350
  • 412
  • The SP doesn't have an 8 bit version but AX, BX, CX, and DX do, they are known as AL, AH, BL, BH, and so forth. – PP. Mar 29 '10 at 11:32
0

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

Vojta Rylko
  • 1,442
  • 4
  • 16
  • 29