i386平台和x86_64平台机器代码的区别
By Qianghaohao
说明:
在此i386(IA32)指的是Intel32位处理器上硬件和GCC代码的组合.
x86_64指代在AMD和Intel的较新的64位处理器上运行的硬件和GCC代码的组合.
x86-64代码与i386机器生成的代码有极大的不同.主要内容如下:
1.指针和长整型数是64位长.整数算术运算支持8,16,32,和64位数据类型.
2.通用寄存器组从8个扩展到16个.
3.许多程序状态都保存在寄存器中,而不是在栈上.整型和指针类型的过程参数(最多6个)通过
寄存器传递.有些过程根本不需要访问栈. <