51什么时候应该设置堆栈SP?

2020-01-25 15:39发布

我从没设置过,我看公司一同事每次写程序,第一行就是设置SP?
不好问,问也不会说
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
eblc1388
1楼-- · 2020-01-25 18:41
>> 我从没设置过

你不设置SP的原因是什麽?

>> 不好问,问也不会说

同感。
y574924080
2楼-- · 2020-01-25 18:45
用keil时,在启动文件那里就设置SP,编译之后可以看M51文件,可以看到SP的值,

我猜keil会自动设置好SP的值,具体不知怎么样

我就知道这么多,其他的等高手解答

y574924080
3楼-- · 2020-01-25 23:01
我猜keil是 安排好各种变量之后,避开bdata区设置SP的值

不知道对不对
lxa0
4楼-- · 2020-01-25 23:04
 精彩回答 2  元偷偷看……
coleyao
5楼-- · 2020-01-26 03:01
可以不设置,Keil会自动设置,自己手动设置也不复杂,使用数组定义保留一块区域给堆栈使用,然后在主程序里第一次调用程序前将堆栈指针指向保留区域即可,自己定义的话可以根据函数调用层数多少改变大小,比较放心一点,当然如果一窍不通的话还不如丢给Keil自动设置。
Etual
6楼-- · 2020-01-26 05:17
用C 写,不需要设置(因为keil的启动代码做了),用汇编写,那是必须设置的。

知之为知之,不知为不知,是知也

一周热门 更多>