1、IA-32是啥?
从1985年80386开始,intel通过对x86架构进行32位的扩展,实现了32位CPU,而之前的都是16位。Intel把支持32位的 x86指令集架构命名为ia-32
2、i3-86、x86-64都是些啥?
-
x86架构首度出现在1978年推出的Intel 8086中央处理器. -
1999年,AMD宣布了x86-64架构。其实 现方式与之前的80386思路一致,继续对IA-32扩展,增加64位通用寄存器… -
i386=Intel 80386。其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称。 -
为什么存在.code16, .code32,但是使用的方法编译好像又是一样的? .code16是32位以前的汇编语法,.code32是32位的汇编语法,编译都使用as -32 是因为32位是兼容16位的。
3、指令集、Inter和AT&T汇编语法区别
- x86(IA-32)、x86-64指令集(常见于PC端),对应有2家公司发布的不同汇编语言规范:
~intel公司发布的汇编语言规范,称intel 汇编:Windows派系(Microsoft),比较著名的汇编器有微软的masm和开源的nasm。 ~AT&T公司发布的汇编语言规范,称AT&T 汇编:Unix派系(或者说GNU),比如g++编译器等。 - ARM指令集(常见于嵌入式、移动端设备,粗略统计覆盖95%左右的手段):ARM公司发布的汇编语言规范,称ARM 汇编(目前常见的是ARM 64汇编)
|