zoukankan      html  css  js  c++  java
  • linux下arm汇编的常用指令解析

    1.  ldr 和 str :

    (1) ldr 作为指令,叫做寄存器加载指令。将内存中的值加载到寄存器中。

    (2) ldr 作为伪指令,实现一个32位常数或地址值加载到寄存器中。后面加载的常量或地址值标号前面必须有一个 “=” ,编译器会将伪指令替换成指令实现。

    (3) str 将寄存器中的值保存到内存单元中。

    2.  .long 伪操作,给数值分配内存单元。

    start:
    virable:
    .long start

    如上,表示将start表示的值存到virable所代表的内存中。

    virable:
    .long 0x66666666

    如上,表示将0x66666666存入virable所在的内存单元中。

    3.  adr 和 adrl:

    伪指令,将一个地址加载到寄存器中。adr 小范围地址读取指令,将基于pc相对偏移的地址值读取到寄存器中。

    adrl 中等范围地址读取指令。

    4.  b 和 bl:

    伪指令,实现基于pc值的相对跳转,b 用于不返回的跳转。bl 一般用于子程序跳转,即最后通过 mov pc,lr 返回程序被调用点处。

  • 相关阅读:
    浅谈随机化算法
    SPSS问题
    羽毛球技术
    三大线性排序之桶排序
    Java产生随机数
    Java堆栈详解
    三大线性排序之基数排序
    指针 和 数组
    复制构造函数 与 赋值函数 的区别
    【c++】类中的const成员
  • 原文地址:https://www.cnblogs.com/youngvoice/p/4828930.html
Copyright © 2011-2022 走看看