美文网首页安全攻防
学习汇编 -- 汇编基础

学习汇编 -- 汇编基础

作者: cochn | 来源:发表于2017-07-13 17:50 被阅读81次

###机器语言
计算机语言大致分三类:计算机语言、汇编语言、高级语言。

  • 计算机语言:由0和1组成的机器指令
  • 汇编语言:使用符号代替机器语言,也称为符号语言
  • 高级语言:更加接近人类自然语言,如c/c++/Java/OC/Swift

三者的编译关系

image.png
  • 高级语言通过编译器得到汇编语言/机器语言
  • 同一种高级语言用不同的编译器可能得到不同的汇编语言,不同的高级语言也有可能得到相同的汇编语言,所以汇编语言很难反编译成高级语言
  • 汇编语言与机器语言一一对应,每一条机器指令都有与之对应的汇编指令
  • 由于汇编语言与机器语言一一对应的关系,机器语言可以反汇编成汇编语言

汇编语言的特点

  • 可以直接操作硬件设备,如储存器,CPU
  • 目标代码简短,占用内存少,执行速度快
  • 汇编指令是机器指令的助记符,同机器指令一一对应。每一种CPU都有自己的机器指令集\汇编指令集,所以汇编语言不具备可移植性

汇编语言的使用

  • 工具开发:可以实现AOT/JIT编译、native调试器、内存/性能剖析工具等。
  • 性能优化:有些特定场景,需要通过汇编调用CPU的专用硬件指令进行优化
  • 分析问题:单步跟踪某些问题的时候,需要能够看懂一些汇编语句来分析程序真正执行的流程

汇编语言的种类

  • 目前讨论比较多的汇编语言有

    • 8086 汇编
    • Win32汇编
    • Win64汇编
    • ARM汇编
  • iPhone用到的汇编是ARM汇编

架构 设备
armv6 iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Touch
armv7 iPhone3GS, iPhone4, iPhone4S,iPad, iPad2, iPad3(The New iPad), iPad mini, iPod Touch 3G, iPod Touch4
armv7s iPhone5, iPhone5C, iPad4(iPad with Retina Display)
arm64 iPhone6s , iphone6s plus,iPhone6, iPhone6 plus,iPhone5S ,iPad Air, iPad mini2

字和字节

 *   字:一个字由两个字节组成,分为高字节和低字节
 *   字节:byte,一个字节由8bit组成

相关文章

网友评论

    本文标题:学习汇编 -- 汇编基础

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