第3章McS-51单片机指令系统 3.MCS-51指令系统的分类、 格式及一般说明 3.2寻址方式 3.3分类指令
第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)可直接用传送指令实现端口的输入输出操 作
3.1MCS-51指令系统的分类、格式及一般说明 3.1.1指令分类 3.1.2指令格式 3.1.3指令描述符号介绍 返回本章首页
3.1 MCS-51指令系统的分类、格式及一般说明 • 3.1.1 指令分类 • 3.1.2 指令格式 • 3.1.3 指令描述符号介绍 返回本章首页
3.1.1指令分类 按指令功能,MCS51指令系统分为数据传递 与交换、算术运算、逻辑运算、程序转移、 布尔处理操作、CPU控制等6类。 布尔处理操作类指令又称位操作指令 返回本节
3.1.1 指令分类 • 按指令功能,MCS-51指令系统分为数据传递 与交换、算术运算、逻辑运算、程序转移、 布尔处理操作、CPU控制等6类。 • 布尔处理操作类指令又称位操作指令。 返回本节
3.1.2指令格式 在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)。 direct-8位的内部数据存储器单元中的地址 #data包含在指令中的8位常数 #data16—包含在指令中的16位常数。 addr16—16位目的地址。 addre-11位目的地址
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位目的地址
rel8位带符号的偏移字节,简称偏移量 DPTR数据指针,可用作16位地址寄存器 bit内部RAM或专用寄存器中的直接寻址位。 A累加器。 B专用寄存器,用于乘法和除法指令中。 C进位标志或进位位,或布尔处理机中的累加器
rel——8位带符号的偏移字节,简称偏移量。 DPTR——数据指针,可用作16位地址寄存器。 bit——内部RAM或专用寄存器中的直接寻址位。 A——累加器。 B——专用寄存器,用于乘法和除法指令中。 C——进位标志或进位位,或布尔处理机中的累加器
a间址寄存器或基址寄存器的前缀,如 Ri, aDPtr。 /—位操作数的前缀,表示对该位操作数取反, 如/bit ——片内RAM的直接地址或寄存器 (×)由×寻址的单元中的内容。 箭头左边的内容被箭头右边的内容所 代替。 返回本节
@——间址寄存器或基址寄存器的前缀,如 @Ri,@DPTR。 / ——位操作数的前缀,表示对该位操作数取反, 如/bit。 ×——片内RAM的直接地址或寄存器。 (×)——由×寻址的单元中的内容。 ——箭头左边的内容被箭头右边的内容所 代替。 返回本节
3.2寻址方式 3.2.1立即寻址 3.2,2直接寻址 3.2.3寄存器寻址 3.2.4寄存器间接寻址 32.5变址寻址 32.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 位寻址 返回本章首页
3.2.1立即寻址 指令中直接给出操作数的寻址方式。立即操 作数用前面加有#号的8位或16位数来表示 例如:MOVA,#60H;A←#60H MOVDPTR,#3400H DPTR+#3400H MOV30H,#40H;30H单元←#40H 上述三条指令执行完后,累加器A中数据为 立即数据60H,DPTR寄存器中数据为3400H, 30H单元中数据为立即数40H。 返回本节
3.2.1 立即寻址 • 指令中直接给出操作数的寻址方式。立即操 作数用前面加有#号的8位或16位数来表示。 例如:MOV A,# 60H ;A←#60H MOVDPTR,# 3400H ;DPTR←#3400H MOV30H,# 40H ;30H单元←#40H • 上述三条指令执行完后,累加器A中数据为 立即数据60H,DPTR寄存器中数据为3400H, 30H单元中数据为立即数40H。 返回本节