机器编程
处理器和架构集的历史
Inter x86处理器
精简指令集计算机RISC (Reduced instruction set computer)
复杂指令集计算机 CISC(Complex instruction set computer)
RISC出现前,称以前的指令集为CISC(是一种嘲讽)
C, 汇编,机器码
- c源文件(.c) – 编译器(Compiler)–> 汇编文件(.s) –汇编器 (Assembler)–>目标文件(.o)–链接器(Linker) + 静态库(Static libraries)–> 可执行文件
将c源文件转化成汇编
1 | gcc -Og -S 指针.cpp |
机器指令示例:
- C语言
1 | *dest = t; |
- 汇编
1 | movq %rax, (%rbx) |
t: %rax
dest: %rbx
*dest: M[%rbx]
- 指令编码
1 | 0x40059e: 48 89 03 |
3byte指令
指令存储在0x40059e处