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