美文网首页
17 ARM汇编伪指令

17 ARM汇编伪指令

作者: 辉神来了 | 来源:发表于2019-07-17 11:32 被阅读0次
伪指令的意义
  • 伪指令不是指令,伪指令和指令的根本区别是经过编译后不会生成机器码
  • 伪指令的意义在于知道编译过程
  • 伪指令是和具体的编译器相关的,我们使用gun工具链,因此学习gun环境下的汇编伪指令
gun汇编中的一些符号
  • @ 回来做注释,可以在行首也可以在代码后面一行直接跟,和C语言中/类似
  • 做注释,一般放在行首,表示一行都是注释而不是代码

  • :以冒号结尾的是标号
  • .点号在gun汇编中表示当前指令的地址
  • 立即数前面要加#或$,表示这是个立即数

常用gun伪指令
  • .global_start @ 给_start外部连接属性
  • .section .text @指定当前段为代码段
  • .ascii .byte .short .long . word
  • .quad .float .string @定义数据
  • .align 4 @以16字节对齐
  • .balignl 16 0xabcdefgh @ 16字节对齐填充
最重要的几个伪指令
  • ldr 大范围的地址加载指令
  • adr 小范围的地址加载指令
  • adrl 中断访问的地址加载指令
  • nop 空操作
  • ARM z中有一个ldr指令,还有一个ldr伪指令
  • 一般都使用ldr伪指令而不用领ldr指令
adr与ldr
  • adr 编译时会被1条sub或add指令替代,而ldr编译时会被一条mov指令替代或者文字池方式处理
  • adr总是以pc为基准来表示地址,因此令本身和运行地址有关吗,可以用来检测程序当前的运行地址在哪里
  • ldr加载的地址和链接时给定的地址有关,由链接脚本决定

相关文章

  • 17 ARM汇编伪指令

    伪指令的意义 伪指令不是指令,伪指令和指令的根本区别是经过编译后不会生成机器码 伪指令的意义在于知道编译过程 伪指...

  • 2018-07-13

    Androguard 安装 使用 ARM汇编 汇编指令 伪指令 伪操作 .arch 框架.fpu 协处理器类型 $...

  • ARM汇编伪指令详解

    我们做一些操作会有一点麻烦,比方进行一个if then的判断操作。比如要比较a>b,则去调用某个函数,这就要先去比...

  • 2018-07-14

    ARM汇编 注记符号 指令助记符 伪指令常量 EQU 相当于 C中的 #Define 变量 这些声明具...

  • 伪指令LDR和ADR的分析

    Q:为什么要进行分析? A:伪指令在arm汇编中占有非常重要的地位,通常可以帮助我们在进行汇编编程的时候简化编程难...

  • ARM64汇编入门 - 汇编基础

    ARM64汇编入门 - 汇编基础ARM64汇编入门 - 汇编基础

  • iOS逆向学习(arm64汇编入门)

    iOS汇编 iOS汇编语音有很多钟。常见的有8086汇编、arm汇编、x86汇编等等。 arm汇编 iOS的架构从...

  • 代码还原的技术 ARM汇编入门教程(一) Hello World

    一、目标 为什么要学ARM汇编? 不为什么。 学了ARM汇编有用吗? 没啥用 学完ARM汇编能找到工作吗? 目前流...

  • 翻译一篇IoT安全的文章

    ARM汇编基础教程(ARM汇编简介) [原文链接] :https://azeria-labs.com/writin...

  • ARM64汇编学习笔记一(初始汇编)

    ARM64汇编学习笔记一(初始汇编)

网友评论

      本文标题:17 ARM汇编伪指令

      本文链接:https://www.haomeiwen.com/subject/flqqlctx.html