我在但不执行汇编指令的时候,axd显示的pc指针指向对当前执行的指令,而不是指向下两条指令,这是怎么回事?<br />我在汇编中写的一个函数,使用ARM指令,在c中被调用,c用thumb编译,我发现<br />使用mov pc,lr返回和bx lr返回不一样,mov pc,lr不正常,在axd中看r14的值应该是下一条指令的地址,但不对,使用bx lr则正常。哪个高人帮我解释一下。谢谢!<br /><br />enable_fiq ;open fiq<br /><br /> STMDB SP!,{R1}<br /> MRS R1,CPSR<br /> BIC r1,r1,#F_Bit<br /> MSR cpsr_c,r1 <br /> LDMIA SP!,{R1}<br /> MOV pc,lr ; Return to caller<br />; BX lr <br />disable_fiq <br /> ; close fiq<br /> STMDB SP!,{R1}<br /> MRS R1,CPSR<br /> ORR r1,r1,#F_Bit<br /> MSR cpsr_c,r1 <br /> LDMIA SP!,{R1}<br /> MOV pc,lr ; Return to caller<br />; BX lr <br /> |
|