The assembly code goes like this:
call next
next:
popl %eax
I thought after call next, the return address will be pushed onto the stack, right? But in the above code, what's the return address?
After that code executes %eax will have the address of label "next"
The net effect is %eax points to label "next"
It's the address of the instruction immediately following the call instruction. See your CPU documentation on how call works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With