技术中心
 
 

MCS-51指令简介

   日期:2012-09-18     来源:互联网    
核心提示:计算机的许多功能都是由程序实现,而程序是由指令编写而成,所以熟悉并掌握单片机的指令是非常重要的。为了便于学习,常把指令分成许多类型。51系列单片机共有111条指令,这些指令的集合称为指令系统。

  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——表示位地址

  @——间接寻址寄存器或基址寄存器的前缀

  ( )——表示括号中单元的内容

  (( ))——表示间接寻址的内容

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