机器语言

1.什么是机器语言[1]

  机器语言是指计算机硬件能够直接识别的指令的集合,是最早出现的计算机语言。机器语言从属于硬件设备。不同的计算机设备有不同的机器语言.所以机器语言是一种面向机器的语言。

2.机器语言的特点[2]

  计算机指令系统中的指令是由“0”和“1”两种符号组成的代码,并且能被机器直接理解执行,它们被称为机器指令。一个计算机的机器指令的集,就构成了该计算机的机器语言,即计算机可以直接接受、理解的语言。

3.机器语言的优点[2]

  1、能利用机器指令精准地描述算法,且编程质量高。

  2、所占存储空间小。

  3、执行速度快。

4.机器语言的缺点[2]

  1、难记、难读、难修改。

  用机器语言编写程序时,要记住每一条“0”和“l”代码串所表示的指令及功能,写出全部用“0”和“1”代码串组成的程序。这种程序直观性很差,容易出错,阅读检查和修改调试非常困难。

  2、需要人工分配内存。

  使用机器语言编写程序时,需要指明存储器中哪些单元存放程序,哪些单元存放数据,对系统不熟悉的用户很难编写程序。

  3、程序通用性差。

  由于不同类型计算机的指令系统不同,机器语言也不同。如果把用mM-Pc机器语言编制的程序直接拿到其他计算机上,就无法运行出需要的结果。因此,机器语言是一种面向机器的低级语言。

5.机器语言的指令格式[3]

  机器语言指令是一种二进制代码,由操作码和操作数两部分组成。操作码规定了指令的操作,是指令中的关键字,不能缺省。操作数表示该指令的操作对象。

  MCS一51系列单片机的指令,按指令长度可分为单字节指令,双字节指令和三字节指令三种,分别占用1—3个存储单元。机器指令的格式如图1-1所示,图中N表示地址。

Image:不同长度的指令.jpg

图1-1 不同长度的指令

       1、单字节指令

  操作码本身就隐含了操作数的信息,不需再加操作数。

  例如,汇编语言指令

Image:单字节指令.jpg

  指令的机器码为:Image:单字节指令机器码.jpg

  其中rrr=000~111,指出选用的工作寄存器Rn(n=0~7)。

  2、双字节指令

  首字节为操作码,第二个字节为操作数或操作数地址。

  例如,汇编语言指令

Image:双字节指令.jpg

  指令的机器码为:Image:双字节指令机器码.jpg

  其中,第一个字节表示操作码以及目的操作数Rn,第二个字节表示源操作数direct。

  3、三字节指令

  首字节为操作码,后两个字节为操作数或操作数地址。

  例如,汇编语言指令

Image:三字节指令1.jpg

  指令的机器码为:Image:三字节指令机器码.jpg

  又如,汇编语言指令

Image:三字节指令2.jpg

  指令的机器码为:Image:三字节指令机器码.jpg