I’m looking at some assembly stuff. So, pushl bar is the same as subl $4, %esp movl bar, ($esp).
Few questions:
1) What is special about the %esp register?
2) What does the parenthesis around the register mean?
3) pushl bar would meaning having bar on top of the stack, right? So what is happening when I do subl $4? Does that mean I am creating am empty space on top of the stack for me to move bar into?
ESP is the stack pointer – it always points to the “top” of the stack
The brackets mean “the memory pointed at by” ESP rather than the ESP register itself