u010858403 2015-02-01 14:06 采纳率: 0%
浏览 2271

arm 汇编胡问题,,ldr pc,lr

arm 汇编胡问题
我想问您一下arm 汇编胡问题,如下。

.globl
_start:
bl _test
_end:
b _end
_test:
mov pc,lr @ 编译通过;
@ldr pc,lr @不能编译通过

问题:
1。
ldr pc,lr @不能编译通过
这是为什么?
2。
如下
bic r0,r0,#0x00ff
bic r0,r0,#0xff00
没有问题,但
bic r0,r0,#0xffff
就不行,是不是,1,2,都是一种错误呢?
谢谢。。。
本人新手,请多关照!

  • 写回答

3条回答 默认 最新

  • WorldMobile 2015-02-02 01:07
    关注

    arm汇编里面返回指令为什么能用mov pc ,lr而不能用ldr pc,=lr?

    你在调用函数之前不是把返回地址存在lr中了吗?返回的时候只要再把lr的值赋给PC就行
    LDR r0,=name,像这种带等号的是伪指令,而不是ARM指令,LDR 伪指令用于加载立即数或一个地址值到指定寄存器.
    *如果name是立即数的话:LDR R0,=0X123;//将0X123存入R0
    *如果name是个标识符:LDR R0,=NAME;//将NAME的地址存入R0
    LR是寄存器,不是标示符

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记