• ARM指令英文全称-速记ARM指令


    通过英文全称,了解ARM指令代表的含义,可以快速记住所有ARM指令。我的一些表述,可能存在语法错误,不过不重要,我们的目的是理解。

    每个指令用法的详解可以看这篇文章http://t.csdn.cn/mxd6H

    本文不详解ARM指令用法,只对指令命名说一说自己的理解。

    1. ARM 存储器访问指令

    1.1 LDR 和STR 加载/存储字和无符号字节指令

    LDR load from register to memory—所以指令后接寄存器,再接内存地址LDR Rd,<地址>

    STR store  register to memory—所以指令后接寄存器,再接内存地址STR Rd,<地址>;

    1.2 LDM和STM 批量加载/存储指令

    LDM load from memory to register—所以指令后接内存地址,再接寄存器LDM Rn,reglist{^}

    STM store  memory to register—所以指令后接内存地址,再接寄存器STM Rn,reglist{^}

    寄存器Rn 为基址寄存器,装有传送数据的初始地址

    (1) IA:每次传送后地址加4 increase after

    (2) IB:每次传送前地址加4 increase before

    (3) DA:每次传送后地址减4 decrease after

    (4) DB:每次传送前地址减4 decrease before

    (5) FD:满递减堆栈 Full descending

    (6) ED:空递减堆栈 Empty descending

    (7) FA:满递增堆栈 Full ascending

    (8) EA:空递增堆栈 Empty ascending

    1.3 SWP 寄存器和存储器交换指令

    SWP swap

    2.  ARM 数据处理指令

    2.1数据传送指令

    2.1.1 MOV 数据传送指令

    MOV move

    2.1.2 MVN 数据非传送指令

    MVN move and NOT

    2.2算术逻辑运算指令

    2.2.1 ADD 加法运算指令

    ADD add

    2.2.2 SUB 减法运算指令

    SUB subtract

    2.2.3 RSB 逆向减法指令

    RSB reverse subtract

    2.2.4 ADC 带进位加法指令

    ADC add with carry

    2.2.5 SBC 带进位减法指令

    SBC subtract with carry

    2.2.6 RSC 带进位逆向减法指令

    RSC reverse subtract with carry

    2.2.7 AND 逻辑与操作指令

    AND and

    2.2.8 ORR 逻辑或操作指令

    ORR or

    2.2.9 EOR 逻辑异或操作指令

    EOR exclusive or

    2.2.10 BIC 位清除指令

    BIC bitwise clear

    2.3 比较指令

    2.3.1 CMP 比较指令

    CMP compare

    2.3.2 CMN 负数比较指令

    CMN compare nagative

    2.3.3 TST 位测试指令

    TST test

    2.3.4 TEQ 相等测试指令

    2.4 乘法指令

    2.4.1 MUL 32 位乘法指令

    MUL multiply

    2.4.2 MLA 32 位乘加指令

    MLA  multiply and add

    2.4.3 UMULL  64 位无符号乘法指令

    UMULL unsigned multiply

    2.4.4 UMLAL 64 位无符号乘加指令

    UMLAL unsigned multiply and add

    2.4.5 SMULL 64 位有符号乘法指令

    SMULL signed multiply

    2.4.6 SMLAL 64 位有符号乘加指令

    SMLAL signed multiply and add

    3.   ARM 跳转指令

    3.1 B 跳转指令

    B branch

    3.2 BL 带链接的跳转指令

    BL branch with link

    3.3 BX 带状态切换的跳转指令

    BX brach and exchange

    3.4 BLX

    4.  ARM 协处理器指令

    4.1 CDP 协处理器数据操作指令

    CDP coprocessor data process

    4.2 LDC 协处理器数据读取指令

    LDC load data from coprocessor

    4.3 STC 协处理器数据写入指令

    LDC store data to coprocessor

    4.4 MCR  ARM寄存器到协处理器寄存器的数据传送指令

    move data to coprocessor from register

    4.5 MRC 协处理器寄存器到ARM寄存器到的数据传送指令

    move data to register from coprocessor

    5.  ARM 杂项指令

    5.1 SWI 软中断指令

    SWI software interrupt

    5.2 MRS 读状态寄存器指令

    move data to register from status register

    5.3 MSR 写状态寄存器指令

    move data to status register from register
     

  • 相关阅读:
    用C++或者Python解析gltf文件
    IDEA导入jar包
    Android(kotlin)JetPack系列学习——3.LiveData(含源码)
    C/C++内存管理
    【“在路上”疫情信息检测】——项目页面搭建
    QT转型Visual Studio(qmake项目到cmake项目的移植)
    虎牙 huya 直播源
    【区块链 | Solidity】以太坊Solidity如何实现海量空投代币?
    下一代英伟达H100 GPU发布时,国产芯片能追上吗?
    APT和Javapoet的精彩联动
  • 原文地址:https://blog.csdn.net/freestep96/article/details/126458933