文章分类 -  操作系统&体系结构

摘要:原文地址http://www.cnblogs.com/首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置入栈操作:push eax; 等价于 esp=esp-4,eax->[esp];如下图出栈操作:pop eax; 等价于 [esp]->eax,esp=esp+4;如下图我们来看下面这个C程序在执行过程中,栈的变化情况void func(int m, int n) { int a, 阅读全文
posted @ 2012-03-10 22:41 Subfire 阅读(237) 评论(0) 推荐(0)