C语言MIPS指令翻译成机器码,计算机指令

在软硬件接口中,CPU帮我们做了什么?

从硬件角度来看, CPU就是一个超大规模集成电路,通过电路实现了加法,乘法乃至各种各样的处理逻辑。

从软加工程师的角度来讲,CPU就是一个执行各种计算机指令(Instruction Code)的逻辑机器。这里的计算机指令,就好比一门CPU能够听懂的语言,我们把它叫做机器语言(Machine Language)

不同的CPU能够听懂的语言不太一样。比如我们个人电脑用的Intel的CPU,苹果手机用的是ARM的CPU。类似这样两种CPU各自支持的语言,就是两组不同的计算机指令集(Instruction set)

一个计算机程序,不可能只有一条指令,而是由成千上万条指令组成的。但是CPU里不能一直放着所有指令,所以计算机程序平时是存储在存储器中的。这种指令存储在存储器里面的计算机,我们就叫做存储程序型计算机

从编译到汇编,代码怎么变成机器码?

//test.c

intmain()

{int a = 1;int b = 2;

a= a +b;

}

要让这段程序在一个Linux操作系统上跑起来,我们需要把整个程序翻译成一个汇编语言(ASM,Assembly Language)的程序,这个过程我们一般叫编译(Compile)成好汇编代码。

针对汇编代码,我们可以再用汇编器(Assembler)翻译成机器码(Machine Code)。这些机器码由“0”和“1”组成的机器语言表示。这一条条机器码,就是一条条的计算机指令。这样一串串的16进制数字,就是我们CPU能够真正认识的计算机指令

在一个Linux操作系统

你可能感兴趣的:(C语言MIPS指令翻译成机器码)