语言发展史
一、机器语言
CPU可以直接读取的指令,又称为原生码。
机器语言是唯一计算机可以直接识别与执行的一种语言,是复杂而有规律的二进制指令集合。
什么是二进制?
二进制就是0和1
二进制是世界上第一台计算机用的算法,计算机里有一个个灯泡,当运算的时候,比如要表达“1”,第一个灯泡会亮起来。要表达“2”,则第一个灯泡熄灭,第二个灯泡就会亮起来,用0与1记录灯泡的熄亮。
例1:指令为1011011000000000,它表示让计算机进行一次加法操作;前八位表示操作码,而后八位表示地址码。这种机型可包含256(=28)个不同的指令。
例2:0000000111011000我们解释一下:寄存器AX和BX的内容相加,结果存储于AX
这由两个字节组成:
第一个字节:头6位000000为操作码,表示“相加”的意思;
第7位0表示第二个字节中的头2位及后3位为目的操作数的寻址方式,其余3位为源操作数的寻址方式;
第8位1表示为字运算。
第二个字节:头2位11及后3位000表示操作数位寄存器AX;其余3位011表示另一个操作数为BX
感兴趣的同学,请自行查找资料深入了解。
注意:
机器语言对不同型号的计算机来说一般是不同的,所以又称为面像机器的语言。例如计算机字长为16位,就会有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,计算机执行各种不同的操作。
机器语言的特点:
1、难记、难学、难理解
2、可读性差
3、开发周期长、效率低、易出错,不易移植,重用性差
4、强专业要求
优点:CPU直接识别,运算速度快,执行效率快,存储占用少
二、汇编语言:
助记符表示指令功能的计算机语言,又称为符号语言。
用机器语言开发简单是磨难,为了结束掉这种痛苦,聪明的人类发明了汇编语言。用符号来表达,让人类更加容易理解,便于记忆。
汇编的在计算机中的执行:
汇编指令---->编译器---->机器码--->计算机执行
例如:10与var指示的内存中的一个byte的值相加,并将结果保存在var指示的内存中
addeax,10-EAX←EAX10
addBYTEPTR[var],10-
汇编语言也是低级语言,它还是面像机器的语言,依赖于硬件,有多少种CPU就有多少种汇编语言
汇编语言优点:
1、保持机器语言的一致性,可以访问所有能够被访问的软、硬件资源。
2、高速度和高效率,内存占用少。
汇编语言缺点:
1、不同的处理器有不同的汇编语言语法和编译器,编译程序无法在不同的处理器上执行,缺乏可移值性。
2、难以调试,容易产生BUG
3、使用汇编对于CPU必须非常了解,特定CPU特定优化。开发周期长,效率低。