使用axd模拟仿真遇到的问题

[复制链接]
2060|1
 楼主| wangdecai 发表于 2008-4-19 15:54 | 显示全部楼层 |阅读模式
我在但不执行汇编指令的时候,axd显示的pc指针指向对当前执行的指令,而不是指向下两条指令,这是怎么回事?<br />我在汇编中写的一个函数,使用ARM指令,在c中被调用,c用thumb编译,我发现<br />使用mov&nbsp;pc,lr返回和bx&nbsp;lr返回不一样,mov&nbsp;pc,lr不正常,在axd中看r14的值应该是下一条指令的地址,但不对,使用bx&nbsp;lr则正常。哪个高人帮我解释一下。谢谢!<br /><br />enable_fiq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;open&nbsp;fiq<br /><br />&nbsp;&nbsp;&nbsp;STMDB&nbsp;&nbsp;&nbsp;&nbsp;SP!,{R1}<br />&nbsp;&nbsp;&nbsp;MRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,CPSR<br />&nbsp;&nbsp;&nbsp;BIC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r1,r1,#F_Bit<br />&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpsr_c,r1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;LDMIA&nbsp;&nbsp;&nbsp;&nbsp;SP!,{R1}<br />&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pc,lr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Return&nbsp;to&nbsp;caller<br />;&nbsp;&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />disable_fiq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;close&nbsp;fiq<br />&nbsp;&nbsp;&nbsp;STMDB&nbsp;&nbsp;&nbsp;&nbsp;SP!,{R1}<br />&nbsp;&nbsp;&nbsp;MRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,CPSR<br />&nbsp;&nbsp;&nbsp;ORR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r1,r1,#F_Bit<br />&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpsr_c,r1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;LDMIA&nbsp;&nbsp;&nbsp;&nbsp;SP!,{R1}<br />&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pc,lr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Return&nbsp;to&nbsp;caller<br />;&nbsp;&nbsp;&nbsp;BX&nbsp;lr&nbsp;&nbsp;&nbsp;&nbsp;<br />
阿南 发表于 2008-4-19 17:22 | 显示全部楼层

在AXD中观察到的,pc本来就指向即将执行的指令

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

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