第三章 单片机的指令系统32

合集下载

第3章 指令系统(BH)

第3章 指令系统(BH)
• 指令:是CPU根据人的意图来执行某种操作的命令。
• 程序设计语言:是实现人机交换信息的基本工具,
分为机器语言、汇编语言和高级语言。 能直接识别和执行的语言。
• 机器语言:用二进制编码表示每条指令,是计算机
• 汇编语言:是用助记符、符号和数字等来表示指令
的程序设计语言。它与机器语言指令是一一对应的。
MOV direct,Rn;
111 1rrr direct
(Rn)
direct
MOV direct, direct;
1000 0101 源 direct 目的 direct
(源 direct) 目的 direct
MOV direct,@Ri ;
1000 011i direct
((Ri))
direct
• 例如
计算机科学学院
电子信息科学教研室
12
• 例如:将片内RAM 65H单元内容47H送A,可执行 指令“MOV A,@R0”。其中R0内容为65H。如 图所示:
以指令中所指定 的R0内容(65H) ① 为指针
地址 数据存储器
R0
65H

② A
47H
将片内RAM 65H单 元内容47H送A
65H
11
计算机科学学院
电子信息科学教研室
4、寄存器间接寻址
• 寄存器间接寻址:操作数的地址事先存放在某个寄
存器中,寄存器间接寻址是把指定寄存器的内容作为 地址,由该地址所指定的单元内容作为操作数。
• 89C51规定R0或R1为间接寻址寄存器,它可寻址内部
地址RAM低位的128B单元内容。还可采用DPTR作为 间接寻址寄存器,寻址外部数据存储器的64KB空间。

第三章 MCS-51单片机的寻址方式和指令系统

第三章 MCS-51单片机的寻址方式和指令系统

由此可把数据传送指令分成三部分
(一)内部数据传送(通用传送指令)
1.以A为目的操作数
MOV A,Rn MOV A,@Ri ;A← (Rn) ;A←((Ri))
双字节
11101rrr 1110011i
MOV A,direct ;A←(direct) 11100101 direct
MOV A,#data ;A←#data 例: MOV A,@R1 若(R1)=20H,(20H)=62H 结果:(A)=62H 11100100 data
指令MOVC A,@A+DPTR;执 行示意图
结果:(ACC)=64H
六、相对寻址

以当前PC的内容为基准,加上指令给出的 偏移量(rel)形成新的PC值(转移地址) 的寻址方式。
转移地址=目的地址 =当前(PC)+rel
目的地址=PC当前值十rel 目的地址=转移指令的PC值+2(或3)十rel 目的地址=转移指令地址+转移指令字节数+rel
单周期:64 双周期:45 四周期:2
若fosc=12MHz, 大多指令执行 仅1μs
按照指令的功能分5大类
一、数据传送类指令(29条) 二、算术运算类指令(24条) 三、逻辑操作类指令(24条) 四、控制转移类指令(17条) 五、位操作类指令 (17条)
在描述指令系统的功能时,常用符号介绍:
@——间址符号,如@Ri,@DPTR 13. / ——位操作数的前缀,表示对该位操作 数取反,如/bit。 14. (×)——由×寻址的单元中的内容。 15. ((X))——由X的内容作为地址的存 储单元的内容。 16. ← ——箭头右边的内容取代箭头左边的 内容。
12.
一、数据传送类指令(29条)

单片机3 指令系统

