第六讲 MCS-51指令系统及汇编语言程序设计 教学方法: 讲授法 授课时数: 2学时 教学目的: 1、了解MCS-51指令的分类 2、掌握MCS-51汇编语言指令格式 3、训练掌握六种寻址方式 教学重点: 六种寻址方式 教学难点: 间接寻址、基址+变址寻址 教学环节: 组织教学:考勤,交作业情况。 引入新课: 板书课题: 第三章 MCS-51指令系统及汇编语言程序设计 §3-1汇编语言与指令系统简介 一、汇编语言程序设计的意义 什么是程序? 完成某项特定任务的指令的集合。 计算机按程序一条一条地依次执行指令,从而完成指定任务。 要让计算机完成各项任务,就应设计各种程序。 程序设计语言: 机器语言 汇编语言 高级语言 汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。 指令 = 操作码 + 操作数 操作码——表示了该指令所能执行的操作功能。 操作数——表示参加操作的数的本身或操作数所在的地址。 MCS-51指令格式: [标号:] 操作码助记符 [第一操作数][,第二操作数][;注释] 二、MCS-51系列单片机的指令系统 111条指令,共分五大类: 数据传送类;(29条) 算术运算类;(24条) 逻辑运算类;(24条) 控制转移类;(17条) 位操作类。(17条) 指令中操作数的描述符号: Rn —— 工作寄存器R0 ~ R7 Ri —— 间接寻址寄存器R0、R1 Direct —— 直接地址,包括内部128B RAM单元地址、26个SFR地址。 #data —— 8位常数 #data 16 —— 16位常数 addr 16 —— 16位目的地址 addr 11 —— 11位目的地址 rel —— 8位带符号的偏移地址 DPTR —— 16位外部数据指针寄存器 bit —— 可直接位寻址的位 A —— 累加器 B —— 寄存器B C —— 进、借位标志位,或位累加器 @ —— 间接寄存器或基址寄存器的前缀 / —— 指定位求反 (x)—— x中的内容 ((x))—— x中的地址中的内容 $ —— 当前指令存放的地址 三、寻址方式 寻找操作数存放单元的地址的方式,共6种方式。 1、立即数寻址 所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀 MOV A,#20H 2、寄存器寻址 操作数存放在工作寄存器R0 ~ R7中,或寄存器B中。 MOV A,R2 3、直接寻址 指令中直接给出操作数的地址。 MOV A,30H MOV 30H,DPH 4、寄存器间接寻址 指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用 “@”表示前缀。 举“两个抽屉,两把钥匙”的例子。 MOV R0,#30H MOV A,@R0 MOV A,#20H MOV R1,#40H MOV @R1,A 5、变址寻址 操作数地址 = 变地址 + 基地址 基地址寄存器 DPTR 或 PC 变址寄存器 @A 该寻址方式常用于访问程序存储器,查表。 MOV A,@A + DPTR 6、相对寻址 把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。 举“李同学20岁,张同学比李同学大3岁”的例子。 JC 60H ;设(PC) = 2000H, 则当C = 1时, 转移的目的地址 = (PC)+ 2 + 60H 巩固新课: 1、汇编语言有何种特点?指令格式? 2、MCS—51系列机共有多少条指令?分几类? 3、MCS—51系列汇编语言指令有几种寻址方式? 版书设计 一、汇编语言程序设计的意义 1、……. 2、……. 3、 二、MCS—51单片机指令系统……. 1、……. 2、……. 3、  三、寻址方式 1、……. 2、……. 3、 4、……. 5、……. 6、 .小结: 作业