文章目录
- 高级语言
- 机器语言
- 解析步骤
高级语言
我们随便写一个高级语言
int a=2,b=3,c=1,y=0;
void main(){
y=a*b+c;
}
将它编译装入主存 机器语言表示就是这样子的形式:
机器语言下图的存储字长=16bit
上一条指令取指后PC自动+1,(PC)=1;执行后,(ACC)=2(a=2)
#1:(PC) → MAR,导致(MAR)=1
#3:M(MAR) → MDR,导致(MDR)=000100 0000000110
#4:(MDR) → IR,导致(IR)= 000100 0000000110
#5:OP(IR) → CU,指令的操作码送到CU, CU分析后得知,这是“乘法”指令
#6:Ad(IR) → MAR,指令的地址码送到MAR,导致(MAR)=6
#8:M(MAR) → MDR,导致(MDR)=0000000000000011
=3
#9:(MDR) → MQ,导致(MQ)=0000000000000011
=3
#10:(ACC) → X,导致(X)=2
#11:(MQ)*(X) → ACC,由ALU实现乘法运算,导致(ACC)=6,如果乘积太大,则需要MQ辅助存储