第三章指令系统 51系列单片机指令集含有111条指令 9每条指令在程序存储器RoM中占据一定的空间, 以字节为单位。按指令所占字芳数分类 单字节(49条双字节(45条)3字节(17条) ●每条指令在执行时要花去一定的时间,以机器 周期为单位。按指令热行分类: 单周期(64条)双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(28条);算术运算类(24条) 逻辑运算及移位类(25条);控制转移类(17条) 位操作类(17条)
第三章 指令系统 51系列单片机指令集含有111条指令 每条指令在执行时要花去一定的时间,以机器 周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(28条);算术运算类(24条) 逻辑运算及移位类(25条);控制转移类(17条) 位操作类(17条) 每条指令在程序存储器ROM中占据一定的空间, 以字节为单位。按指令所占字节数分类: 单字节(49条);双字节(45条);3字节(17条)
MCS-51单片机指令系统有如下特点 (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或 相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作
MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或 相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作
指 令格式 ◆在MCS-51指令中,一般指令主要由操 作 码、操作数组成。 ◆指令应具有以下功能: (1)操作码指明执行什么性质和类型的操 作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作 数所在的地址。 (3)指定操作结果存放的地址
指令格式 在MCS-51指令中,一般指令主要由操 作 码、操作数组成。 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操 作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作 数所在的地址。 (3)指定操作结果存放的地址
◆单字节指令 操作码和操作数在同一个字节中。 ◆双字节指令 前一个字节为操作码 后 个字节为操作数。 ◆三字节指令 前一个字节为操作码,后两个字节为操作数
单字节指令 操作码和操作数在同一个字节中。 双字节指令 前一个字节为操作码,后一个字节为操作数。 三字节指令 前一个字节为操作码,后两个字节为操作数
指令描述符号介绍 Rn当前选中的寄存器区中的8个工作寄存器 R0~R7(n=0~7)。 Ri当前选中的寄存器区中的2个工作寄存器 R0、R1(i=0,1) direct-8位的内部数据存储器单元中的地址。 #data包含在指令中的8位常数。 data16包含在指令中的16位常数。 addr1616位目的地址。 addr1111位目的地址
指令描述符号介绍 Rn——当前选中的寄存器区中的8个工作寄存器 R0~R7(n=0~7)。 Ri——当前选中的寄存器区中的2个工作寄存器 R0、R1(i=0,1)。 direct—8位的内部数据存储器单元中的地址。 #data——包含在指令中的8位常数。 #data16——包含在指令中的16位常数。 addr16——16位目的地址。 addr11——11位目的地址
rel8位带符号的偏移字节,简称偏移量。 DPTR数据指针,可用作16位地址寄存器。 bt内部RAM或专用寄存器中的直接寻址位。 A 累加器。 B—专用寄存器,用于乘法和除法指令中。 C—进位标志或进位位,或布尔处理机中的 累加器。 @—间址寄存器或基址寄存器的前缀, 如aRi,@DPTR
rel —— 8位带符号的偏移字节,简称偏移量。 DPTR—— 数据指针,可用作16位地址寄存器。 bit ——内部RAM或专用寄存器中的直接寻址位。 A —— 累加器。 B —— 专用寄存器,用于乘法和除法指令中。 C —— 进位标志或进位位,或布尔处理机中的 累加器。 @ —— 间址寄存器或基址寄存器的前缀, 如@Ri,@DPTR
/——位操作数的前缀,表示对该位数操作 取反,如/bit (×)—片内RAM的直接地址或寄存器。 ((x))—由x寻址的单元中的内容 箭头左边的内容被箭头右边的内 容所代替
/ —— 位操作数的前缀,表示对该位数操作 取反,如/bit。 (×) —— 片内RAM的直接地址或寄存器。 ((×))—— 由×寻址的单元中的内容。 —— 箭头左边的内容被箭头右边的内 容所代替
51单片机指令的寻址方式 寻址方式:指令按地址获得操作数的方式 七种寻址方式一条指令可能含多种寻址方式。 ◆立即寻址 ◆直接寻址 ◆寄存器寻址 ◆寄存器间接寻址 ◆变址寻址(基址寄存器+变址寄存器间接寻址) ◆相对寻址 ◆位寻址
51单片机指令的寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址(基址寄存器+变址寄存器间接寻址) 相对寻址 位寻址 寻址方式:指令按地址获得操作数的方式 七种寻址方式,一条指令可能含多种寻址方式
立即寻址 ◆指令中直接给出操作数的寻址方式。立即操作 数用前面加有#号的8位或16位数来表示。 例如:MovA,#60H;A←#60H MOVDPTR # 3400H DPTR←#3400H Mov30H,#40H;30H单元←#40H ◆上述三条指令执行完后,累加器A中数据为立即 数据60H,DPTR寄存器中数据为3400H 30H单元中数据为立即数40H。 注意:符号“#”表明其后跟的是立即数, 立即数就是数字量本身
立即寻址 指令中直接给出操作数的寻址方式。立即操作 数用前面加有#号的8位或16位数来表示。 例如:MOV A,# 60H ;A←#60H MOVDPTR,# 3400H ;DPTR←#3400H MOV30H,# 40H ;30H单元←#40H 上述三条指令执行完后,累加器A中数据为立即 数据60H,DPTR 寄存器中数 据为3400H, 30H单元中数据为立即数40H。 注意:符号“#”表明其后跟的是立即数, 立即数——就是数字量本身
直接寻址 ◆指令中直接给出操作数地址的寻址方式,能进行直接 寻址的存储空间有SFR寄存器和内部数据RAM。 例如:MoVR1,1FH:;(R1)←(1FH) MOV 30H, 4AH :30H<(4AH) 在本单片机中规定:访问特殊功能寄存器SFR只能采用直 接寻址方式。例如: MoA,SP;(A)←(SP) MovA,81H;(A)←(SP) 相同 MoV P1,#5AH :(P1)-(#5AH) MoV90H,#5AH;(P1)-(#5A相同 MovB,30H;(B)←(30H)
直接寻址 指令中直接给出操作数地址的寻址方式,能进行直接 寻址的存储空间有SFR寄存器和内部数据RAM。 例如:MOV R1,1FH ;(R1) ←(1FH) MOV 30H,4AH ;(30H)←(4AH) 在本单片机中规定:访问特殊功能寄存器SFR只能采用直 接寻址方式。例如: MOV A, SP ; (A) ←(SP) MOV A, 81H ; (A) ←(SP) MOV P1, #5AH ; (P1)←(#5AH) MOV 90H,#5AH ; (P1)←(#5AH) MOV B, 30H ; (B) ←(30H) 相同 相同