mcs51单片机指令系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辑运算、转移操作、布尔运算等指令的功能;
掌握MCS-51指令系统的各种指令对寄存器资源的 占用情况。
00:41
张兴忠制作:www.zhangxz.net
返回目录
2
本章目录
第3章 MCS-51单片机指令系统
3.1 指令系统简介 3.1.1 指令系统的分类 3.1.2 指令格式 3.1.3 指令中的常用符号 3.1.4 寻址方式
MOV A, @R0 ;((R0))→A
指令功能为将R0所指出的内部RAM单元内容送入累 加器A中,执行过程如图所示。图中设R0=60H。
00:41
张兴忠制作:www.zhangxz.net
返回目录
23
3.1.4 寻址方式
-----寻址范围
寄存器间接寻址的寻址范围: 1) 内部低128字节单元(只能使用R0、R1作间址寄
此指令是将RAM中位寻址区20H位地址中的 内容,送给位累加器Cy。位寻址指令不同于字节 地址寻址指令,
例如:MOV A, 20H
00:41
张兴忠制作:www.zhangxz.net
返回目录
27
3.1.4 寻址方式
----位寻址的表示形式
1) 直接使用位地址 包括位寻址区的位地址00H~7FH和部分特殊功能寄
单片机原理与接口技术
第3章 MCS-51单片机 指令系统
电子工业出版社
制作 张兴忠
太原理工大学
修审 牛昱光
00:41
张兴忠制作:www.zhangxz.net
返回目录
1
本章教学要求
第3章 MCS-51单片机指令系统
熟悉MCS-51单片机指令系统的分类、格式; 熟悉MCS-51指令系统的七种寻址方式; 掌握MCS-51指令系统的数据传送、算术运算、逻
00:41
张兴忠制作:www.zhangxz.net
返回目录
28
3.1.4 寻址方式
00:41
张兴忠制作:www.zhangxz.net
返回目录
8
3.1.1 指令系统的分类
2.按指令执行时间分类 1) 单周期指令(65条) 2) 双周期指令(44条) 3) 四周期指令(2条)
-------按指令执行时间可分类
00:41
张兴忠制作:www.zhangxz.net
返回目录
9
3.1.1 指令系统的分类
张兴忠制作:www.zhangxz.net
返回目录
6
3.1 指令系统简介
-----特点
1) 指令执行时间短。只需1个机器周期的指令有64 条,2个机器周期的指令有45条,而4个机器周 期的指令仅有2条(既乘法和除法指令)。
2) 指令字节少。单字节指令有49条,双字节指令 有46条,三字节指令有16条。
-----直接寻址
2.直接寻址 直接寻址是将操作数的地址直接存放在指令中。
这种寻址方式的操作数指的是内部数据存储器中存 放数据的地址,或存放数据的一个特殊功能寄存器 地址。
例如:MOV A, 30H ;(30H)→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
18
3.1.4 寻址方式
00:41
张兴忠制作:www.zhangxz.net
返回目录
20
3.1.4 寻址方式
3.寄存器寻址
----寄存器寻址
寄存器寻址是指操作数存放在寄存器中,并 且寻址时的寄存器已隐含在指令的操作码中。
例如:MOV A, R5
00:41
张兴忠制作:www.zhangxz.net
返回目录
21
3.1.4 寻址方式
存器的位地址 。例如,PSW寄存器第2位的位地址为 D2H。 2) 位名称表示法
专用寄存器中的一些寻址位是有符号名的,对其进行 位寻址时可用其符号名,例如,PSW寄存器的第2位可 用OV表示。 3) 单元地址加位表示法
例如,2F单元的第1位,可表示为2FH.1。 再如,D0H单元(PSW)的第2位,可表示为D0H.2。
3) 位操作指令极为丰富,这体现了MCS-51单片机 具有面向控制的特点。
00:41
张兴忠制作:www.zhangxz.net
返回目录
7
3.1.1 指令系统的分类
-----按指令所占存储空间分类
MCS-51单片机能够识别并执行的指令共有111条。 按指令所占字节数、指令执行时间和指令功能进 行分类。 1.按指令所占字节数分类 1) 单字节指令(49条) 2) 双字节指令(46条) 3) 三字节指令(16条)
指令由操作码和操作数组成。操作码用来规定要执行的 操作的性质,操作数为指令的操作提供数据和地址。
1.指令的基本格式 [符号地址] : 操作码 [操作数1], [操作数2], [操作数3]; [注释]
其中符号地址和操作码之间用“:”作为分隔符,也可再 加上若干空格。操作码和操作数之间用空格作为分隔符。操 作数之间用“,”作为分隔符。注释之前用“;”作为分隔 符。
-----访问范围
直接寻址方式可访问的范围 1) 特殊功能寄存器。
这部分存储单元既可以用单元地址给出,也可 以用寄存器符号的形式给出。如:MOV A, 90H 或 MOV A, P1为同一条指令的两种写法(特殊功能寄 存器只能用直接寻址方式访问)。
2) 内部数据存储器的低128个字节单元。
直 接 以 单 元 地 址 的 形 式 给 出 [ 对 于 8032/8052 等 单片机,其内部高128字节RAM(80H~FFH)不 能用直接寻址方式访问]。
返回目录
5
3.1 指令系统简介
-----MCS-51汇编语言指令格式
操作码 [操作数1 [,操作数2]…] [;注释]
MCS-51单片机的汇编语言使用40多种助记符表 征30多种指令功能。MCS-51单片机能够识别并 执行的指令共有111条。这111条指令,构成了 MCS-51单片机的指令系统。
00:41
----寄存器寻址
寄存器寻址方式的寻址范围:
(1) 4个工作寄存器组共32个通用寄存器(在指令中 只能使用当前寄存器组)
(2) 部分特殊功能寄存器。如A,B,DPTR。
00:41
张兴忠制作:www.zhangxz.net
返回目录
22
3.1.4 寻址方式
----寄存器寻址
4.寄来自百度文库器间接寻址
寄存器间接寻址是指操作数据存放在以寄存器内 容为地址的单元中。如:
00:41
张兴忠制作:www.zhangxz.net
返回目录
4
3.1 指令系统简介
------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式, 如:75905B ,即数字格式。
另一种指令格式,即汇编指令格式, 如:MOV P1, #5BH
00:41
张兴忠制作:www.zhangxz.net
返回目录
16
3.1.4 寻址方式
-----立即寻址
1.立即寻址 立即寻址是将操作数直接写在指令中,作为
指令的一部分存放在代码段里,位置在程序存储 器中。立即寻址中的操作数,称为立即数。
例如:MOV A, #30H ;30H→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
17
3.1.4 寻址方式
3.按指令功能分类 1) 数据传送类指令(29条) 2) 算术运算类指令(24条) 3) 逻辑运算类指令(24条) 4) 控制转移类指令(17条) 5) 位操作类指令(17条)
------按指令功能分类
00:41
张兴忠制作:www.zhangxz.net
返回目录
10
3.1.2 指令格式
-----基本格式
MOVC A, @A+DPTR ;((A+DPTR))→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
25
3.1.4 寻址方式
----相对寻址
6.相对寻址
相对寻址是将程序计数器PC的当前值与指令第二 字节给出的偏移量相加,从而形成转移的目标地址。
例如:JC 80H ;C=1则跳转
00:41
返回目录
15
3.1.4 寻址方式
如何找到参与运算的操作数据或数据所在的 地址称为寻址方式。所以寻址方式是在地址范围 内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、 直接寻址、寄存器寻址、寄存器间接寻址、基址 加变址寻址、相对寻址和位寻址等七种。
00:41
张兴忠制作:www.zhangxz.net
功能寄存器SFR的地址,对SFR而言,既可使用 它的物理地址,也可直接使用它的名字。
00:41
张兴忠制作:www.zhangxz.net
返回目录
13
3.1.3 指令中的常用符号
#date:表示8位立即数,即8位常数,取值范围 为#00H~#0FFH。
date16:表示16位立即数,即16位常数,取值范 围为#0000H~#0FFFFH。
00:41
张兴忠制作:www.zhangxz.net
返回目录
12
3.1.3 指令中的常用符号
为了便于阅读指令,MCS-51指令助记符中的一 些常用符号约定如下。
Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地
址指针。其中Ri代表R0和R1寄存器中的一个。 direct:表示内部数据存贮器单元的地址及特殊
@:表示间接寻址寄存器或基址寄存器的前缀 符号。
$: 表示当前指令的地址。 /:位操作数的前缀,表示对该位操作数取反,
如:/bit。 (x):表示存储单元x的内容。 ((x)):表示以寄存器或存储单元x的内容作为
地址的存储单元的内容。 →:表示数据传送方向。
00:41
张兴忠制作:www.zhangxz.net
00:41
张兴忠制作:www.zhangxz.net
返回目录
19
3.1.4 寻址方式
直接寻址方式可访问的范围
-----访问范围
3) 位地址空间 片内RAM中20H~2FH中的128个位地址,
以及SFR中的11个可进行位寻址的寄存器中的位 地址(可位寻址的特殊功能寄存器有B、ACC、 PSW、IP、IE、SCON、TCON、P0~P3)。 4) 在一些程序控制指令中,可采用直接寻址方式提 供程序转移的目标地址。
存器)。
2) 外部数据存储器(64KB字节,使用DPTR作间址 寄存器。另外,外部低128B单元也可用R0、R1 作间址寄存器寻址)。
3) 在堆栈操作指令(PUSH、POP)中,以堆栈指 针SP作间址寄存器,寻址空间为片内RAM。
00:41
张兴忠制作:www.zhangxz.net
返回目录
24
3.1.4 寻址方式
addr16:表示16位地址。 addr11:表示11位地址。 rel:用补码形式表示的地址偏移量,取值范围
为-128~+127。 bit:表示内部RAM和SFR中的具有位寻址功能
的位地址。
00:41
张兴忠制作:www.zhangxz.net
返回目录
14
3.1.3 指令中的常用符号
3.2 指令系统 3.2.1 数据传送指令 3.2.2 算术运算指令 3.2.3 逻辑运算指令 3.2.4 控制转移指令 3.2.5 位操作指令 习题与思考题
00:41
张兴忠制作:www.zhangxz.net
返回目录
3
3.1 指令系统简介
------指令系统
指令系统
计算机所有指令的集合,称为该计算 机的指令系统,它是表征计算机性能的重 要标志。每种计算机都有它自己特有的指 令系统。指令是指计算机执行某种操作 (如传送数据、做算术运算等)的命令。
----基址变址寻址
5.基址变址寻址
基址变址寻址是指操作数存放在以变址寄存器和基 址寄存器的内容相加形成的数为地址的单元中。其中累 加器A作变址寄存器、程序计数器PC或寄存器DPTR作基 址寄存器。基址加变址寻址方式常用于查表操作。如:
MOVC A, @A+PC ;PC+1→PC,((A+PC))→A
张兴忠制作:www.zhangxz.net
返回目录
26
3.1.4 寻址方式
------位寻址
7.位寻址
位寻址是指对片内RAM中20H~2FH中的128 个位地址,以及SFR中的11个可进行位寻址的寄 存器中的位地址寻址(可位寻址的特殊功能寄存 器有B、ACC、PSW、IP、IE、SCON、TCON、 P0~P3)。例如:MOV C, 20H
00:41
张兴忠制作:www.zhangxz.net
返回目录
11
3.1.2 指令格式
-------基本格式
一条指令必须在一行中写完。例如:
MAIN:MOV A,#10H ;主程序段
MAIN为符号地址;
MOV为操作码;
A、#10H为二个操作数;
最后是注释。
指令在送入计算机执行之前,必须先转换成 机器语言形式。转换成机器语言的过程称为汇编, 汇编有机器汇编和手工汇编两种方法。
掌握MCS-51指令系统的各种指令对寄存器资源的 占用情况。
00:41
张兴忠制作:www.zhangxz.net
返回目录
2
本章目录
第3章 MCS-51单片机指令系统
3.1 指令系统简介 3.1.1 指令系统的分类 3.1.2 指令格式 3.1.3 指令中的常用符号 3.1.4 寻址方式
MOV A, @R0 ;((R0))→A
指令功能为将R0所指出的内部RAM单元内容送入累 加器A中,执行过程如图所示。图中设R0=60H。
00:41
张兴忠制作:www.zhangxz.net
返回目录
23
3.1.4 寻址方式
-----寻址范围
寄存器间接寻址的寻址范围: 1) 内部低128字节单元(只能使用R0、R1作间址寄
此指令是将RAM中位寻址区20H位地址中的 内容,送给位累加器Cy。位寻址指令不同于字节 地址寻址指令,
例如:MOV A, 20H
00:41
张兴忠制作:www.zhangxz.net
返回目录
27
3.1.4 寻址方式
----位寻址的表示形式
1) 直接使用位地址 包括位寻址区的位地址00H~7FH和部分特殊功能寄
单片机原理与接口技术
第3章 MCS-51单片机 指令系统
电子工业出版社
制作 张兴忠
太原理工大学
修审 牛昱光
00:41
张兴忠制作:www.zhangxz.net
返回目录
1
本章教学要求
第3章 MCS-51单片机指令系统
熟悉MCS-51单片机指令系统的分类、格式; 熟悉MCS-51指令系统的七种寻址方式; 掌握MCS-51指令系统的数据传送、算术运算、逻
00:41
张兴忠制作:www.zhangxz.net
返回目录
28
3.1.4 寻址方式
00:41
张兴忠制作:www.zhangxz.net
返回目录
8
3.1.1 指令系统的分类
2.按指令执行时间分类 1) 单周期指令(65条) 2) 双周期指令(44条) 3) 四周期指令(2条)
-------按指令执行时间可分类
00:41
张兴忠制作:www.zhangxz.net
返回目录
9
3.1.1 指令系统的分类
张兴忠制作:www.zhangxz.net
返回目录
6
3.1 指令系统简介
-----特点
1) 指令执行时间短。只需1个机器周期的指令有64 条,2个机器周期的指令有45条,而4个机器周 期的指令仅有2条(既乘法和除法指令)。
2) 指令字节少。单字节指令有49条,双字节指令 有46条,三字节指令有16条。
-----直接寻址
2.直接寻址 直接寻址是将操作数的地址直接存放在指令中。
这种寻址方式的操作数指的是内部数据存储器中存 放数据的地址,或存放数据的一个特殊功能寄存器 地址。
例如:MOV A, 30H ;(30H)→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
18
3.1.4 寻址方式
00:41
张兴忠制作:www.zhangxz.net
返回目录
20
3.1.4 寻址方式
3.寄存器寻址
----寄存器寻址
寄存器寻址是指操作数存放在寄存器中,并 且寻址时的寄存器已隐含在指令的操作码中。
例如:MOV A, R5
00:41
张兴忠制作:www.zhangxz.net
返回目录
21
3.1.4 寻址方式
存器的位地址 。例如,PSW寄存器第2位的位地址为 D2H。 2) 位名称表示法
专用寄存器中的一些寻址位是有符号名的,对其进行 位寻址时可用其符号名,例如,PSW寄存器的第2位可 用OV表示。 3) 单元地址加位表示法
例如,2F单元的第1位,可表示为2FH.1。 再如,D0H单元(PSW)的第2位,可表示为D0H.2。
3) 位操作指令极为丰富,这体现了MCS-51单片机 具有面向控制的特点。
00:41
张兴忠制作:www.zhangxz.net
返回目录
7
3.1.1 指令系统的分类
-----按指令所占存储空间分类
MCS-51单片机能够识别并执行的指令共有111条。 按指令所占字节数、指令执行时间和指令功能进 行分类。 1.按指令所占字节数分类 1) 单字节指令(49条) 2) 双字节指令(46条) 3) 三字节指令(16条)
指令由操作码和操作数组成。操作码用来规定要执行的 操作的性质,操作数为指令的操作提供数据和地址。
1.指令的基本格式 [符号地址] : 操作码 [操作数1], [操作数2], [操作数3]; [注释]
其中符号地址和操作码之间用“:”作为分隔符,也可再 加上若干空格。操作码和操作数之间用空格作为分隔符。操 作数之间用“,”作为分隔符。注释之前用“;”作为分隔 符。
-----访问范围
直接寻址方式可访问的范围 1) 特殊功能寄存器。
这部分存储单元既可以用单元地址给出,也可 以用寄存器符号的形式给出。如:MOV A, 90H 或 MOV A, P1为同一条指令的两种写法(特殊功能寄 存器只能用直接寻址方式访问)。
2) 内部数据存储器的低128个字节单元。
直 接 以 单 元 地 址 的 形 式 给 出 [ 对 于 8032/8052 等 单片机,其内部高128字节RAM(80H~FFH)不 能用直接寻址方式访问]。
返回目录
5
3.1 指令系统简介
-----MCS-51汇编语言指令格式
操作码 [操作数1 [,操作数2]…] [;注释]
MCS-51单片机的汇编语言使用40多种助记符表 征30多种指令功能。MCS-51单片机能够识别并 执行的指令共有111条。这111条指令,构成了 MCS-51单片机的指令系统。
00:41
----寄存器寻址
寄存器寻址方式的寻址范围:
(1) 4个工作寄存器组共32个通用寄存器(在指令中 只能使用当前寄存器组)
(2) 部分特殊功能寄存器。如A,B,DPTR。
00:41
张兴忠制作:www.zhangxz.net
返回目录
22
3.1.4 寻址方式
----寄存器寻址
4.寄来自百度文库器间接寻址
寄存器间接寻址是指操作数据存放在以寄存器内 容为地址的单元中。如:
00:41
张兴忠制作:www.zhangxz.net
返回目录
4
3.1 指令系统简介
------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式, 如:75905B ,即数字格式。
另一种指令格式,即汇编指令格式, 如:MOV P1, #5BH
00:41
张兴忠制作:www.zhangxz.net
返回目录
16
3.1.4 寻址方式
-----立即寻址
1.立即寻址 立即寻址是将操作数直接写在指令中,作为
指令的一部分存放在代码段里,位置在程序存储 器中。立即寻址中的操作数,称为立即数。
例如:MOV A, #30H ;30H→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
17
3.1.4 寻址方式
3.按指令功能分类 1) 数据传送类指令(29条) 2) 算术运算类指令(24条) 3) 逻辑运算类指令(24条) 4) 控制转移类指令(17条) 5) 位操作类指令(17条)
------按指令功能分类
00:41
张兴忠制作:www.zhangxz.net
返回目录
10
3.1.2 指令格式
-----基本格式
MOVC A, @A+DPTR ;((A+DPTR))→A
00:41
张兴忠制作:www.zhangxz.net
返回目录
25
3.1.4 寻址方式
----相对寻址
6.相对寻址
相对寻址是将程序计数器PC的当前值与指令第二 字节给出的偏移量相加,从而形成转移的目标地址。
例如:JC 80H ;C=1则跳转
00:41
返回目录
15
3.1.4 寻址方式
如何找到参与运算的操作数据或数据所在的 地址称为寻址方式。所以寻址方式是在地址范围 内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、 直接寻址、寄存器寻址、寄存器间接寻址、基址 加变址寻址、相对寻址和位寻址等七种。
00:41
张兴忠制作:www.zhangxz.net
功能寄存器SFR的地址,对SFR而言,既可使用 它的物理地址,也可直接使用它的名字。
00:41
张兴忠制作:www.zhangxz.net
返回目录
13
3.1.3 指令中的常用符号
#date:表示8位立即数,即8位常数,取值范围 为#00H~#0FFH。
date16:表示16位立即数,即16位常数,取值范 围为#0000H~#0FFFFH。
00:41
张兴忠制作:www.zhangxz.net
返回目录
12
3.1.3 指令中的常用符号
为了便于阅读指令,MCS-51指令助记符中的一 些常用符号约定如下。
Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地
址指针。其中Ri代表R0和R1寄存器中的一个。 direct:表示内部数据存贮器单元的地址及特殊
@:表示间接寻址寄存器或基址寄存器的前缀 符号。
$: 表示当前指令的地址。 /:位操作数的前缀,表示对该位操作数取反,
如:/bit。 (x):表示存储单元x的内容。 ((x)):表示以寄存器或存储单元x的内容作为
地址的存储单元的内容。 →:表示数据传送方向。
00:41
张兴忠制作:www.zhangxz.net
00:41
张兴忠制作:www.zhangxz.net
返回目录
19
3.1.4 寻址方式
直接寻址方式可访问的范围
-----访问范围
3) 位地址空间 片内RAM中20H~2FH中的128个位地址,
以及SFR中的11个可进行位寻址的寄存器中的位 地址(可位寻址的特殊功能寄存器有B、ACC、 PSW、IP、IE、SCON、TCON、P0~P3)。 4) 在一些程序控制指令中,可采用直接寻址方式提 供程序转移的目标地址。
存器)。
2) 外部数据存储器(64KB字节,使用DPTR作间址 寄存器。另外,外部低128B单元也可用R0、R1 作间址寄存器寻址)。
3) 在堆栈操作指令(PUSH、POP)中,以堆栈指 针SP作间址寄存器,寻址空间为片内RAM。
00:41
张兴忠制作:www.zhangxz.net
返回目录
24
3.1.4 寻址方式
addr16:表示16位地址。 addr11:表示11位地址。 rel:用补码形式表示的地址偏移量,取值范围
为-128~+127。 bit:表示内部RAM和SFR中的具有位寻址功能
的位地址。
00:41
张兴忠制作:www.zhangxz.net
返回目录
14
3.1.3 指令中的常用符号
3.2 指令系统 3.2.1 数据传送指令 3.2.2 算术运算指令 3.2.3 逻辑运算指令 3.2.4 控制转移指令 3.2.5 位操作指令 习题与思考题
00:41
张兴忠制作:www.zhangxz.net
返回目录
3
3.1 指令系统简介
------指令系统
指令系统
计算机所有指令的集合,称为该计算 机的指令系统,它是表征计算机性能的重 要标志。每种计算机都有它自己特有的指 令系统。指令是指计算机执行某种操作 (如传送数据、做算术运算等)的命令。
----基址变址寻址
5.基址变址寻址
基址变址寻址是指操作数存放在以变址寄存器和基 址寄存器的内容相加形成的数为地址的单元中。其中累 加器A作变址寄存器、程序计数器PC或寄存器DPTR作基 址寄存器。基址加变址寻址方式常用于查表操作。如:
MOVC A, @A+PC ;PC+1→PC,((A+PC))→A
张兴忠制作:www.zhangxz.net
返回目录
26
3.1.4 寻址方式
------位寻址
7.位寻址
位寻址是指对片内RAM中20H~2FH中的128 个位地址,以及SFR中的11个可进行位寻址的寄 存器中的位地址寻址(可位寻址的特殊功能寄存 器有B、ACC、PSW、IP、IE、SCON、TCON、 P0~P3)。例如:MOV C, 20H
00:41
张兴忠制作:www.zhangxz.net
返回目录
11
3.1.2 指令格式
-------基本格式
一条指令必须在一行中写完。例如:
MAIN:MOV A,#10H ;主程序段
MAIN为符号地址;
MOV为操作码;
A、#10H为二个操作数;
最后是注释。
指令在送入计算机执行之前,必须先转换成 机器语言形式。转换成机器语言的过程称为汇编, 汇编有机器汇编和手工汇编两种方法。