单片机3 指令系统
计算机的指令系统一般都是利用汇编语言描述的, 是由计算机硬件设计所决定的。指令系统没有通用 性。
指令系统概述
MCS-51指令系统有111条指令,可进行分类 ♫按指令字节数:
单字节指令(49条)、双字节指令(46条)和三字节 指令(16条)
♫按指令执行时间分类:
单机器周期指令(64条)、双机器周期指令(45条) 和四机器周期指令(2条)
♫范围:
--内部RAM中的位寻址区 a.直接就是位地址,如MOV C, 40H b.字节地址加上位索引,如MOV C, (28H).0 --特殊功能寄存器中的可寻址位 a.直接使用位地址。例如PSW.5的位地址为0D5H b.位名称的表示方法。例如:PSW.5是F0标志位, 可使用F0表示该位。 c.字节地址加位索引。例:(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。 例:PSW.5。
„„
寻址方式
立即数寻址:指操作数包含在指令字节中,跟
在指令操作码后面的数就是参加运算的数, 该 操作数称为立即数。需在操作数前面加前缀 “#” 。
♫例子:立即数有一字节和二字节两种可能
MOV A, #3AH
MOV DPTR, #0DFFFH
寻址方式
变址寻址(基址REG+变址REG)
♫特点:这种寻址方式以基址寄存器DPTR或PC的内
MCS-51指令系统
两条指令功能完全相同,但使用中存在着差异。

偏移量的计算方法不同 查表的位置要求不同 采用DPTR作为基地址寄存器,查表地址为 采用DPTR作为基地址寄存器,表可以放在64KB程 (A)+(DPTR)。采用PC作为基地址寄存器,查表地址 序存储器空间的任何地址,使用方便,故称为远 为(A)+(PC)+1。因此偏移量的计算方法不同。 程查表。 DPTR : A为欲查数值距离表首地址的值; 采用PC作为基地址寄存器,具体的表在程序存储 PC : A的值必须预先设置为: 器中只能在查表指令后的256B的地址空间中,使 用有限制,故称为近程。 A的值=表首地址-当前指令的PC值-1

第3章指令系统

第3章指令系统
解:程序如下: 程序如下: ORG NUM DATA STRING DATA START: CLR MOV LOOP: LOOP: CJNE SJMP NEXT: NEXT: INC INC SJMP COMP: COMP: MOV SJMP 0800H 20H 21H A R0, R0,#STRING @R0, @R0,#24H,NEXT COMP A R0 LOOP NUM, NUM,A $
单片机原理 及接口技术
第3 章
89C51单片机指 89C51单片机指 令系统
LOGO
LOGO
程序设计举例
一 二 三 四 五 六
简单程序设计举例 分支程序 循环程序 子程序设计举例 代码转换程序设计举例 运算类程序设计举例
BACK
LOGO
一、 简单程序设计举例
例1 :拆字。将片内RAM 20H单元的内容拆成两段,每段 拆字。将片内RAM 20H单元的内容拆成两段 单元的内容拆成两段, 四位。并将它们分别存入21H 22H单元中 程序如下: 21H与 单元中。 四位。并将它们分别存入21H与22H单元中。程序如下:
练习: 练习: 1.将片外RAM 2000H单元开 始的20个字节,传送到片 内RAM 30H单元开始的单元 中去。 2.将片内RAM 20H单元开始 的10个字节,传送到片内 RAM 30H单元开始的单元中 去。 3.将片内RAM BK1单元开始 的COUNT个字节,传送到片 外RAM BK2单元开始的单元 中去。
Back
LOGO
3.4
思考题与习题
1. 简述下列基本概念: 指令、指令系统、机器语言、汇编语言、高级 语言。 2. 什么是计算机的指令和指令系统? 3. 简述89C51汇编指令格式。 4. 简述89C51的寻址方式和所能涉及的寻址空间。 5. 要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?

第三章MCS51系列单片机指令系统及汇编语言程序设计

第三章MCS51系列单片机指令系统及汇编语言程序设计
AJMP addr11 绝对转移指令为2K地址范围内的转移指令,对转移目的地址的要求与 ACALL指令中对子程序入口地址的要求相同。 【3】短转移指令
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)

8051单片机3单片机指令系统

8051单片机3单片机指令系统

