所谓满递减堆栈是指堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。空递减堆栈是指堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空位置。
那么x86是属于那一种呢?
结论是x86的堆栈是满递减堆栈。
我们经常遇到的堆栈操作就是函数调用时需要将函数的参数入栈,因此在调用函数的地方设置一个断点,然后查看汇编代码:

这里Hello函数有一个默认值为9的参数.
在00401078这行代码执行后停住,然后打开vc的registers可以看到目前esp的值,这是一个内存地址。然后在Memory里面查看esp所值的内存的值,结果是刚好是9.

posted on 2007-07-14 23:17 莫问春秋 阅读(3715)
评论(2) 编辑 收藏