你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ARM 伪指令

[复制链接]
flintlovesam 提问时间:2015-1-5 10:55 /
start MOV  R0,#10
        ADR  R4 ,start  ;-》SUB R4,PC,#0x0c



为什么Pc要减去12即0x0c而不是4
收藏 评论11 发布时间:2015-1-5 10:55

举报

11个回答
pathletboy 回答时间:2015-1-5 12:16:38
ADR  R4 ,start  ;-》SUB R4,PC,#0x0c
运行这句的时候PC已经指向下一句了,所以实际减去的应该包含2句指令所占的空间。
arm8686 回答时间:2015-1-5 12:18:24
执行完 ADR 这行,PC指针减去 12 后,会 +4。
(PC - 8),刚好就是 MOV R0,#10 这行。

楼主可以试试 SUB R4,PC, #0x08,这应该是个死循环。
flintlovesam 回答时间:2015-1-5 12:32:04
arm8686 发表于 2015-1-5 12:18
执行完 ADR 这行,PC指针减去 12 后,会 +4。
(PC - 8),刚好就是 MOV R0,#10 这行。

谢谢  大神 解释的真好  谢谢  我最近 再看ARM汇编  还有个问题

start MOV R0,#10
       ADRL R4,start+6000;->ADD R4,pc,#0xe800
                                      ; ADD R4,R4,#0x254
ADRL
怎么成了两个汇编,这个伪指令为啥要变成 那俩ADD
谢谢!!!
flintlovesam 回答时间:2015-1-5 12:32:49
pathletboy 发表于 2015-1-5 12:16
ADR  R4 ,start  ;-》SUB R4,PC,#0x0c
运行这句的时候PC已经指向下一句了,所以实际减去的应该包含2句 ...

谢谢  大神 解释的真好  谢谢  我最近 再看ARM汇编  还有个问题

start MOV R0,#10
       ADRL R4,start+6000;->ADD R4,pc,#0xe800
                                      ; ADD R4,R4,#0x254
ADRL
怎么成了两个汇编,这个伪指令为啥要变成 那俩ADD
谢谢!!!
pathletboy 回答时间:2015-1-5 12:43:46
为啥2个汇编你得看官方编译器怎么解释。
http://infocenter.arm.com/help/i ... 204ic/Cacecdga.html
ADRL 始终汇编为两个 32 位指令。 即使使用单个指令就可完成地址访问,也会生成多余的第二个地址。
flintlovesam 回答时间:2015-1-5 12:56:33
pathletboy 发表于 2015-1-5 12:43
为啥2个汇编你得看官方编译器怎么解释。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.du ...

我理解的是 因为一个指令放不开 那么大的地址 所以变成两个  
书上说因为地址是程序相对偏移或寄存器相对偏移,ADRL产生与位置无关的代码。若label是程序相对偏移,则必需取值成与ARDL伪指令在同一代码区域的地址,否则连接后可能会超出范围。
什么叫位置无关的代码    什么叫同一代码区域    为什么会超出范围

PS   刚开始看arm 汇编  一肚子问题  请大哥耐心解答   非常感激
pathletboy 回答时间:2015-1-5 13:36:09
仔细看我给你的连接,你想要的答案上面都有,嵌入式学习,最重要的先要学会看文档,而不是问,问出来的东西,都是人家总结过的,只有一个结果,你却不知道中间过程,这样是不利于学习的。
flintlovesam 回答时间:2015-1-5 14:29:52
pathletboy 发表于 2015-1-5 13:36
仔细看我给你的连接,你想要的答案上面都有,嵌入式学习,最重要的先要学会看文档,而不是问,问出来的东西 ...

额  好吧  我先看看
flintlovesam 回答时间:2015-1-5 14:35:47
与非朋 发表于 2015-1-5 14:29
额  好吧  我先看看

恩恩  看到了  文档很全  谢了
hlt512 回答时间:2015-1-5 15:09:08
汇编还是会编,
反正已经不会了,哈哈
flintlovesam 回答时间:2015-1-5 19:26:13
hlt512 发表于 2015-1-5 15:09
汇编还是会编,
反正已经不会了,哈哈

你这帖子水的好  

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版