首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

局部变量与栈的问题

局部变量与栈的问题

大家都知道局部变量存储在栈中,但我一直没搞明白:局部变量是如何放入栈中的,是怎么实现的?有没有专门的程序,像start12中初始化全局变量一样。而且在start12中只是说明了栈的大小。栈以数组的形式来形成,但仅仅是形成了栈,具体栈的操作是怎样的?我一直没找的相关的线索。望各位高手多多指教。
栈实际上就是RAM中的一块内存区域,CPU通过SP作为指针来修改访问堆栈区域的数据,start12中有个宏INIT_SP_FROM_STARTUP_DESC,就是用来初始化堆栈指针的。默认的堆栈底是RAM的20ff,初始后SP就指向了这里,每次入栈操作,SP就减,出栈就加。
那是谁让局部变量入栈的啊?不可能无缘无故就进栈了啊?总要有个指令或程序吧!
返回列表