第3章MCS-51单片机指令系统 第3章MCS-51单片机指令系统 31寻址方式 3.2指令系统 BACK
第 3 章 MCS - 51单片机指令系统 第3章 MCS - 51单片机指令系统 3.1 寻址方式 3.2 指令系统
第3章MCS-51单片机指令系统 1.单字节指令 单字节指令格式由8位二进制编码表示,例如 CLRA→→E4H 2.双字节指令 双字节指令格式由两个字节组成,操作码和操作数,例如 MOvA,#10H→74H10H 3.三字节指令 三字节指令格式中,第一个字节为操作码,后两个字节为 操作数,例如 MOv40H,#30+75H40H30H
第 3 章 MCS - 51单片机指令系统 1. 单字节指令格式由8位二进制编码表示, 例如: CLR A→E4H 2. 双字节指令 双字节指令格式由两个字节组成, 操作码和操作数, 例如: MOV A, #10H→74H 10H 3. 三字节指令 三字节指令格式中, 第一个字节为操作码, 后两个字节为 操作数, 例如: MOV 40H, #30H→75H 40H 30H
第3章MCS-51单片机指令系统 条汇编语言指令中最多包含4个区段,如下所示 [标号:]操作码[操作数][;注释] 4个区段之间要用分隔符分开:标号与操作码之间用 隔开,操作码与操作数之间用空格隔开,操作数与注释 之间用“;"隔开,如果操作数有两个以上,则在操作数之间要 用逗号“,”隔开(乘法指令和除法指令除外)
第 3 章 MCS - 51单片机指令系统 一条汇编语言指令中最多包含 4 个区段, 如下所示: [标号:] 操作码 [操作数] [;注释] 4 个区段之间要用分隔符分开: 标号与操作码之间用 “ : ”隔开, 操作码与操作数之间用空格隔开, 操作数与注释 之间用“ ;”隔开, 如果操作数有两个以上, 则在操作数之间要 用逗号“,”隔开 (乘法指令和除法指令除外 )
第3章MCS-51单片机指令系统 31寻址方式 所谓寻址方式,就是寻找操作数地址的方式,在用汇编语 言编程时,数据的存放、传送、运算都要通过指令来完成 编程者必须自始至终都要十分清楚操作数的位置,以及如何 将它们传送到适当的寄存器去参与运算。每一种计算机都具 有多种寻址方式。寻址方式的多少是反映指令系统优劣的主 要指标之
第 3 章 MCS - 51单片机指令系统 3.1 寻址方式 所谓寻址方式, 就是寻找操作数地址的方式, 在用汇编语 言编程时, 数据的存放、传送、 运算都要通过指令来完成。 编程者必须自始至终都要十分清楚操作数的位置, 以及如何 将它们传送到适当的寄存器去参与运算。每一种计算机都具 有多种寻址方式。寻址方式的多少是反映指令系统优劣的主 要指标之一
第3章MCS-51单片机指令系统 在MCS-51单片机指令系统中,有以下7种寻址方式 (1)立即寻址; (2)直接寻址 (3)寄存器寻址; (4)寄存器间接寻址 (5)基址寄存器加变址寄存器间接寻址; (6)相对寻址:; (7)位寻址
第 3 章 MCS - 51单片机指令系统 在 MCS -51单片机指令系统中, 有以下 7种寻址方式: (1) 立即寻址; (2) 直接寻址; (3) 寄存器寻址; (4) 寄存器间接寻址; (5) 基址寄存器加变址寄存器间接寻址; (6) 相对寻址; (7) 位寻址
第3章MCS-51单片机指令系统 1.立即寻址 立即寻址方式是指操作数包含在指令字节中。跟在指令 操作码后面的数就是参加运算的数,该操作数称为立即数。 立即数有一字节和二字节两种可能,例如指令 MOVA.井3AH MOV DPTR ODFFFH 上述两条指令均为立即寻址方式,第一条指令的功能是将 立即数3AH送累加器A中,第二条指令的功能是将立即数 要ODFH送数据指针DPTR中(ODFH→DPH.OFFH→DPL)
第 3 章 MCS - 51单片机指令系统 1. 立即寻址方式是指操作数包含在指令字节中。 跟在指令 操作码后面的数就是参加运算的数, 该操作数称为立即数。 立即数有一字节和二字节两种可能, 例如指令: MOV A, # 3AH MOV DPTR, # 0DFFFH 上述两条指令均为立即寻址方式, 第一条指令的功能是将 立即数 3AH送累加器A中, 第二条指令的功能是将立即数 0DFFFH送数据指针DPTR中(0DFH→DPH, 0FFH→DPL)
第3章MCS-51单片机指令系统 2.直接寻址 在指令中直接给出操作数的地址,这种寻址方式就属于直 接寻址方式。在这种方式中,指令的操作数部分直接是操作数 的地址 在MCS-51单片机指令系统中,直接寻址方式中可以访问3 种存储器空间 (1)内部数据存储器的低128个字节单元(00H~7FH)。 (2)特殊功能寄存器。特殊功能寄存器只能用直接寻址方 式进行访问 (3)位地址空间
第 3 章 MCS - 51单片机指令系统 2. 在指令中直接给出操作数的地址, 这种寻址方式就属于直 接寻址方式。在这种方式中, 指令的操作数部分直接是操作数 的地址。 在MCS -51 单片机指令系统中, 直接寻址方式中可以访问 3 种存储器空间: (1) 内部数据存储器的低 128 个字节单元(00H~7FH)。 (2) 特殊功能寄存器。 特殊功能寄存器只能用直接寻址方 式进行访问。 (3) 位地址空间
第3章MCS-51单片机指令系统 3.寄存器寻址 在该寻址方式中,参加操作的数存放在寄存器里。寄存 器包括8个工作寄存器R0~R7,累加器A,寄存器B、数据指 针DPTR和布尔处理器的位累加器C
第 3 章 MCS - 51单片机指令系统 3. 寄存器寻址 在该寻址方式中, 参加操作的数存放在寄存器里。寄存 器包括8个工作寄存器R0~R7, 累加器A, 寄存器B、数据指 针DPTR和布尔处理器的位累加器C
第3章MCS-51单片机指令系统 4.寄存器间接寻址 在这种寻址方式中,寄存器的内容为操作数的地址。寄存 器间接寻址只能使用寄存器RO、R1作为地址指针,寻址内部 RAM区的数据;当访问外部RAM时,可使用RO、R1及DPTR作 为地址指针。寄存器间接寻址符号为“@”,例如 MOV A, @RO RO 内部RAM 30H 30H 20H 20H
第 3 章 MCS - 51单片机指令系统 4. 寄存器间接寻址 在这种寻址方式中, 寄存器的内容为操作数的地址。 寄存 器间接寻址只能使用寄存器R0、R1 作为地址指针,寻址内部 RAM区的数据; 当访问外部RAM时, 可使用R0、 R1及DPTR作 为地址指针。寄存器间接寻址符号为“@”, 例如:
第3章MCS-51单片机指令系统 5.基址寄存器加变址寄存器间接寻址 这种寻址方式用于访问程序存储器中的数据表格,它以 基址寄存器DPTR或PC的内容为基本地址,加上变址寄存器 A的内容作为操作数的地址,例如: MOⅤCA, aDPtR+A JMP OA+DPTR MOVC A,@ PC+A
第 3 章 MCS - 51单片机指令系统 5. 这种寻址方式用于访问程序存储器中的数据表格, 它以 基址寄存器DPTR或PC的内容为基本地址, 加上变址寄存器 A的内容作为操作数的地址, 例如: MOVC A, @DPTR+A JMP @A+DPTR MOVC A, @ PC+A