
第3章MCS-51单片机指令系统 第3章MCS-51单片机指令系统 本章要点: ■指令格式、指令表示方法 ■指令种类以及寻址方式 ■数据传送类、算术运算类指令 ■控制转移类、位操作类指令
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 第3 章MCS-51单片机指令系统 本章要点: ◼指令格式、指令表示方法 ◼指令种类以及寻址方式 ◼数据传送类、算术运算类指令 ◼控制转移类、位操作类指令

第3章MCS-51单片机指令系统 3.1MCS一51单片机指令格式和寻址方式 3.1.1指令系统概述 通过第二章的学习,读者已经了解了单片机的内部结 构,但是完善的计算机系统包括硬件系统和软件系统, 因此要使用单片机还需要学习单片机的指令系统。指令 是计算机执行某些操作的命令,CPU所能执行的全部指 令的集合就构成了指令系统。通常我们设计的程序实际 上就是为了某种具体应用而按一定顺序组织在一起的指 令序列,所以指令系统是编程的基础,掌握指令的格式、 功能和使用是非常重要的。 通常来说,微机的寻址方式和指令越丰富、指令执 行速度越快、占用存储空间越小,该机型的性能就越强。 所以指令系统是体现计算机功能的重要指标之一
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 3.1 MCS-51单片机指令格式和寻址方式 3.1.1 指令系统概述 通过第二章的学习,读者已经了解了单片机的内部结 构,但是完善的计算机系统包括硬件系统和软件系统, 因此要使用单片机还需要学习单片机的指令系统。指令 是计算机执行某些操作的命令,CPU所能执行的全部指 令的集合就构成了指令系统。通常我们设计的程序实际 上就是为了某种具体应用而按一定顺序组织在一起的指 令序列,所以指令系统是编程的基础,掌握指令的格式、 功能和使用是非常重要的。 通常来说,微机的寻址方式和指令越丰富、指令执 行速度越快、占用存储空间越小,该机型的性能就越强。 所以指令系统是体现计算机功能的重要指标之一

第3章MCS-51单片机指令系统 MCS-51单片机的指令系统具有占用存储空间小、 指令运行时间短、指令类型丰富的特点。系统共有111 条指令,其中单字节指令49条,双字节指令46条,三 字节指令16条。按指令实现的功能来分,可分为数据传 送类指令、算术运算类指令、逻辑运算类指令、控制转 移类指令和布尔位操作类指令。在MCS-51系列单片机 的指令系统中,64条指令的执行时间为1个机器周期, 45条指令需要2个机器周期的执行时间,2条指令的执 行时间需要4个机器周期。若单片机外接晶振频率为 24MHZ时,64条指令的执行时间为0.5μs,45条指令的 执行时间为1μs,2条指令的执行时间为2μs
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 MCS-51单片机的指令系统具有占用存储空间小、 指令运行时间短、指令类型丰富的特点。系统共有111 条指令,其中单字节指令49条,双字节指令46条,三 字节指令16条。按指令实现的功能来分,可分为数据传 送类指令、算术运算类指令、逻辑运算类指令、控制转 移类指令和布尔位操作类指令。在MCS-51系列单片机 的指令系统中,64条指令的执行时间为1个机器周期, 45条指令需要2个机器周期的执行时间,2条指令的执 行时间需要4个机器周期。若单片机外接晶振频率为 24MHZ时,64条指令的执行时间为0.5μs,45条指令的 执行时间为1μs,2条指令的执行时间为2μs

第3章MCS-51单片机指令系统 3.1.2MCS-51单片机指令格式 MCS-51系列单片机的指令具有两种格式:机器语言指令格式 和汇编语言指令格式(也称为助记符格式)。其中汇编语言指令格式 是当前用户主要使用的格式,后面的章节将对其做详细介绍。用 汇编语言指令编写完程序后,由汇编程序将汇编语言源程序汇编 成由二进制代码构成的机器语言程序。 1.机器语言指令格式 MCS-51指令系统的机器语言指令是用计算机能够直接识别的 二进制代码表示指令。有单字节指令、双字节指令和三字节指令 三种表示形式,它们分别占用1~3个存储单元。在微型机中,一般 不同的指令用不同的长度来表示,但每条指令都是字节的整数倍
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 3.1.2 MCS-51单片机指令格式 MCS-51系列单片机的指令具有两种格式:机器语言指令格式 和汇编语言指令格式(也称为助记符格式)。其中汇编语言指令格式 是当前用户主要使用的格式,后面的章节将对其做详细介绍。用 汇编语言指令编写完程序后,由汇编程序将汇编语言源程序汇编 成由二进制代码构成的机器语言程序。 1.机器语言指令格式 MCS-51指令系统的机器语言指令是用计算机能够直接识别的 二进制代码表示指令。有单字节指令、双字节指令和三字节指令 三种表示形式,它们分别占用1~3个存储单元。在微型机中,一般 不同的指令用不同的长度来表示,但每条指令都是字节的整数倍

•第3章MCS-51单片机指令系统 指令由两部分组成:操作码和操作数 操作码 操作码 第一操作数 操作码 操作数 第二操作数 单字节指令 字节指令 三字节指令
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 单字节指令 字节指令 三字节指令 操作码 操作码 第一操作数 操作数 第二操作数 操作码 指令由两部分组成:操作码和操作数

