课件制作 发表于 2013-1-23 19:58:00

栈的增长方向


栈的增长方向
    到底是从高地址向低地址增长,还是低地址向高地址增长,我怎么越学越迷糊了,哪位大哥大姐给我解下?

课件制作 发表于 2013-1-23 20:06:05

push eax不就是ESP-2吗?到底是从高地址向低地址增长,还是低地址向高地址增长?

课件制作 发表于 2013-1-23 20:10:11

课件制作 发表于 2013-1-23 20:06 static/image/common/back.gif
push eax不就是ESP-2吗?到底是从高地址向低地址增长,还是低地址向高地址增长?

push eax不就是ESP-4吗?到底是从高地址向低地址增长,还是低地址向高地址增长?

s0512 发表于 2013-1-23 20:11:31

PUSH   SP - 2 (32下 -4)
POP   SP +2(    +4)

压栈就减,推栈就加{:2_35:}

课件制作 发表于 2013-1-23 20:16:34

s0512 发表于 2013-1-23 20:11 static/image/common/back.gif
PUSH   SP - 2 (32下 -4)
POP   SP +2(    +4)



谢谢,我还想问一个问题,为什么老师在讲局部变量生成的时候画了一个栈,为什么栈的高地址在上面,低地址在下面?谢谢

s0512 发表于 2013-1-23 20:25:56

课件制作 发表于 2013-1-23 20:16 static/image/common/back.gif
谢谢,我还想问一个问题,为什么老师在讲局部变量生成的时候画了一个栈,为什么栈的高地址在上面,低地址 ...

我理解这是这样:无论它的方向是上下,或像DEBUG中显示的从左到右。但其中的规律是不变的。PUSHsp中的数值就减,POP就加。就算是45度角的画法,也改变不了这个规律是吧~~嘿嘿!!人个理解,有错请见谅{:2_27:}

课件制作 发表于 2013-1-23 20:31:07

s0512 发表于 2013-1-23 20:25 static/image/common/back.gif
我理解这是这样:无论它的方向是上下,或像DEBUG中显示的从左到右。但其中的规律是不变的。PUSHsp中的数 ...

谢谢,这个问题都困扰了我好久好久。

s0512 发表于 2013-1-23 20:33:12

课件制作 发表于 2013-1-23 20:31 static/image/common/back.gif
谢谢,这个问题都困扰了我好久好久。

我也在学习阶段~多多交流哈

1236 发表于 2013-1-24 02:55:29

课件制作 发表于 2013-1-23 20:31 static/image/common/back.gif
谢谢,这个问题都困扰了我好久好久。

岂止是困扰了你很久啊 简直快困死我了我问了八个群 问了一个月 最后 还是那句 从高向低增长的。。。。。。。

Chaos.Head 发表于 2013-1-24 21:33:11

=。= 我也是。。。。。

n2zee 发表于 2013-1-25 19:15:47

进栈-2,出栈+2,你可以画一个图,上面小,下面大,sp指向最下面,进栈后地址减2
页: [1]
查看完整版本: 栈的增长方向