(1) 方括号[ ]表示该项是可选项, 可有可无。 (2) 标号是用户设定的符号, 它实际代表该指令所在的地址。 标号必须以字母开头, 其后跟1~8个字母或数字, 并以“:”结 尾。 (3) 操作码是用英文缩写的指令功能助记符。它确定了本条指 令完成什么样的操作功能。如: ADD表示加法操作。任何一 条指令都必须有该助记符项, 不得省略。 (4) 操作数指的是指令操作的数据. 可以是一个数,也可以是寄 存器和特殊功能寄存器,还可以是标号地址;个数可以为0, 3 也可以为1,2,3
23
3.4.1 数据传送类指令
3.4.1 数据传送类指令
数据传送类指令共29条, 它是指令系统中最活跃、 使 用最多的一类指令。一般的操作是把源操作数传送到目的操 作数, 即指令执行后目的操作数改为源操作数, 而源操作数保 持不变 数据传送类指令不影响进位标志CY、 半进位标志AC 和溢出标志OV, 但当传送或交换数据后影响累加器A的值时, 奇偶标志P的值则按A的值重新设定。 按数据传送类指令的操作方式,又可把传送类指令分 为3种类型: 数据传送、数据交换和堆栈操作, 并使用8种助记 符: MOV、MOVX、MOVC、XCH、XCHD、SWAP、 PUSH及POP 24
3.4.1 数据传送类指令
25
3.4.1 数据传送类指令
1. 内部数据存储器间数据传送指令
内部RAM区是数据传送最活跃的区域, 可用的指令数也最 多, 共有16条指令, 指令操作码助记符为MOV,通用格式为: MOV 目的操作数 , 源操作数 内部RAM之间源操作数传递关系如下图所示
26
3.4.1 数据传送类指令
4
3.1 指令格式
指令描述符号:
在分类介绍各类指令之前, 先对描述指令的一些 符号意义进行一些简单约定:

03.9 第三章 - 单片机指令系统(位操作指令MOV、SETB、CLR、CPL、ANL、ORL)

03.9 第三章 - 单片机指令系统(位操作指令MOV、SETB、CLR、CPL、ANL、ORL)

;A = 59H = 0101 1001B ;P1 = A = 0101 1001B ;C = 1 ;ACC.1 = 1 ;P1.3 = 0 ;P1.6 = 0 ;P1.2 = 1 ;(20H)= P1 = 0001 0101B ;(30H)= A = 0101 1011B
09:43
单片机技术
8
3.9.2 位控制指令(SETB、CLR、CPL)
;P1.0 = 1 ;ACC.3 = 0 ;C = 1 ;C = 1 ;C = 1 ;P3.4 = 1
09:43
单片机技术
14
3.9.3 位条件转移指令(JC、JB、JBC)
❖ 1.判C转移指令ຫໍສະໝຸດ JC、JNC)JC rel
;先PC←PC+2;若(Cy)= 1时转移,且PC'
=PC+rel,否则顺序执行
CPL bit ;(bit)= (/bit)
▪ 功能:将Cy或bit取反。
09:43
单片机技术
9
3.9.2 位控制指令(SETB、CLR、CPL)
❖ 课堂练习
▪ 执行以下指令?
SETB P1.0 CLR 20H CLR PSW.2 CPL PSW.2 CLR RS0 SETB RS1
;P1.0 = 1 ;20H = 0 ;PSW.2 = 0 ;PSW.2 = 1 ;RS0 = 0 ;RS1 = 1
❖ 1.位置1指令(SETB)
▪ 格式:SETB C ;(Cy) = 1
SETB bit ;(bit)= 1
▪ 功能:将Cy或bit置1。
❖ 2.位置0指令(CLR)
▪ 格式:CLR C ;(Cy) = 0
CLR bit ;(bit)= 0
▪ 功能:将Cy或bit置0。

第3章单片机指令系统

第3章单片机指令系统

寄存器寻址 寻址方式 寄存器间接寻址
基址加变址寄存器间接寻址 相对寻址 位寻址
1.立即寻址

操作数直接由指令给出,通常紧跟指令操作码之 后的字节是操作数,该操作数被称为立即数。

