3.1 历史观点
Intel 处理器系列俗称 x86, 经历了一个长期的、不断进化的发展过程。
从第一代单芯片、 16 位微处理器之一——8086开始,处理器分别从:
1.增加位数:16-32-64
2.增加寻址模式
3.扩展指令集
4.提高对浮点数的处理能力,引入SSE、AVX
5.逐渐支持超线程以及多核
等方面进化发展。
3.2 程序编码
可使用gcc命令尝试阅读编译后.s文件中的汇编代码
gcc -Og -s test.c
使用objdump命令查看.o文件对应的反汇编代码,以及使用hexdump查看二进制文件
objdump -d test.out
hexdump -C test.out
GCC的默认是ATT汇编格式代码——与之前学习过的Intel代码格式不同:
注:pushq中的后缀“q”指quad,即四字大小 16*4=64bit;同理,后缀b指byte,w指word,l指2word
3.2.1 X86 体系结构
可参照:
x86 体系结构 - Windows drivers | Microsoft Learn
下表为寄存器的发展,可对照8086的寄存器学习记忆
3.2.2 x86-64汇编指令
在此不多赘述,可参照x86 指令 - Windows drivers | Microsoft Learn
3.3控制
未完待续...