zoukankan      html  css  js  c++  java
  • LDR指令的格式:

    http://blog.csdn.net/tanyouliang/article/details/6767011

    LDR指令的格式: 

    LDR{条件}   目的寄存器     <存储器地址>

    作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。

    LDR指令的寻址方式比较灵活,实例如下:

    LDR R0,[R1]                                                      ;将存储器地址为R1的字数据读入寄存器R0。

    LDR R0,[R1,R2]                                             ;将存储器地址为R1+R2的字数据读入寄存器R0。

    LDR R0,[R1,#8]                                             ;将存储器地址为R1+8的字数据读入寄存器R0。

    LDR R0,[R1],R2                                               ;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2的值存入R1。

    LDR R0,[R1],#8                                               ;将存储器地址为R1的字数据读入寄存器R0,并将R1+8的值存入R1。

    LDR R0,[R1,R2]!                                          ;将存储器地址为R1+R2的字数据读入寄存器R0,并将R1+R2的值存入R1。

    LDR R0,[R1,LSL #3]                                   ;将存储器地址为R1*8的字数据读入寄存器R0。

    LDR R0,[R1,R2,LSL #2]                         ;将存储器地址为R1+R2*4的字数据读入寄存器R0。

    LDR R0,[R1,,R2,LSL #2]!                       ;将存储器地址为R1+R2*4的字数据读入寄存器R0,并将R1+R2*4的值存入R1。

    LDR R0,[R1],R2,LSL #2                            ;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2*4的值存入R1。

    LDR R0,Label                                                ;Label为程序标号,Label必须是当前指令的-4~4KB范围内。

    要注意的是

    LDR Rd,[Rn],#0x04                                                              ;这里Rd不允许是R15。

    另外LDRB 的指令格式与LDR相似,只不过它是将存储器地址中的8位(1个字节)读到目的寄存器中。

    LDRH的指令格式也与LDR相似,它是将内存中的16位(半字)读到目的寄存器中。

    LDR R0,=0xff

    这里的LDR不是arm指令,而是伪指令。这个时候与MOVE很相似,只不过MOV指令后的立即数是有限制的。这个立即数必须是0X00-OXFF范围内的数经过偶数次右移得到的数,所以MOV用起来比较麻烦,因为有些数不那么容易看出来是否合法。

  • 相关阅读:
    HDU 4782 Beautiful Soup (模拟+注意细节)
    Linux 简单socket实现UDP通信
    Linux 简单socket实现TCP通信
    HDU 1698 Just a Hook(线段树区间覆盖)
    HDU 1271 整数对(思路题)
    HDU 2222 Keywords Search (AC自动机模板题)
    Windows平台使用Gitblit搭建Git服务器图文教程
    Git克隆
    移动端布局,div按比例布局,宽度为百分比,高度和宽度一样,即让div为正方形
    calc()问题
  • 原文地址:https://www.cnblogs.com/prayer521/p/5844612.html
Copyright © 2011-2022 走看看