立即寻址所对应的寻址空间为:ROM 立即数:8/16位二进制数
如:MOV MOV A,#7AH DPTR, #1234H
注意:
① 适当选择SFR。寻址SFR时,可以用直接地址,也可以 用寄存器名,但后者更容易理解和阅读 如: MOV A,0D0H ; (A)←(D0H) MOV A,PSW ; (A)←(PSW)
② 适当选择累加器的表达式
累加器A表达方式 A → 寄存器寻址 ACC 直接寻址 E0H ;04H 单字节
如:
INC A INC ACC INC 0E0H
;05E0H 双字节
③ 注意地址的区别(位地址与字节地址)
如: MOV A,30H MOV C,30H ; (A)←(30H) ;(C)←(30H) 字节操作 位操作
3. 寄存器寻址

操作数在寄存器中
可用寄存器有: (1)四组工作寄存器R0~R7共32个工作寄存器 (2)SFR中有A、AB、DPTR及CY 如: MOV R3,#12H MOV A,R3
注意:① 立即数前加“#”号 ② 立即寻址方式的指令是双字节的(第1个字节为 操作码,第2个字节是操作数) ③ 操作数是放在ROM内的常数
2. 直接寻址

指令中直接给出操作数所在的单元地址或位地址
直接寻址可访问的存储空间: (1)内部RAM低128个单元 在指令中直接以单元地址形式给出,地址范围00H~7FH (2)特殊功能寄存器SFR 直接寻址是SFR惟一的寻址方式,SFR可以用单元地址给出, 也可用寄存器符号形式给出(但A、AB、DPTR除外) (3)211个位地址空间 内部RAM中可位寻址的20H~2FH单元对应的128个位地址空间 11个SFR中83个可用的位地址空间
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 MCS-51单片机指令系统
3.1 MCS-51单片机指令格式和寻址方式
3.1.1 MCS-51单片机指令格式 [标号: ] 操作码 [目的操作数][,源操作数][;注释]
标号:以字母开头的1-8个字符(字母、数字等)和“:” 组 操作码成:。规不定能指使令用进本行汇什编么语操言作已,不定能义空的缺符。号。
3.1.2 MCS-51单片机寻址方式
7。相对寻址方式 用于转移指令 目的地址=转移指令地址+转移指令字节数+rel
(a)指令JZ 08H寻址示意图
(b)指令JZ F4H寻址示意图
3 MCS-51单片机指令系统
3.1 MCS-51单片机指令格式和寻址方式 3.2 MCS-51单片机指令分类介绍
数据传送类指令(29条) 算术运算类指令(24条) 逻辑运算及移位类指令(24条) 控制转移类指令(17条) 位操作类指令(17条)
3.寄存器寻址方式
选定某寄存器,自该寄存器中读取或存放操作数,以完成指令 规定的操作。 寻址范围包括通用寄存器和部分专用寄存器。
例如:MOV A,R0
3.1 MCS-51单片机指令格式和寻址方式
3.1.2 MCS-51单片机寻址方式
4.寄存器间接寻址方式 由指令指出某一个寄存器的内容作为操作数地址的寻址方法, 称 为寄存器间接寻址方法。
3.2.2 数据传送类指令
1. 概述
2. 内部RAM数据传送指令组
(1) 立即数传送指令
MOV A,#data
MOV direct,#data MOV Rn,#data
8位立即数传送指令
MOV @Ri,#data
MOV DPTR,#data16 16位立即数传送指令
例:MOV DPTR,#1234H DPH: 12H DPL: 34H
3.2 MCS-51单片机指令分类介绍
3.2.2 数据传送类指令
2. 内部RAM数据传送指令组
(1) 立即数传送指令 (2) 内部RAM单元之间的数据传送指令
MOV direct2,direct1 MOV direct,Rn MOV Rn , direct MOV direct,@Ri MOV @Ri , direct 例:MOV P2,R2
3.2 MCS-51单片机指令分类介绍
3.2.1 指令格式中符号意义说明
Rn:通用寄存器R0-R7。 Ri:间接寻址寄存器R0、R1。 direct:8位直接地址。 #data :8位立即数。 #data16:16位立即数。 DPTR:数据指针。 bit:内部RAM中的直接寻址位。 @:间址寄存器的前缀标志。 /:位地址前表示对该位取反。
1.立即寻址方式
操作数直接出现在指令中,紧跟在操作码的后面,作 为指令的一部分与操作码一起存放在程序存储器内, 可以立即得到并执行。
例如:MOV A,#3AH MOV DPTR,#123AH
3.1 MCS-51单片机指令格式和寻址方式
3.1.2 MCS-51单片机寻址方式
2.直接寻址方式 指令中直接给出操作数所在的存储器地址, 以供寻址取数或存数 寻址范围包括内部RAM的低128单元和专用寄存器。 例如:MOV A,3AH
强调: 寄存器的内容不是操作数本身, 而是操作数地址。
例如:MOV A,@Ri MOVX A,@DPTR
3.1 MCS-51单片机指令格式和寻址方式
3.1.2 MCS-51单片机寻址方式
5。变址寻址方式 基址寄存器加变址寄存器间接寻址,简称变址寻址。它以数据指针 DPTR或程序计数器PC作为基址寄存器,累加器A作为变址寄存器, 两者的内容相加形成16位程序存储器地址,该地址就是操作数所在地 址。
MOV 0A0h,R2 MOV 0D0h,@R1 MOV R5,70h
MOV 0D0h,@R1
位序
位标 志
PSW. PSW. PSW. PSW. PSW. PSW. PSW. PSW.
7
654ຫໍສະໝຸດ 3210
CY
AC
F0 RS1 RS0 OV
/
P
MOV 0D0h,@R1
位序
位标 志
PSW. PSW. PSW. PSW. PSW. PSW. PSW. PSW.
MOVC A,@A+DPTR MOVC A,@A+PC JMP A,@A+DPTR
3.1 MCS-51单片机指令格式和寻址方式
3.1.2 MCS-51单片机寻址方式
6。位寻址方式
指令中直接给出位地址。
例如:SETB PSW.5
说明:1)寻址范围包括内部数据存储器RAM中的128位和特殊寄存器 SFR中的可寻址位;
操作数:规定指令操作的对象,为指令的操作提供数据或地 址;可缺省,也可包括二项、三项;各操作数之间 以逗号分隔。
注释:以“;”开头,如换行还应加“;”。
3.1 MCS-51单片机指令格式和寻址方式
3.1.1 MCS-51单片机指令格式 3.1.2 MCS-51单片机寻址方式
寻址方式:指定操作数所在单元的方式。(共七种)
2)位寻址区中的位可以采用位地址或单元地址加位的表示方法; 特殊寄存器SFR中的可寻址位在指令中有4种表示方法,即: 直接使用位地址,如SETB 0D5H; 位名称表示法,如SETB F0; 单元地址加位数的表示法,如SETB 0D0H.5; SFR符号加位数的表示法,如SETB PSW.5。
3.1 MCS-51单片机指令格式和寻址方式
3.2 MCS-51单片机指令分类介绍
3.2.1 指令格式中符号意义说明 3.2.2 数据传送类指令 1. 概述
MOV 目的操作数,源操作数
目的操作数 :累加器A、通用寄存器Rn、直接地址direct、 间址寄存器
源操作数 :累加器A、通用寄存器Rn、直接地址direct、 间址寄存器、立即数
3.2 MCS-51单片机指令分类介绍
7
6
5
4
3
2
1
0
CY
AC
F0 RS1 RS0 OV
/
P
MOV 0D0h,@R1
3.2 MCS-51单片机指令分类介绍
3.2.2 数据传送类指令
2. 内部RAM数据传送指令组
(1) 立即数传送指令 (2) 内部RAM单元之间的数据传送指令 (3) 通过累加器的数据传送指令
MOV A,Rn MOV Rn ,A MOV A,direct MOV direct, A MOV A,@Ri MOV @Ri , A
相关文档
最新文档