Board logo

标题: 局部变量与栈的问题 [打印本页]

作者: ziyou4533    时间: 2010-11-4 20:18     标题: 局部变量与栈的问题

大家都知道局部变量存储在栈中,但我一直没搞明白:局部变量是如何放入栈中的,是怎么实现的?有没有专门的程序,像start12中初始化全局变量一样。而且在start12中只是说明了栈的大小。栈以数组的形式来形成,但仅仅是形成了栈,具体栈的操作是怎样的?我一直没找的相关的线索。望各位高手多多指教。
作者: zephanshaka    时间: 2010-11-5 10:05

栈实际上就是RAM中的一块内存区域,CPU通过SP作为指针来修改访问堆栈区域的数据,start12中有个宏INIT_SP_FROM_STARTUP_DESC,就是用来初始化堆栈指针的。默认的堆栈底是RAM的20ff,初始后SP就指向了这里,每次入栈操作,SP就减,出栈就加。
作者: ziyou4533    时间: 2010-11-5 14:15

那是谁让局部变量入栈的啊?不可能无缘无故就进栈了啊?总要有个指令或程序吧!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0