新疆大学电气工程学院 单片微机原理及应用课程电子教案 第3讲 。第三章 MCS-51系列单片机指令系统
1 新疆大学电气工程学院 单片微机原理及应用课程电子教案 3 • 第三章 MCS-51系列单片机指令系统 第 讲
本讲主要内容 3-1汇编语言与指令系统 3-2寻址方式★ 3-3数据传送类指令 3-4算术操作类指令 3-5逻辑操作类指令 3-6程序转移类指令 3-7位操作类指令 3-8伪指令及汇编语言程序设计章 2
2 本讲主要内容 3-1 汇编语言与指令系统 3-2 寻址方式 3-3 数据传送类指令 3-4 算术操作类指令 3-5 逻辑操作类指令 3-6 程序转移类指令 3-7 位操作类指令 3-8 伪指令及汇编语言程序设计
3-1汇编语言与指令系统 51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定的空间,以字节为单位。 按指令所古字节数分类: 单字节(49条):双字节(45条):3字节(17条) ●每条指令在执行时要花去一定的时间,以机器周期为单位。按指 令热行时间分类: 单周期(64条):双周期(45条):4周期(2条) ●按指令的功能分类,可分为5大类: 数据传送类(28条);算术运算类(24条) 逻辑运算及移位类(25条);控制转移类(17条) 位操作类(17条)
3 51系列单片机指令集含有111条指令 每条指令在执行时要花去一定的时间,以机器周期为单位。按指 令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(28条);算术运算类(24条) 逻辑运算及移位类(25条);控制转移类(17条) 位操作类(17条) 每条指令在程序存储器ROM中占据一定的空间,以字节为单位。 按指令所占字节数分类: 单字节(49条);双字节(45条);3字节(17条) 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作
MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作。 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 指令格式[标号:]操作码[目的操作数][,源操作数][:注释] ·在MCS-51指令中,一般指令主要由操作码、操作数组成。 一条汇编语言指令中最多包含4个区段,如下所示: [标号:]操作码[操作数][;注释] 目的操作数,源操作数 4个区段之间要用分隔符分开:标号与操作码之间用 “:隔开,操作码与操作数之间用空格隔开,操作数与注释 之间用“;"隔开,如果操作数有两个以上,则在操作数之间 要用逗号“,”隔开(乘法指令和除法指令除外)
指令格式 • 在MCS-51指令中,一般指令主要由操作码、操作数组成。 3-1 汇编语言与指令系统 一条汇编语言指令中最多包含4 个区段, 如下所示: [标号:]操作码 [操作数] [;注释] 4 个区段之间要用分隔符分开: 标号与操作码之间用 “: ”隔开, 操作码与操作数之间用空格隔开, 操作数与注释 之间用“;”隔开, 如果操作数有两个以上, 则在操作数之间 要用逗号“,”隔开 (乘法指令和除法指令除外 )。 目的操作数,源操作数 [标号:]操作码 [目的操作数][,源操作数][;注释]
3-1汇编语言与指令系统 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如, 数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地 址。 (3)指定操作结果存放的地址。 6
6 •指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如, 数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地 址。 (3)指定操作结果存放的地址。 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 。单字节指令 操作码和操作数在同一个字节中。 ·双字节指令 前一个字节为操作码,后一个字节为操作数。 。三字节指令 前一个字节为操作码,后两个字节为操作数
• 单字节指令 操作码和操作数在同一个字节中。 • 双字节指令 前一个字节为操作码,后一个字节为操作数。 • 三字节指令 前一个字节为操作码,后两个字节为操作数。 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 本章在介绍MCS-51指令系统时,为叙述方便,将使用下列符 号及约定: (1)Rn(n=0~7):表示工作寄存器组R7R0中的某一寄存器。 (2)@Ri(i=0~1):以寄存器R0或R1作为间接寻址,表示操作 数地址在寄存器R0或R1中,“@”是间接寻址标识符。操作对象 是外部RAM或内部RAMO0~7FH单元(对仅有128字节内部RAM的51 子系列)或00~FFH单元(对含有256字节内部RAM的52/54子系列)。 8
8 本章在介绍MCS-51指令系统时,为叙述方便,将使用下列符 号及约定: (1) Rn(n=0~7):表示工作寄存器组R7~R0中的某一寄存器。 (2) @Ri(i=0~1):以寄存器R0或R1作为间接寻址,表示操作 数地址在寄存器R0或R1中, “@”是间接寻址标识符。操作对象 是外部RAM或内部RAM 00~7FH单元(对仅有128字节内部RAM的51 子系列)或00~FFH单元(对含有256字节内部RAM的52/54子系列)。 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 (3)@DPTR:以数据指针DPTR(16位)作为间接寻址,操作数在外部 RAM中,“@”也是间接寻址标识符。 (4)#data:8位立即数,其中“#”是立即数标识符。 (5)#data16:16位立即数,其中“#”也是立即数标识符,用于初始 化数据指针DPTR。 (6)direct:8位直接地址,可以是内部RAMO0~7FH单元字节地址 或内部RAM中的位地址(内部RAM中,20~2FH单元是位寻址区,位地址 编码为00~7FH)以及特殊功能寄存器的映象地址。MCS-51指令系统约 定:对于特殊功能寄存器,只能使用直接寻址方式访问
9 (3) @DPTR:以数据指针DPTR(16位)作为间接寻址,操作数在外部 RAM中, “@”也是间接寻址标识符。 (4) #data:8位立即数,其中“#”是立即数标识符。 (5) #data16:16位立即数,其中“#”也是立即数标识符,用于初始 化数据指针DPTR。 (6) direct:8位直接地址,可以是内部RAM 00~7FH单元字节地址 或内部RAM中的位地址(内部RAM中,20~2FH单元是位寻址区,位地址 编码为00~7FH)以及特殊功能寄存器的映象地址。MCS-51指令系统约 定:对于特殊功能寄存器,只能使用直接寻址方式访问。 3-1 汇编语言与指令系统
3-1汇编语言与指令系统 (7)/bit:在位操作中,取出“bit”位信息后,先取反,然后再 参与运算,但不改变bit位的值,其中“/”是位取反标识符。 (8)re1:补码形式的8位偏移地址,范围是-128~+127。 10
10 (7) /bit:在位操作中,取出“bit”位信息后,先取反,然后再 参与运算,但不改变bit位的值,其中“/”是位取反标识符。 (8) rel:补码形式的8位偏移地址,范围是-128~+127。 3-1 汇编语言与指令系统