菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
168
0

arm小知识

原创
05/13 14:22
阅读数 81033

1、

LDR r, label 和 LDR r, =label的区别:

LDR r, =label 会把label标号的地址值加载到寄存器中,该值是绝对地址值,在编译时确定的;而LDR r, label会把label当做地址,把label指向的地址中的值加载到寄存器中。

ADR r, label 会把label标号的相对地址读入寄存器r,注意它是位置无关的,取的是相对的位置。

譬如 label的值是 0x8000, LDR r, =label会将 0x8000加载到寄存器中,而LDR r, label则会将内存0x8000处的值加载到寄存器中,ADR r, label会根据运行情况确定r的值

 

 2、

.表示当前指令行(地址)

B .表示一直在当前指令处原地跳转,也就是死循环。

发表评论

0/200
168 点赞
0 评论
收藏