单片机指令系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

返回本章首页
3.1.1 指令分类
• 按指令功能,MCS-51指令系统分为数 据传递与交换、算术运算、逻辑运算、 程序转移、布尔处理操作、CPU控制等 6类。
• 布尔处理操作类指令又称位操作指令。
单片机指令系统
返回本节
3.1.2 指令格式
• 在MCS-51指令中,一般指令主要由操作码、操作数 组成。
单片机指令系统
返回本节
3.2.5 变址寻址
是基址寄存器(A)+变址寄存器(PC或DPTR) 的间接寻址。变址寻址只能对程序存储器中数据进行 操作。由于程序存储器是只读的,因此变址寻址只有 读操作而无写操作,在指令符号上采用MOVC的形 式(如图3-4所示)。 例如:MOVC A,@ A+DPTR;
A←(A+DPTR) 又 如:MOVC A,@ A+PC ;
A←(A+PC) 这种寻址方式多用于查表操作。
单片机பைடு நூலகம்令系统
程序存储器 2010H 64H
A 10H
64H(10H)
DPTR 2000H 2000H
图3-4 变址寻址示意图
单片机指令系统
返回本节
3.2.6 相对寻址
• 以当前程序计数器PC的内容为基础, 加上指令给出的一字节补码数(偏移量) 形成新的PC值的寻址方式。
又如:MOVX @DPTR,A; 外部RAM (DPTR)←A
其 指 令 操 作 过 程 示 意 图 如 图 3- 2 所示。
单片机指令系统
R0
30H
A
34H
片内RAM
30H
34H
图3-1 MOV @R0,A间接寻址示意

单片机指令系统
片外RAM
DPTR 2000H
A 30H
2000H
30H
图3-2 MOVX @DPTR,A 间接寻址示意图
作码的信息,又包含操作数的信息。共49条。
2 .双字节指令:用一个字节表示操作码,另一个字节表 示操作数或操作数所在的地址。共有45条。
3.三字节指令:一个字节操作码,两个字节操作数。共 有17条。
8051单片机共有111条指令。
单片机指令系统
3.2 寻址方式
• 寻址方式:就是寻找指令中操作数或操作数所在地址的方法。 8051共有七中寻址方式。
• 相对寻址用于修改PC值,主要用于实 现程序的分支转移。
例 如 , SJMP 08H

PC←PC+2+08H
指令操作示意图如图3-5所示。
单片机指令系统
程序存储器
2000H SJMP 08H 08H
200AH
2000H+2
PC
(2000H) 200AH
图3-5 相对寻址示意图
单片机指令系统
返回本节
第三章 8051单片机指令系统
• 3.1 MCS-51指令系统的分 类、格式及一般说明
• 3.2 寻址方式
单片机指令系统
学习目的及要求
• 熟悉指令、指令系统、机器语言、及汇 编语言的概念;
• 熟悉8051汇编语言指令的格式; • 掌握8051的七种寻址方式,并能实际
应用;
单片机指令系统
MCS-51单片机指令系统有如 (1)指令执行下时特间快点。:
• 指令中直接给出操作数地址的寻址方式, 能进行直接寻址的存储空间有SFR寄存 器和片内RAM的128个单元。
例如:MOV
A,P1; A←(P1)
把SFR中P1口的内容送A。
MOV A,30H ;A←(30H)
注意解释字段中加括号和不加括号的区 别!
• 30H为直接给出的内部RAM的地址。
单片机指令系统
• 3.2.1 立即寻址 • 3.2.2 直接寻址 • 3.2.3 寄存器寻址 • 3.2.4 寄存器间接寻址 • 3.2.5 变址寻址 • 3.2.6 相对寻址 • 3.2.7 位寻址 • 3.2.8 寻址空间及符号注释
单片机指令系统
返回本章首页
3.2.1 立即数寻址
• 指令中直接给出操作数的寻址方式。立即操作数用前 面加有#号的8位或16位数来表示。
例如:MOV A,# 60H;A←60H
MOV DPTR,# 3400H;DPTR←3400H
MOV
30H,# 40H ;30H单元←40H
• 上述三条指令执行完后,累加器A中数据为立即数据 60H,DPTR寄存器中数据为3400H,30H单元中数 据为立即数40H。
单片机指令系统
返回本节
3.2.2 直接寻址
指令格式为:操作码 [目的操作数][,源操作数] • 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如,
数的传送、加法、减法等。
(2)操作数指明操作的数本身或者是操作数所在的地 址。
(3)指定操作结果存放的地址。
单片机指令系统
返回本节
8051指令系统中,有单字节、双字节或三字节指令 1.单字节指令:单字节指令中的8位二进制代码既包含操
(2)指令短,约有一半的指令为单字节 指令。
(3)用一条指令即可实现2个一字节的 相乘或相除。
(4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入
输出操作。
单片机指令系统
3.1 MCS-51指令系统的分类、格式及一般说明
• 3.1.1 指令分类 • 3.1.2 指令格式
单片机指令系统
3.2.7 位寻址
• 位寻址只能对有位地址的单元作位寻址
操作。
• 位寻址其实是一种直接寻址方式,不过 其地址是位地址。
例如:SETB 10H 1。
;将10H位置
若22H单元中存放着数据40H,22H
单元的 D0位的位地址为10H,执行上 述指令后
(22H)=4单1片H机指。令系统
返回本节
3.2.8 寻址空间及符 号注释 1.寻址空间:每种寻址方式可涉及的存储器空间
返回本节
3.2.3 寄存器寻址
• 以通用寄存器的内容为操作数的寻址方 式。通用寄存器指A、B 、DPTR以及 R0~R7 。 例如:MOV A,R0;A ←(R0) CLR A ;A←0 INC DPTR;DPTR←DPTR+1 ADD A,R5;A←(A)+(R5)
单片机指令系统
返回本节
3.2.4 寄存器间接寻址
• 以寄存器中内容为地址,以该地址中内 容为操作数的寻址方式。间接寻址的存 储 器 空 间 包 括 内 部 数 据 RAM 和 外 部 数 据RAM。
• 能用于寄存器间接寻址的寄存器有R0, R1,DPTR,SP。其中R0、R1必须是 工作寄存器组中的寄存器。SP仅用于堆 栈操作。
单片机指令系统
例 如 : MOV @R0 , A ; 内 部 RAM(R0)←A 其指令操作过程示意图如图3-1所 示。
相关文档
最新文档