记录自已学习之ARM汇编语言ldr和str

    最近自已在学习裸机,因为需要设计一点的汇编语言,所以也写点来记录。


首先讲的是LDR的指令
LDR指令的格式: 
LDR{条件}  目的寄存器, <存储器地址>
作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。

我个人学到的就是两个指令:

(1)ldr R0, [R1, #8]   将地址R1 + 8的字数据读入以R0存储器中


(2)ldr R0, [R1], #8 将R1的数据读入到R0,并将R1 + 8的值存入R1


记录自已学习之ARM汇编语言ldr和str_第1张图片

记录自已学习之ARM汇编语言ldr和str_第2张图片

第二个指令就是STR指令

STR指令的格式为:
STR{条件}  源寄存器, <存储器地址>
STR指令用亍从源寄存器中将一个字数据传送到存储器中。

我个人学到的就是两个指令:
(1)str R0, [R1, #8]   将R0中的字数据读入以R1 + 8为地址的存储器中
这里就是说R1的地址为0x00001000,R0装的是0x00aa,将0x00aa装入0x00001000 + 8的地址里,也就是0x00001008地址

(2)str R0, [R1], #8   将R0的字数据读入R1,并将R1 + 8的值存入R1,也就是把R1的等于
这里我还是解释一下,将R0的字数据读入的是以R1中数据为地址的存储器中,比如r1中装的是0x00001000,R0
是0x00aa,通俗的说就是把0x00aa读入以0x0001000的地址里面。


最后还在这里感谢两个人(微龙和女帝),他们两个为我解释了许多,让我真正懂得了这几个指令真正的做法。

你可能感兴趣的:(arm汇编指令)