1.指令集的概念不同公司设计的CPU,指令集一般也不同,比如Intel 和ARM,可以认为一种体系架构对应一套指令集,指令集的直观表现就是全部都是二进制的,贴个ARM汇编的指令集格式:
可以看到有多种指令,不同的指令每一位都对应不同的解释意义。
这种纯二进制的东西叫做机器码,有了机器码就有了汇编语言
2.汇编语言
在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。
3.汇编语言的格式
在PC机上,对于x86系列处理器,有AT&T汇编和INTEL汇编两种语法格式。这两种格式的汇编,有指令大小写、操作数赋值方向、前缀、后缀、寻址方式等区别。因为是一类处理器,X86系列,指令集是一样的,即机器码是一样的,只是用汇编代码表现出来的形式,由于不同的汇编语法格式而看起来不一样。
说到这里,因为Linux是属于GNU的,GNU代表了一种平台,一类开发环境,而GNU组织有自己的一套编译器,自己的汇编程序设计的语法格式,就是AT&T规范,一般称之为AT&T汇编。这个是和Intel汇编不同的。可以参考 第一的答案 刘天任的链接。