机器语言(Machine Language)
目录
|
机器语言是指计算机硬件能够直接识别的指令的集合,是最早出现的计算机语言。机器语言从属于硬件设备。不同的计算机设备有不同的机器语言.所以机器语言是一种面向机器的语言。
计算机指令系统中的指令是由“0”和“1”两种符号组成的代码,并且能被机器直接理解执行,它们被称为机器指令。一个计算机的机器指令的集,就构成了该计算机的机器语言,即计算机可以直接接受、理解的语言。
1、能利用机器指令精准地描述算法,且编程质量高。
2、所占存储空间小。
3、执行速度快。
1、难记、难读、难修改。
用机器语言编写程序时,要记住每一条“0”和“l”代码串所表示的指令及功能,写出全部用“0”和“1”代码串组成的程序。这种程序直观性很差,容易出错,阅读检查和修改调试非常困难。
2、需要人工分配内存。
使用机器语言编写程序时,需要指明存储器中哪些单元存放程序,哪些单元存放数据,对系统不熟悉的用户很难编写程序。
3、程序通用性差。
由于不同类型计算机的指令系统不同,机器语言也不同。如果把用mM-Pc机器语言编制的程序直接拿到其他计算机上,就无法运行出需要的结果。因此,机器语言是一种面向机器的低级语言。
机器语言指令是一种二进制代码,由操作码和操作数两部分组成。操作码规定了指令的操作,是指令中的关键字,不能缺省。操作数表示该指令的操作对象。
MCS一51系列单片机的指令,按指令长度可分为单字节指令,双字节指令和三字节指令三种,分别占用1—3个存储单元。机器指令的格式如图1-1所示,图中N表示地址。
图1-1 不同长度的指令
1、单字节指令
操作码本身就隐含了操作数的信息,不需再加操作数。
例如,汇编语言指令
指令的机器码为:
其中rrr=000~111,指出选用的工作寄存器Rn(n=0~7)。
2、双字节指令
首字节为操作码,第二个字节为操作数或操作数地址。
例如,汇编语言指令
指令的机器码为:
其中,第一个字节表示操作码以及目的操作数Rn,第二个字节表示源操作数direct。
3、三字节指令
首字节为操作码,后两个字节为操作数或操作数地址。
例如,汇编语言指令
指令的机器码为:
又如,汇编语言指令
指令的机器码为: