【小白向教程】机器语言到底是怎么回事

编程语言从低到高可以分成三种:
机器语言-汇编语言-高级语言
物理层电路:

图1:一个处理器的具体电路。(简化版的处理器)
架构

1X86架构 大部分电脑上,个人计算机上使用的
(比如英特尔处理器,AMD处理器)
AM架构 一般智能手机上使用的比较多
(比如安卓和苹果手机)
MIPS结构 国内自主研发的处理器
(比如龙芯处理器)
CISC ,RISC代表指令集的复杂程度
CISC 代表复杂指令集(几百条指令)
RISC代表精简指令集(几十条)


图2
图2解读
1、第一个表格
OP=op code(指令类型)
告诉机器执行相应的电路操作。(长度6位)
rs,rt代表操作数(相当于高级语言中的参数)
rd代表目的操作数,相当于函数中的返回值
shamt代表移位操作,代表的是0
(一般R类型指令中不会用到)
func代表R类型中具体是哪一种
2、两个个表格中的数字
add(加法指令)S0代表寄存器的名字
add $s0.$s1,$s2 指令意思是S0=S1+S2
转换成二进制指令是 000000 10001 10010 10000 00000 100000
3、表格2
所有R类型的表对应的操作码
机器语言就是一个32位的一串数字,把它分割开来,每一段有特定的意义。
每条机器语言都是和汇编语言一一对应的关系。
一条汇编语言可以写成一条机器语言指令,一条高级语言必须写成多条汇编语言,多条机器语言指令