电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
清除bss段的原理,求大神指点指点,感谢感谢
已解决
73482
个问题
已帮助
5993
位优秀工程师
清除bss段的原理,求大神指点指点,感谢感谢
qiuqiu
2021-03-16
浏览量:711
清除bss段的代码部分如下:
//清除BSS段
clean_bss:
ldr r1 =__bss_start
ldr r2 =__bss_end
mov r3 #0
clean:
str r3 [r1]
add r1 r1 #4
cmp r1 r2
bne clean
m data-ke-on
click="copycode($('code_UMa'));">复制代码
想问一下大佬,clean部分清除bss段的原理,为啥将r1寄存器清零后,又要加上4,与r2执行了CMP指令,零标志寄存器不为零的话则循环,我自己的理解:
R1清零→+4→清零→+4,那这样如何起到清除bss段呢,请大佬指点
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
xdsnet
根据你的程序,r1是bss的开始地址,r2是bss的结束地址,所以后面是4个字节清除一次,循环从r1到r2啊。
所以每次r1加4。这里加4估计是因为是32bit系统。
发布于
2021-03-17
举报
评论 0
0
0
其他答案
数量:
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
清除bss段的原理,求大神指点指点,感谢感谢
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: