cms网站内容管理系统,wordpress if语句,企业员工餐解决方案,app模板素材下载转载于ARM中LDR伪指令与LDR加载指令 - Leo Chin - 博客园 一、ldr作为加载指令
#xff08;1#xff09;格式为#xff1a;LDR{条件} 目的寄存器#xff0c;存储器地址
#xff08;2#xff09;LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。 …转载于ARM中LDR伪指令与LDR加载指令 - Leo Chin - 博客园 一、ldr作为加载指令
1格式为LDR{条件} 目的寄存器存储器地址
2LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。
3指令示例
LDR R0[R1] 将存储器地址为R1的字数据读入寄存器R0。
LDR R0[R1R2] 将存储器地址为R1R2的字数据读入寄存器R0。
LDR R0[R18] 将存储器地址为R18的字数据读入寄存器R0。
LDR R0[R1R2]将存储器地址为R1R2的字数据读入寄存器R0并将新地址R1R2写入R1。
LDR R0[R18] 将存储器地址为R18的字数据读入寄存器R0并将新地址R18写入R1。
LDR R0[R1]R2 将存储器地址为R1的字数据读入寄存器R0并将新地址R1R2写入R1。
LDR R0[R1R2LSL2] 将存储器地址为R1R2×4的字数据读入寄存器R0并将新地址R1R2×4写入R1。
LDR R0[R1]R2LSL2 将存储器地址为R1的字数据读入寄存器R0并将新地址R1R2×4写入R1。
4ARM是RISC结构数据从内存到CPU之间的移动需要通过ldr/str指令。
比如想把数据从内存中某处读取到寄存器中只能使用ldr 。比如ldr r0, 0x12345678 就是把0x12345678这个地址中的值存放到r0中二、ldr伪指令
1ARM指令集中LDR通常都是作加载指令的但是它也可以作伪指令。
LDR伪指令的形式是“LDR Rn,expr”。
2例子
COUNT EQU 0x40003100
LDR R1,COUNT
MOV R0,#0
STR R0,[R1] COUNT是我们定义的一个变量地址为0x40003100。LDR R1,COUNT是将COUNT这个变量的地址也就是0x40003100放到R1中。MOV R0,#0是将立即数0放到R0中。最后一句STR R0,[R1]是一个典型的存储指令将R0中的值放到以R1中的值为地址的存储单元去。实际就是将0放到地址为0x40003100的存储单元中去。这三条指令是为了完成对变量COUNT赋值。用三条指令来完成对一个变量的赋值跟ARM的采用RISC有关。