请教一段代码

[复制链接]
2384|1
 楼主| tianying1 发表于 2007-6-17 22:54 | 显示全部楼层 |阅读模式
void&nbsp;main(void)<br />{<br />&nbsp;&nbsp;char&nbsp;a[&nbsp;]&nbsp;=&nbsp;&quot;Hello&quot;;<br />}<br /><br />编译结果为<br /><br />Next&nbsp;label&nbsp;is&nbsp;a&nbsp;Thumb&nbsp;label<br />main:<br />&nbsp;&nbsp;000080E0&nbsp;&nbsp;B082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;SP,&nbsp;#8<br />&nbsp;&nbsp;char&nbsp;a[&nbsp;]&nbsp;=&nbsp;&quot;Hello&quot;&nbsp;;<br />&nbsp;&nbsp;000080E2&nbsp;&nbsp;4668&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;SP<br />&nbsp;&nbsp;000080E4&nbsp;&nbsp;4903&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[PC,#0x00C]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;[0x80F4]&nbsp;=0x8138<br />&nbsp;&nbsp;000080E6&nbsp;&nbsp;680A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R1,&nbsp;#0]<br />&nbsp;&nbsp;000080E8&nbsp;&nbsp;6002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R0,&nbsp;#0]<br />&nbsp;&nbsp;000080EA&nbsp;&nbsp;684A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R1,&nbsp;#4]<br />&nbsp;&nbsp;000080EC&nbsp;&nbsp;6042&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R0,&nbsp;#4]<br />}<br />通过单步执行发现内存中[R1,#0]处存储内容为&quot;Hell&quot;<br /><br />?请问&quot;Hell&quot;是怎样写入内存的,编译结果中并没有指令做到这一点啊?
chunk 发表于 2007-6-18 13:49 | 显示全部楼层

为何不从CPU复位后所执行的第一条指令开始查起呢?

就像用汇编语言一样?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部