第3章McS51单片机指令系统 3.1MCS-51指令系统概述 3.2寻址方式 33分类指令 下一贪
第3章 MCS-51单片机指令系统 3.1 MCS-51指令系统概述 3.2 寻址方式 3.3 分类指令 下一页
MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或 相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操 作 上一页
MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或 相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操 作。 上一页
31MCS51指令系统的概述 3.1.1指令分类 3.1.2指令格式 3.1.3指令描述符号介绍 返回本章首页
3.1 MCS-51指令系统的概述 3.1.1 指令分类 3.1.2 指令格式 3.1.3 指令描述符号介绍 返回本章首页
311指令分类 按指令功能,MCS51指令系统分为数据传递 与交换、算术运算、逻辑运算、程序转移、 布尔处理操作、CPU控制等6类。 布尔处理操作类指令又称位操作指令
3.1.1 指令分类 • 按指令功能,MCS-51指令系统分为数据传递 与交换、算术运算、逻辑运算、程序转移、 布尔处理操作、CPU控制等6类。 • 布尔处理操作类指令又称位操作指令。 返回本节
312指令格式 在MCS-51指令中,一般指令主要由操作码、 操作数组成。 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。 例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所 在的地址。 (3)指定操作结果存放的地址
3.1.2 指令格式 • 在MCS-51指令中,一般指令主要由操作码、 操作数组成。 • 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。 例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所 在的地址。 (3)指定操作结果存放的地址。 返回本节
3.1.3指令描述符号介绍 Rn当前选中的寄存器区中的8个工作寄存 器R0~R7(n=0~7)。 Ri当前选中的寄存器区中的2个工作寄存器 R0、R1(i=0,1)。 direct8位的内部数据存储器单元中的地址。 #data包含在指令中的8位常数 #data16—包含在指令中的16位常数。 addr16—16位目的地址。 addr111位目的地址。 下一贪
3.1.3 指令描述符号介绍 Rn——当前选中的寄存器区中的8个工作寄存 器R0~R7(n=0~7)。 Ri——当前选中的寄存器区中的2个工作寄存器 R0、R1(i=0,1)。 direct—8位的内部数据存储器单元中的地址。 #data——包含在指令中的8位常数。 #data16——包含在指令中的16位常数。 addr16——16位目的地址。 addr11——11位目的地址。 下一页
re1—8位带符号的偏移字节,简称偏移量。 DPTR数据指针,可用作16位地址寄存器 bit——内部RAM或专用寄存器中的直接寻址位。 A—累加器。 B专用寄存器,用于乘法和除法指令中。 C进位标志或进位位,或布尔处理机中的 累加器。 下一贪
rel——8位带符号的偏移字节,简称偏移量。 DPTR——数据指针,可用作16位地址寄存器。 bit——内部RAM或专用寄存器中的直接寻址位。 A——累加器。 B——专用寄存器,用于乘法和除法指令中。 C——进位标志或进位位,或布尔处理机中的 累加器。 下一页
间址寄存器或基址寄存器的前缀,如 Ri, aDPTR。 /—位操作数的前缀,表示对该位操作数取反, 如/bit ×——片内RAM的直接地址或寄存器。 (×)由×寻址的单元中的内容。 箭头左边的内容被箭头右边的内容所 代替
@——间址寄存器或基址寄存器的前缀,如 @Ri,@DPTR。 / ——位操作数的前缀,表示对该位操作数取反, 如/bit。 ×——片内RAM的直接地址或寄存器。 (×)——由×寻址的单元中的内容。 ——箭头左边的内容被箭头右边的内容所 代替。 返回本节
32寻址方式 3.2,1立即寻址 3.22直接寻址 3.23寄存器寻址 3.2.4寄存器间接寻址 3.25变址寻址 3.2.6相对寻址 3.2.7位寻址 返回本章首页
3.2 寻址方式 3.2.1 立即寻址 3.2.2 直接寻址 3.2.3 寄存器寻址 3.2.4 寄存器间接寻址 3.2.5 变址寻址 3.2.6 相对寻址 3.2.7 位寻址 返回本章首页
321立即寻址 指令中跟在操作码以后的第一个字节就是实际 的操作数。操作数前面加有#号。 例如:MoVA,#7OH ;A←#7OH MOV DPTR, #1600H: DPTR+#1600H MOV 30H, #40H ;30H单元←#40H M程序存储空间 PC 01110100 A PC+101110000 70H
3.2.1 立即寻址 • 指令中跟在操作码以后的第一个字节就是实际 的操作数。操作数前面加有#号。 例如:MOV A,#70H ;A←#70H MOV DPTR,#1600H ;DPTR←#1600H MOV 30H,#40H ;30H单元←#40H 返回本节 M 程序存储空间 PC 0 1 1 1 0 1 0 0 PC+1 0 1 1 1 0 0 0 0 A 70H