第六讲 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、
.小结:
作业