打印

请教ARM指令???

[复制链接]
1851|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
electron0101|  楼主 | 2009-5-31 16:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
0x00000164  E59F0020  LDR       R0,[PC,#0x0020]

上段执行后R0的值是多少"?






  1099:  
  1100:                 IMPORT  __main 
0x00000160  E2400000  SUB       R0,R0,#AppEntry(0x00000000)
  1101:                 LDR     R0, =__main 
0x00000164  E59F0020  LDR       R0,[PC,#0x0020]
  1102:                 BX      R0 
0x00000168  E12FFF10  BX        R0
0x0000016C  0FFF0FFF  DD        0x0FFF0FFF
0x00000170  00043011  DD        0x00043011
0x00000174  00038021  DD        0x00038021
0x00000178  001FFFF0  DD        0x001FFFF0
0x0000017C  00018005  DD        0x00018005
0x00000180  008404F3  DD        0x008404F3
0x00000184  007FFFFF  DD        0x007FFFFF
0x00000188  40000D90  DD        0x40000D90
0x0000018C  00000190  DD        0x00000190
                 _main_stk:
0x00000190  E59FD00C  LDR       R13,[PC,#0x000C]
                 _main_scatterload:
0x00000194  EB00017F  BL        $Ven$AT$I$$__scatterload(0x00000798)
                 _main_init:
0x00000198  E59F0000  LDR       R0,[PC]
0x0000019C  E12FFF10  BX        R0
0x000001A0  0000021C  DD        0x0000021C
0x000001A4  40000D90  DD        0x40000D90

相关帖子

沙发
阿南| | 2009-5-31 16:08 | 只看该作者

PC值+0x0020

使用特权

评论回复
板凳
electron0101|  楼主 | 2009-5-31 16:18 | 只看该作者

和调试的不一样

使用特权

评论回复
地板
electron0101|  楼主 | 2009-5-31 16:26 | 只看该作者

使用特权

评论回复
5
electron0101|  楼主 | 2009-5-31 16:31 | 只看该作者

PC值+0x0020

0x00000164+0x0020= 0x184

但是 调试的是190

使用特权

评论回复
6
sxggj| | 2009-5-31 17:53 | 只看该作者

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

使用特权

评论回复
7
arm_fan168| | 2009-5-31 17:53 | 只看该作者

文字池

LDR  R0,[PC,#0x0020]是把地址为PC+#0x0020的文字池里的数据赋值给PC,在执行LDR  R0,[PC,#0x0020]时PC的值是0x00000164+8(ARM状态,流水线),所以应该把地址为0x0000018C的数据给PC,所以是0x00000190.

使用特权

评论回复
8
sxggj| | 2009-5-31 18:08 | 只看该作者

楼上正解

使用特权

评论回复
9
kisshua| | 2009-5-31 19:18 | 只看该作者

xuexi

xuexi zhong

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

79

帖子

0

粉丝