平时使用高级语言编写的程序通过编译器编译链接成计算机识别的可执行文件。从编写的代码程序转成到机器指令并不是一步生成的,中间先生成汇编指令。汇编指令跟机器指令是一一对应的。

汇编语言

不同CPU有着指令集,因此对应的汇编指令也是不同,汇编种类主要分为:

  • 8086汇编(16bit CPU)
  • x86汇编 (32bit CPU)
  • x64汇编 (64bit CPU)
  • ARM汇编 (嵌入式、移动设备)

目前CPU都是64位,x64汇编根据编译器的不同,有着2中书写格式

  • Intel
  • AT&T

X64汇编- 寄存器

寄存器在CPU内部的硬件,跟内存一样用来存储数据的。CPU对数据的读写操作并不是直接操作内存,而是通过总线进行寻址读入内存放到寄存器。

x64汇编寄存器

通过IDE编写一个简单的代码反编译查看对应汇编

1
2
3
4
5
6
int main() {
int a = 10;

getchar()
return 0;
}

X64汇编指令

x64汇编常见的指令·