第3章MCS-51单片机指令系统 可见,单字节指令只有操作码部分,当指令操作的对象和内 容明确时,无须另加操作数字节,此时操作码隐含了操作数的信 息。例如,汇编语言指令NC DPTR的功能是使数据指针DPTR的 内容加1,是一条一字节指令,它的机器语言指令格式为: 10100011。 双字节指令的第一个字节为操作码,第二个字节为操作数本身 或操作数的地址。例如,汇编语言指令ADDA,O6H就是一个双 字节指令,它的功能是使累加器的内容与数据06H相加,结果再 存入累加器A中。表示成机器语言指令格式则为: 11000110 操作码:指明了累加的意义 操作数:操作的对象06H 00000110
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 可见,单字节指令只有操作码部分,当指令操作的对象和内 容明确时,无须另加操作数字节,此时操作码隐含了操作数的信 息。例如,汇编语言指令INC DPTR的功能是使数据指针DPTR的 内容加1,是一条一字节指令,它的机器语言指令格式为: 10100011。 双字节指令的第一个字节为操作码,第二个字节为操作数本身 或操作数的地址。例如,汇编语言指令ADD A,#06H就是一个双 字节指令,它的功能是使累加器的内容与数据06H相加,结果再 存入累加器A中。表示成机器语言指令格式则为: 11000110 00000110 操作码:指明了累加的意义 操作数:操作的对象06H

第3章MCS-51单片机指令系统 与双字节指令相同,三字节指令的第一个字节为 操作码,表明指令的性质。其余两个字节为操作数或 操作数的地址。例如,汇编语言指令MOV30H,40H 就是一条三字节指令,它的功能是将40H单元的内容传 送到30H单元中。用机器语言指令方法表示则为: 1000010101000000 0011000 操作码第一操作数第二操作数
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 与双字节指令相同,三字节指令的第一个字节为 操作码,表明指令的性质。其余两个字节为操作数或 操作数的地址。例如,汇编语言指令MOV 30H,40H 就是一条三字节指令,它的功能是将40H单元的内容传 送到30H单元中。用机器语言指令方法表示则为: 10000101 01000000 0011000 操作码 第一操作数 第二操作数

第3章MCS-51单片机指令系统 2.汇编语言指令格式 所谓汇编语言指令表示法,就是用表示指令功能的助记符形 表示指令。与机器语言指令相同,也分为单字节指令、双字节指令 和三字节指令三种表示形式。例如,实现上述运算的三条指令NC DPTR;ADDA,O6H;MOV30H,40H都是汇编语言指令格式, 分别为单字节、双字节和三字节指令。显然,用汇编语言格式表示 指令更方便于用户的理解、使用、记忆和书写。 其具体的格式表示如下: [标号:]操作码[操作数1]儿,操作数2,操作数3[;注释] 其中,方括号内为可选项。各部分之间必须用界定符隔开,即 标号要以分号“;”结尾,操作码和操作数之间要有一个或多个空 格,操作数和操作数之间用“,”分隔。注释开始之前要加“;” 例如,LOOP:MOVA,#40H;给累加器A赋值 标号:操作码操作数注释
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 2.汇编语言指令格式 所谓汇编语言指令表示法,就是用表示指令功能的助记符形式 表示指令。与机器语言指令相同,也分为单字节指令、双字节指令 和三字节指令三种表示形式。例如,实现上述运算的三条指令INC DPTR;ADD A,#06H;MOV 30H,40H都是汇编语言指令格式, 分别为单字节、双字节和三字节指令。显然,用汇编语言格式表示 指令更方便于用户的理解、使用、记忆和书写。 其具体的格式表示如下: [标号:] 操作码 [操作数1][,操作数2][ ,操作数3][;注释] 其中,方括号内为可选项。各部分之间必须用界定符隔开,即 标号要以分号“;”结尾,操作码和操作数之间要有一个或多个空 格,操作数和操作数之间用“,”分隔。注释开始之前要加“;”。 例如,LOOP: MOV A,#40H ;给累加器A赋值 标号: 操作码 操作数 注释

•第3章MCS-51单片机指令系统 (1)标号 标号表示该指令位置的符号地址。在程序汇编时,汇编程序 将把标号所指的指令语句目标码首字节的存储单元地址值赋给标 号,因此标号可作为地址或数据在其他指令的操作数段引用。标 号是可选项,只有在用到转移指令或子程序调用等程序需要的时 候才设置。 标号是由英文字母开头的1~8个字母或数字组成的字符串。 如果长度超出,汇编程序将截去超出部分。注意标号以分号“: 结尾,不能使用指令助记符、寄存器名等关键字作为标号。另外 标号不能重复定义
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 (1)标号 标号表示该指令位置的符号地址。在程序汇编时,汇编程序 将把标号所指的指令语句目标码首字节的存储单元地址值赋给标 号,因此标号可作为地址或数据在其他指令的操作数段引用。标 号是可选项,只有在用到转移指令或子程序调用等程序需要的时 候才设置。 标号是由英文字母开头的1~8个字母或数字组成的字符串。 如果长度超出,汇编程序将截去超出部分。注意标号以分号“:” 结尾,不能使用指令助记符、寄存器名等关键字作为标号。另外, 标号不能重复定义

第3章MCS-51单片机指令系统 2)操作码 同机器语言指令一样,操作码指出了指令操作的性质,在 汇编语言指令中用能够表示指令功能的英文缩写表示。例如: MOV move的缩写,表示传送 RL rotate left的缩写,表示左循环 ANL and logic的缩写,表示与逻辑运算 XCH exchange的缩写,表示交换
••第第34章章 MCS 中文-Excel 2000 51单片机指令系统 的使用 2)操作码 同机器语言指令一样,操作码指出了指令操作的性质,在 汇编语言指令中用能够表示指令功能的英文缩写表示。例如: MOV______move的缩写,表示传送 RL ____ __rotate left的缩写,表示左循环 ANL______and logic的缩写,表示与逻辑运算 XCH______exchange的缩写,表示交换