初级会员

- 积分
- 103
- 金钱
- 103
- 注册时间
- 2018-4-27
- 在线时间
- 40 小时
|
15金钱
本帖最后由 qq455717338 于 2018-9-3 12:48 编辑
最近小弟在看汇编,然后又看了一遍启动代码。有几个疑问,希望能解答;
1:我看到arm 指令有entry 标志来表示汇编的入口,但是启动文件的代码里面我没有看到,难道 PRESERVE8 THUMB 就表示入口了?
2:Stack_Size EQU 0x00001000
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp (这里的initial是不表示的 汇编后缀的ED{emply decrease))
4:__Vectors DCD __initial_sp ; 这里为什么才是0地址,而不是Stack_Size 是0地址
因为自学,所以会有许多的困惑,希望好心人能解答下。。。。
|
最佳答案
查看完整内容[请看2#楼]
很多人都不用entry包括我,因为很经常是多个入口, 用EXPORT就好了
Stack_Mem SPACE Stack_Size //----(1)
__initial_sp //---(2)
(1)是定义SP的位置和给栈占位
(2)是定位__initial_sp(因为它会指着)Stack_Mem最后一个地址+4, 这是要用来给SP赋值
__initial_sp 不是零
|