机器码
一组特定硬件(不光是计算机,手机、嵌入式系统等)能够执行的代码,它是由0和1组成的二进制序列。
不同的硬件平台,执行同一个操作,对应的机器码可能不同
指令
由于机器码是有0和1组成的二进制序列,可读性实在太差,于是人们发明了指令。
指令就是把机器码中特定的0和1序列,简化成对应的指令(一般为英文简写,如mov,inc等),可读性稍好
由于 不同的硬件平台,执行同一个操作,对应的机器码可能不同,所以 不同的硬件平台的同一种指令(比如mov),对应的机器码也可能不同。
指令集
不同的硬件平台,各自支持的指令,是有差别的。因此每个平台所支持的指令,称之为对应平台的指令集。 如常见的
- x86指令集,对应的是x86架构的平台
- ARM指令集,对应的是ARM架构的平台
汇编语言
由于 指令 的可读性还是太差,于是人们又发明了汇编语言。
在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label) 代替指令或操作数的地址。
在不同的硬件平台,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
三者关系
简单理解就是
- 每一种硬件平台对应一种机器码
- 每一种机器码对应一套指令集
- 每一套指令集对应一种汇编语言