当前位置:
文档之家› 第2章51系列单片机的指令系统
第2章51系列单片机的指令系统
例如:指令 MOV A,#45H 指令机器代码:74 45
2020/8/19
7 生物医学影像中心
• 立即寻址:
2020/8/19
8 生物医学影像中心
2.1.2 直接寻址
• 直接寻址:指令中操作数是存放参与操作的数的地 址
• 寻址空间: 特殊功能寄存器(唯一方式) 内部数据存储器的低128字节位地址
• 偏移量:用机器码表示的相对地址
• • 例如:指令 JC 18H 机器代码:40 16
2020/8/19
16 生物医学影像中心
相对地址 18H 偏移量 16H 正向 负向
2020/8/19
17 生物医学影像中心
2.1.7 位寻址
• 位寻址:是指对片内RAM的位寻址区和某些可位 寻址的特殊功能寄存器进行位操作的寻址方式。
47H + 2000H
2020/8/19
15 生物医学影像中心
2.1.6 相对寻址
• 寻找下一条要执行的指令的地址,仅用于相对转移 指令中。相对寻址的有效地址为:
•
D = PC + rel
• 式中:有效地址D称为目的地址
PC为当前执行的程序指令地址,称为源地址
• rel是相对地址,它是目的地址与源地址的差值
2020/8/19
5 生物医学影像中心
2.1 寻址方式
• 寻址方式:指令中操作数提供的方式
• MCS-51的七种寻址方式:
•
立即寻址
•
直接寻址
•
寄存器寻址
•
寄存器间接寻址
•
变址寻址
•
相对寻址
•
位寻址
2020/8/19
6 生物医学影像中心
2.1.1 立即寻址
• 立即寻址(双字节指令):指令中操作数的值就 是直接参与操作的数,称“立即数”,‘#’表示。
• (3)具有丰富的位操作类指令。可对内部数据RAM 和特殊功能寄存器中的各位进行多种形式的位操作。
•:
2020/8/19
3 生物医学影像中心
• MCS—51系列单片机的指令格式为
• • • • •
2020/8/19
操作符 目的操作数,源操作数 格式(字节表示:单、双、三) 操作码:操作的编码(第一字节) 操作数:参与操作的数据和地址(第二、三字节) 功能:操作码指明执行什么性质和类型的操作;
• 位地址与字节地址表示相同,依靠操作码来区别是 位操作还是字节操作。
• 例如:指令 SETB 3AH
•
机器代码:D2 3A
• 位地址3AH是片内RAM中27H单元的第2位,指令 执行后,3AH这一位被置为1。若 (27H)=00000000B,则指令执行后
(27H)=00000100B
2020/8/19
个字节 • 堆栈指针SP可寻址:堆栈 • 数据指针DPTR可寻址:片外64K数据存储器
2020/8/19
12 生物医学影像中心
• 例如:指令 MOV A,@R0
•
机器代码:1110 0110
• R0中存放5EH。5EH是片内的一个存储单元,该存储
• 单元的内容为78H,执行指令后,78H传给累加器A。
2020/8/19
11 生物医学影像中心
2.1.4 寄存器间接寻址
• 寄存器间接寻址:指定寄存器中存放的不是操作 数本身,而是一个地址,该地址所指定的存储单元 的内容作为操作的数。
• 可用的寄存器:R0和R1、SP、数据指针DPTR • 寻址空间: • R0和R1可寻址:片内低128个字节或片外低256
2020/8/19
13 生物医学影像中心
2.1.5 变址寻址
• 以程序计数器PC或数据指针DPTR作为基址寄存器, 累加器A作为变址寄存器
• 用于读程序存储器(查表操作)
• 操作的数的有效地址为:
•
有效地址 = 基址寄存器 + A
•
MOVC
A,@A+DPTR
•
MOVC
A,@A+PC
•
PC:256字节
• M951系列单片机的指令,可分成数据传送与交换、 算术运算、逻辑运算与循环、子程序调用与转移、 位操作和CPU控制等6个类型。它有如下3个特点:
• (1)指令执行时间快。大多数指令执行时间为1个 机器周期,少数指令(45条)为2个机器周期,仅乘 除2条指令为4个机器周期。
• (2)指令短。大多数为l一2字节,少数为3个字节。
•
DPTR:64K
2020/8/19
14 生物医学影像中心
• 例如:指令 MOVC A,@A+DPTR
•
机器代码:93
• 设累加器A=47H,DPTR=2000H,(2047H)=5CH, 指令执行后,A=5CH
程序存储器
2030H
.
.
.
A
2047H 5C
5C(47)
SFR DPH 20 DPL 00
• 例如:指令 MOV A,45H
•
指令代码:E5 45
2020/8/19
9 生物医学影像中心
• 直接寻址
2020/8/19
10 生物医学影像中心
2.1.3 寄存器寻址
• 寄存器寻址:指定寄存器的内容为所操作的数。
• 寻址空间:R0~R7和A,B,DPTR,CY
• 例如:指令
MOV A,R3
•
指令代码:EB
第二章 51系列单片机的指令系统
华中科技大学
生命科学与技术学院
生物医学影像中心
张智
2020/8/19
1
• 概述 • 第一节 • 第二节 • 第三节 • 第四节 • 第五节 • 第六节
2020/8/19
寻址方式 数据传送与交换指令 算术运算和逻辑运算指令 控制转移指令 位操作指令 伪指令
2 生物医学影像中心
明确参加操作的数据或数据所在的地址; 指定操作结果存放的地址; 指定下一条指令的地址。
4 生物医学影像中心
• Rn:当前工作寄存器组中的R0—R7(其中n=0, l,…7)。
• Ri: 当前工作寄存器组中的R0,R1(其中i=0,1)。 • dir: 8位直接字节地址(片内RAM和SFR地址)。 • #data: 8位立即数。 • #data16: 16位地址数。 • addrl6: 16位地址值。 • addr1l: 11位地址值。 • bit:位地址(在位地址空间中)。 • rel: 相对偏移量(为一字节补码)。 • (): 用于注释中表示存储单元的内容。
18 生物医学影像中心
寻址方式对比:
2020/8/19
19 生物医学影像中心
2.2 数据传送与交换指令
2.2.1数据传送与交换指令 A
A
@ A+PC @ A+DPTR
@Ri @DPTR
程序存储器传送
外部数据存储器传送
R0~R7
DIRECT
DP