【发布时间】:2019-05-31 09:48:31
【问题描述】:
最初,ESP指的是内存的空白空间。
当我push 1之类的东西时,它会引用1的内存位置,还是下一个空白空间?
这里是例子
push ebp
mov ebp, esp
/*
---------
(empty space) <- esp, ebp
---------
ebp (initially stack pointer was here)
---------
*/
还有一个问题,当我做空栈空间时,ESP会指向哪个点?
示例如下:(每个内存位置为 4 个字节)
/*
--------
1 <- initial esp
--------
*/
sub esp, 12
; now esp points to this one
/*
--------
4 <- esp
--------
3
--------
2
--------
1
--------
*/
; or this one
/*
--------
3 <- esp
--------
2
--------
1
--------
*/
假设数字是内存位置地址
【问题讨论】:
标签: assembly x86 stack-memory stack-pointer