This is just before the call
opcode is invoked.
↑ | value of rdi | ← rsp | ||
To higher addresses | ||||
(to 0xffffffff) | ||||
To lower addresses | ||||
(to 0x00000000) | ||||
↓ |
This is just after the call
opcode is invoked.
↑ | value of rdi | |||
To higher addresses | return address | ← rsp | ||
(to 0xffffffff) | ||||
To lower addresses | ||||
(to 0x00000000) | ||||
↓ |
THEN, perform body of the function
This is just after the caller invokes the call
opcode.
↑ | value of rdi | |||
To higher addresses | return address | ← rsp | ||
(to 0xffffffff) | ||||
To lower addresses | ||||
(to 0x00000000) | ||||
↓ |
This is just after the callee invokes sub rsp, 8
↑ | value of rdi | |||
To higher addresses | return address | |||
(to 0xffffffff) | local var (result) | ← rsp | ||
To lower addresses | ||||
(to 0x00000000) | ||||
↓ |
This is after the myFunc()
prologue is completed.
↑ | value of rdi | |||
To higher addresses | return address | |||
(to 0xffffffff) | local var (result) | ← [rsp+16] | ||
value of rbx | ← [rsp+8] | |||
value of rbp | ← [rsp] | |||
To lower addresses | ||||
(to 0x00000000) | ||||
↓ |
|
|