关于LDR的小问题

[复制链接]
1606|7
 楼主| wid1990 发表于 2013-7-10 15:03 | 显示全部楼层 |阅读模式
vr, ST, ov
ldr r2, = 0x56000010
ldr r3, [r2]
orr r3, r3, #32
str r3, [r2]
这段执行下来没有任何作用

如果把第二段ldr r3, [r2]
改成mov r3, #0就可以使用了

不知道是什么问题
aozima 发表于 2013-7-10 17:14 | 显示全部楼层
目测这段代码翻译成C语言是
  1. int * p = 0x56000010;

  2. *p |= 0x20;
你说有没有作用?
aozima 发表于 2013-7-10 17:15 | 显示全部楼层
ldr r3, [r2]
改成
mov r3, #0

这不是瞎改么?  请问这么改的理由是什么?
ayb_ice 发表于 2013-7-11 11:32 | 显示全部楼层
是没有达到LZ想要的作用吧
 楼主| wid1990 发表于 2013-7-11 17:24 | 显示全部楼层
我想用的就是把R2所在寄存器清零

LDR那句是BIT清零,其实效果都一样
 楼主| wid1990 发表于 2013-7-11 17:25 | 显示全部楼层
之前打错了

是BIC不是ORR
 楼主| wid1990 发表于 2013-7-11 17:25 | 显示全部楼层
我也不知道为什么,不过已经搞定了

huangxz 发表于 2013-7-12 09:41 | 显示全部楼层
我好像看了半天还是没明白楼主说的啥意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

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