• ARM学习笔记4——加载存储指令


    一、字数据传送指令

    作用:用于把单一的数据传入或者传出一个寄存器。

      1、LDR指令

        1.1、作用

          根据<addr_mode>所确定的地址模式从内存中将一个32位的字段读取到目标寄存器<Rd>,如果指令中的寻址方式确定的地址不是字对齐的,则读出的数值要进行循环右移。

        1.2、语法格式

          LDR{<condition>} <Rd>,<addr_mode>

        1.3、参数说明

          <Rd>确定使用哪个通用寄存器作为目标寄存器

          <addr_mode>确定了指令编码中的I、P、U、W、Rn和<addr_mode>位

      2、STR指令

        2.1、作用

          将一个32位的字数据写入到指令中指定的内存单元

        2.2、语法格式

          STR{<condition>} <Rd>,<addr_mode>

    二、字节数据传送指令(LDRB/STRB)

      1、LDRB指令

        1.1、作用

          根据<addr_mode>所确定的地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

        1.2、语法格式 LDR{<condition>}B <Rd>,<addr_mode>

      2、STRB指令

        2.1、作用

          从寄存器中取出指定的8位字节放入指令中指定的内存单元的低8位,并将其高位补0

        2.2、语法格式 STR{<condition>}B <Rd>,<addr_mode>

    三、半字数据传送指令(LDRH/STRH)

      1、LDRH

        1.1、作用

          从内存中将一个16位的半字读取到目标寄存器

        1.2、语法格式

          LDR{<condition>}H <Rd>,<addr_mode>

      2、STRH

        2.1、作用

          从寄存器中取出知道你个的16位半字放入指令中指定的内存单元的低16位,并将其高位补0

        2.2、语法格式

          STR{<condition>}H <Rd>,<addr_mode>

    四、用户模式字数据传送指令

      1、LDRT

        1.1、作用

          在用户模式下,根据<addr_mode>所确定的地址模式从内存中将一个32位的字读取到目标寄存器<Rd>

        1.2、语法格式

          LDR{<condition>}T <Rd>,<post_indexed_addressing_mode>

        1.3、参数说明

          <post_indexed_address_mode>:使用后索引地址模式寻址

      2、STRT

        2.1、作用

          将一个32位的字数据写入到指令中指定的内存单元

        2.2、语法格式

          STR{<condition>}T <Rd>,<post_indexed_addressing_mode>

    五、用户模式字节数据传送指令

      1、LDRBT指令

        1.1、作用

          根据<post_indexed_addressing_mode>地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

        1.2、语法格式

          LDR{<condition>}BT <Rd>,<post_indexed_addressing_mode>

      2、STRBT指令

        2.1、作用

          将一个8位的字节数据写入到指令中指定的内存单元

        2.2、语法格式

          STR{<condition>}BT <Rd>,<addr_mode>,<post_indexed_addressing_mode>

    六、有符号的字节/半字数据传送指令

      1、LDRSB指令

        1.1、作用

          根据<addr_mode>所确定的地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

        1.2、语法格式

          LDR{<condition>}SB <Rd>,<addr_mode>

      2、LDRSH指令

        2.1、作用

          根据<addr_mode>所确定的地址模式将一个16位半字读取到指令中的目标寄存器<Rd>

        2.2、语法格式

          LDR{<condition>}SH <Rd>,<addr_mode>

  • 相关阅读:
    JVM发生OOM调优
    行云创新完成B轮融资,阿里云独家投资
    行云创新直播回顾:DDD“爱”上Dapr
    如何通过Dapr快速实现DDD?
    通过Dapr快速落地DDD,实现高并发
    上K8s,研发团队如何从容一点?
    直播来了!等你围观!聊聊服务网格那些事儿
    服务网格出现流量故障该咋办?SolarMesh发布重大功能
    mysql 授权问题
    Centos Mysql5.7 安装
  • 原文地址:https://www.cnblogs.com/zjzsky/p/3531456.html
Copyright © 2020-2023  润新知