三、汇编代码示例对比
C代码片段
int add(int a, int b) {
return a + b;
}
生成的x86-64汇编(GCC 14.0)
add:
pushq %rbp
movq %rsp, %rbp
movl %edi, -4(%rbp) ; 参数a存入栈
movl %esi, -8(%rbp) ; 参数b存入栈
movl -4(%rbp), %edx
addl -8(%rbp), %edx ; 执行a+b
movl %edx, %eax ; 结果存入eax(返回值寄存器)
popq %rbp
ret
|