请教ARM指令???

[复制链接]
2713|8
 楼主| electron0101 发表于 2009-5-31 16:03 | 显示全部楼层 |阅读模式
0x00000164&nbsp;&nbsp;E59F0020&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[PC,#0x0020]<br /><br />上段执行后R0的值是多少&quot;?<br /><br /><br /><br /><br /><br /><br />&nbsp;&nbsp;1099:&nbsp;&nbsp;<br />&nbsp;&nbsp;1100:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORT&nbsp;&nbsp;__main&nbsp;<br />0x00000160&nbsp;&nbsp;E2400000&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,R0,#AppEntry(0x00000000)<br />&nbsp;&nbsp;1101:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=__main&nbsp;<br />0x00000164&nbsp;&nbsp;E59F0020&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[PC,#0x0020]<br />&nbsp;&nbsp;1102:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;<br />0x00000168&nbsp;&nbsp;E12FFF10&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0<br />0x0000016C&nbsp;&nbsp;0FFF0FFF&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0FFF0FFF<br />0x00000170&nbsp;&nbsp;00043011&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00043011<br />0x00000174&nbsp;&nbsp;00038021&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00038021<br />0x00000178&nbsp;&nbsp;001FFFF0&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x001FFFF0<br />0x0000017C&nbsp;&nbsp;00018005&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00018005<br />0x00000180&nbsp;&nbsp;008404F3&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x008404F3<br />0x00000184&nbsp;&nbsp;007FFFFF&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x007FFFFF<br />0x00000188&nbsp;&nbsp;40000D90&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40000D90<br />0x0000018C&nbsp;&nbsp;00000190&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000190<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_main_stk:<br />0x00000190&nbsp;&nbsp;E59FD00C&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R13,[PC,#0x000C]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_main_scatterload:<br />0x00000194&nbsp;&nbsp;EB00017F&nbsp;&nbsp;BL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Ven$AT$I$$__scatterload(0x00000798)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_main_init:<br />0x00000198&nbsp;&nbsp;E59F0000&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[PC]<br />0x0000019C&nbsp;&nbsp;E12FFF10&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0<br />0x000001A0&nbsp;&nbsp;0000021C&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000021C<br />0x000001A4&nbsp;&nbsp;40000D90&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40000D90
阿南 发表于 2009-5-31 16:08 | 显示全部楼层

PC值+0x0020

  
 楼主| electron0101 发表于 2009-5-31 16:18 | 显示全部楼层

和调试的不一样

  
 楼主| electron0101 发表于 2009-5-31 16:26 | 显示全部楼层
 楼主| electron0101 发表于 2009-5-31 16:31 | 显示全部楼层

PC值+0x0020

0x00000164+0x0020=&nbsp;0x184<br /><br />但是&nbsp;调试的是190<br /><br />
sxggj 发表于 2009-5-31 17:53 | 显示全部楼层

跟流水线操作有关,具体差条指令估计得好好查查

  
arm_fan168 发表于 2009-5-31 17:53 | 显示全部楼层

文字池

LDR&nbsp;&nbsp;R0,[PC,#0x0020]是把地址为PC+#0x0020的文字池里的数据赋值给PC,在执行LDR&nbsp;&nbsp;R0,[PC,#0x0020]时PC的值是0x00000164+8(ARM状态,流水线),所以应该把地址为0x0000018C的数据给PC,所以是0x00000190.<br />
sxggj 发表于 2009-5-31 18:08 | 显示全部楼层

楼上正解

  
kisshua 发表于 2009-5-31 19:18 | 显示全部楼层

xuexi

xuexi&nbsp;zhong
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

79

帖子

0

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