arm小知识

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 .表示一直在当前指令处原地跳转,也就是死循环。

posted @ 2020-09-24 11:51  hunterDing  阅读(123)  评论(0编辑  收藏  举报