机器语言、汇编语言和高级语言比较一览表名称特点缺点优点适用场合机器语言用机器码书写指令不易被人们识别和读写。难写、难读、难交流计算机可以直接识别和执行无汇编语言用符号书写指令(用助记符表示操作码,特殊符号表示操作数)机器不能直接识别;程序员必须了解机器的结构和指令系统,不易推广和普及;不能移植,不具备通用性易为人们识别、记忆和读写实时控制系统高级语言用以英语为基础的语句编程机器不能直接识别;执行时间长易于推广和交流;不依赖于机器,具有通用性科学运算和数据处理1、高级语言程序转换为机器语言程序的过程称为编译过程,通过编译程序实现。2、汇编语言源程序转换为机器语言目的程序的过程称为汇编过程,通过手工查表或汇编程序实现。3、用汇编程序将汇编语言源程序转换为机器语言时,汇编语言源程序的格式必须正确,程序员还要了解伪指令。3.1汇编语言指令格式一、汇编语言指令格式标号又称为指令地址符号,一般由1-6个符组成,以字母开头的字母数字串。如:START、LOOP、NEXT、MAIN操作码用51单片机所规定的助记符来表示,它命令CPU作何种操作。如:MOV、ADD、ORL等。[标号]:操作码[操作数];[注释]操作数分为目的操作数和源操作数,常用符号(如寄存器、标号)、常量(如立即数、地址值等)来表示。操作码和操作数之间用若干空格分隔,而目的操作数和源操作数之间用逗号分隔。[标号]:操作码[操作数];[注释]目的操作数,源操作数注释是对该指令作用或功能的说明,以便于阅读,不参与编译(可有可无,不是必备的)。注释部分前一定要用分号“;”隔开。字长时间单字节指令49条1个机器周期指令64条双字节指令45条2个机器周期指令45条三字节指令17条4个机器周期指令2条C51总共有111条指令:二、C51指令分类数据传送类指令(29条)算术运算类指令(24条)逻辑运算类指令(24条)控制转移类指令(17条)位操作类指令(17条)从操作性质来看三、指令中的符号Rn(n=0-7):当前选中的工作寄存器组R0-R7。Ri(i=0,1):作为地址指针的两个工作寄存器R0,R1。#data:8位立即数。#data16:16位立即数。direct:8位片内RAM单元(包括SFR)的直接地址。addr11:11位目的地址,用于ACALL和AJMP指令中。addr16:16位目的地址。用于LCALL和LJMP指令中。rel:补码表示的8位地址偏移量。范围:-128-+127D。bit:片内RAM或SFR的直接寻址位地址。@:间接寄存器的符号。/:位操作指令中对该位先取反再参与操作,不影响原值。(×):×中的内容。((×)):×指出的地址单元中的内容,即间接寻址的单元中的内容。→:指令操作流程方向。