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