弗原創IT教育中心 第7讲80C51系列单片机指令系统 本章要点 令80C51指令的基本格式 令80C51指令功能分类 指令系统中的常用符号 令80C51指令系统的七种寻址方式 令数据传送类指令 令算术运算类指令 令逻辑运算及移位指令 位操作类指令 控制转移类指令
第7讲 80C51系列单片机指令系统 系列单片机指令系统 本章要点 80C51指令的基本格式 80C51指令功能分类 指令系统中的常用符号 80C51指令系统的七种寻址方式 数据传送类指令 算术运算类指令 逻辑运算及移位指令 位操作类指令 控制转移类指令
弗原創IT教育中心 51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定的空间, 以字节为单位。按指令所占字节数分类 单字节(49条);双字节(46条);3字节(16条) 每条指令在执行时要花去一定的时间,以机器 周期为单位。按指令执行时间分类 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条)
51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定的空间, 以字节为单位。按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 每条指令在执行时要花去一定的时间,以机器 周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条)
弗原創IT教育中心 7-1指令系统基本概念 7.1.1指令基本格式 标号:操作码操作数;注释 标号:]操作码[目的操作数][,源操作数][;注释] sTART: Mov A#30H 将立即数30H传送至A中 MOV DPTR,#5678H;将立即数5678传送至DPTR ◆方括符[]表示可选项 ◆标号代表指令所在地址,1-8个字母/数字,“:”结尾
7-1 指令系统基本概念 指令系统基本概念 标号:操作码 操作数;注释 7.1.1 指令基本格式 ♦ 方括符[ ]表示可选项 ♦ 标号代表指令所在地址,1-8个字母/数字,“:”结尾 [标号:]操作码 [目的操作数][,源操作数][;注释] START:MOV A,#30H ;将立即数30H传送至A中 MOV DPTR,#5678H ;将立即数5678H传送至DPTR
弗原創IT教育中心 (1)标号:指令的符号地址 ①用于一段功能程序的识别标记或控制转 移地址。 ②指令前的标号代表该指令的地址, 是用符号表示的地址。 ③一般用英文字母和数字组成。 ④标号必须用冒号“:”与操作码分隔
⑴ 标号:指令的符号地址。 标号:指令的符号地址。 ① 用于一段功能程序的识别标记或控制 用于一段功能程序的识别标记或控制 转 移地址。 ② 指令前的标号代表该指令的地址, 是用符号表示的地址。 ③ 一般用英文字母和数字组成。 ④ 标号必须用冒号“ :”与操作码分隔
弗原創IT教育中心 (2)操作码:表示指令的操作功能。 ①操作码用助记符表示, 它代表了指令的操作功能。 ②操作码是指令的必需部分, 是指令的核心,不可缺少
⑵ 操作码:表示指令的操作功能。 操作码:表示指令的操作功能。 ① 操作码用助记符表示, 操作码用助记符表示, 它代表了指令 的操作功能。 ② 操作码是指令的必需部分, 是指令的核心,不可缺少
弗原創IT教育中心 ③3)操作数:参加操作的数据或数据地址 ①操作数可以是数据,也可以是数据的地址、 数据地址的地址或操作数的其他信息。 ②操作数可分为目的操作数和源操作数。 ③操作数可用二进制数、十进制数或十六进制 数表示。 ④操作数的个数可以是0~3个。 ⑤操作数与操作码之间用空格分隔,操作数与 操作数之间用逗号“,”分隔
⑶ 操作数:参加操作的数据或数据地址。 操作数:参加操作的数据或数据地址。 ① 操作数可以是数据,也可以是数据的地址、 数据地址的地址或操作数的其他信息。 ② 操作数可分为目的操作数和源操作数。 ③ 操作数可用二进制数、十进制数或十六进制 数表示。 ④ 操作数的个数可以是0~3个。 ⑤ 操作数与操作码之间用空格分隔,操作数与 操作数与操作码之间用空格分隔,操作数与 操作数之间用逗号 操作数之间用逗号“,”分隔
弗原創IT教育中心 功能说明。 ①注释属于非必需项,是为便于阅 读,对指令功能作的说明和注解 ②注释必须以“;”开始
⑷ 注释:指令功能说明。 注释:指令功能说明。 ① 注释属于非必需项,是为便于阅 注释属于非必需项,是为便于阅 读, 对指令功能作的说明和注解。 对指令功能作的说明和注解。 ② 注释必须以“;”开始
弗原創IT教育中心 7.1.2指令分类 80C51共有111条指令 (1)按指令长度分类 可分为1字节、2字节和3字节指令 (2)按指令执行时间分类 可分为1机周、2机周和4机周指令 (3)按指令功能分类 可分为数据传送类、算术运算类、 逻辑运算类、位操作类和 控制转移类等大指令
7.1.2 指令分类 80C51共有111条指令。 ⑴ 按指令长度分类: 可分为1字节、2字节和3字节指令。 ⑵ 按指令执行时间分类: 可分为1机周、2机周和4机周指令。 ⑶ 按指令功能分类 按指令功能分类: 可分为数据传送类、算术运算类、 可分为数据传送类、算术运算类、 逻辑运算类、位操作类和 逻辑运算类、位操作类和 控制转移类 等5大类指令
弗原創IT教育中心 7.1.3指令系统中的常用符号 (1)#:立即数符。 Mov A#30H #data:8位立即数;#data16:16位立即数。 (2) direct:8位直接地址 Mov A 3AH 代表内RAM00H~7FH或SFR的80H~FFH。 (3)@:间接寻址符。 lOv A@RO 如@Ri,@DPTR,@A+PC,@A+DPTR。 (4)addr11:11位目的地址 adr16:16位目的地址。 (5)rel:带符号的8位偏移地址。 SJMP rel 用于转移指令,其范围是相对于下一条指令第1字节地址 的-128~+127个字节。 (6)bi:位地址。 SETB ACC. 7 代表片内RAM中的可寻址位00H~7FH及SFR中的可寻址位
7.1.3 指令系统中的常用符号 指令系统中的常用符号 ⑴ #:立即数符。 MOV A,#30H #data:8位立即数;#data16:16位立即数。 ⑵ direct:8位直接地址 MOV A,3AH 代表内RAM 00H~7FH或SFR的80H~FFH 。 ⑶ @:间接寻址符。 MOV A,@R0 如@Ri,@DPTR,@A+PC,@A+DPTR。 ⑷ addr11:11位目的地址。 addr16:16位目的地址。 ⑸ rel:带符号的8位偏移地址。 SJMP rel 用于转移指令,其范围是相对于下一条指令第1字节地址 的-128~+127个字节。 ⑹ bit:位地址。 SETB ACC.7 SETB ACC.7 代表片内RAM中的可寻址位00H~7FH及SFR中的可寻址位。 中的可寻址位
弗原創IT教育中心 7.1.4寻址方式 寻址就是寻找操作数的地址 七种寻址方式,一条指令可能含多种寻址方式 ◆立即寻址 ◆直接寻址 ◆寄存器寻址 ◆寄存器间接寻址 ◆变址寻址(基址寄存器+变址寄存器间接寻址) ◆相对寻址 ◆位寻址
7.1.4 寻址方式 寻址就是寻找操作数的地址。 七种寻址方式,一条指令可能含多种寻址方式 ♦立即寻址 ♦直接寻址 ♦寄存器寻址 ♦寄存器间接寻址 ♦变址寻址(基址寄存器+变址寄存器间接寻址) ♦相对寻址 ♦位寻址