MCS-51系列单片机指令系统分类
计算机的许多功能都是由程序实现,而程序是由指令编写而成,所以熟悉并掌握单片机的指令是非常重要的。为了便于学习,常把指令分成许多类型。51系列单片机共有111条指令,这些指令的集合称为指令系统。常用的分类方式有以下几种。
按寻址方式分为以下七种:
1、立即寻址
2、直接寻址
3、寄存器寻址
4、寄存器间接寻址
5、相对寻址
6、变址寻址
7、位寻址
按功能分为以下四种
1、数据传送指令
2、算术、逻辑运算指令
3、控制转移类指令
4、位操作指令(布尔指令)
若按字节又可分为单字节指令、双字节指令和三字节指令。
指令格式
MCS-51单片机采用汇编语言指令,一条汇编语言的语句最多包括四部分:标号、操作码、操作数和注释,其结构为:
标号: 操作码 操作数; 注释
(1)标号位于语句的开始,由字母和数字组成,它代表该语句的地址。标号必须由字母打头,冒号结束。字母和数字的总数不应超过一定数量,一般标号不能为助记符。标号不是语句必要的组成部分。
(2)操作码在标号之后,是指令的助记符,表示语句的性质,是语句的核心。没有标号时,它作为语句的开始。
(3)操作数在操作码之后,二者用空格分开。操作数既可以是数据,也可以是地址,且必须满足寻址方式的规定。有多个操作数时,操作数之间用“,”分开。
指令中的常数可以是十进制、十六进制或二进制,具体格式如下:
二进制常数以B结尾,如:10100011B;
十六进制常数以H结尾,如:65H、0F1H;
十进制常数以D(可以省略)结尾,如:65D或65;
字符串常数用‘’表示,如‘A’表示A的ASCII码。
(4)注释在语句的最后,以“;”开始,是说明语句的功能和性质的文字。
例:
START:MOV A,#30H ;A←30H
START为标号,它以“:”结束,表示该指令的地址;MOV为用助记符表示的操作码,表示指令的功能为数据传送;A和#30H操作数;A←30H则为注释,它以“;”开始,说明这条语句的功能。
说明:1)指令格式中带方括号项不是每条指令必有,可有可无,称为可选项。
2)标号项不是每条指令都有,根据程序要求而设置。
指令中常用符号说明
下面根据指令的功能特性分类介绍。在介绍指令之前,先说明指令中一些常用的符号:
Rn——当前寄存器区的8个工作寄存器R0~R7(n=0~7)
Ri——当前寄存器区可作地址寄存器的2个工作寄存器R0和R1(i=0,1)
direct——8位内部数据存储器单元的地址及特殊功能寄存器的地址
#data——表示8位常数(立即数)
#datal6——表示16位常数
add16——表示16位地址
addrll——表示11位地址
rel——8位带符号的地址偏移量
bit——表示位地址
@——间接寻址寄存器或基址寄存器的前缀
( )——表示括号中单元的内容
(( ))——表示间接寻址的内容