文档介绍:第七讲数据传送类指令
教学方法: 讲授法
授课时数: 2学时
教学目的:
1、熟悉数据传送的三种方式及特点
2、熟悉ROM数据传送(查表)
3、熟练掌握RAM数据传送
教学重点:
RAM数据传送
教学难点:
堆栈操作指令、查表指令
教学环节:
组织教学: 考勤
复习提问:1、MCS-51系列指令格式?
2、六种寻址方式分别是什么?
引入新课:§3-2 数据传送类指令
一、内部RAM数据传送类
1、一般数据传送指令
回忆前述操作数描述符:A,direct,Rn,***@Ri,#data,DPTR等。
经排列组合可写出下列指令:
MOV A,Rn ;(A) (Rn)以下类似。
MOV A,direct
MOV A,***@Ri
MOV A,#data
MOV Rn,A
MOV Rn,direct
MOV Rn,#data
MOV direct,A
MOV direct,Rn
MOV direct,direct
MOV direct,***@Ri
MOV direct,#data
MOV ***@Ri,A
MOV ***@Ri, direct
MOV ***@Ri,#data
MOV DPTR,#data16 ;唯一的16位数据传送指令。
上述指令不影响任何标志位,但PSW的P位除外。
注意:MOV Rn,Rn
MOV ***@Ri, ***@Ri
MOV Rn, ***@Ri
MOV #data, A
等指令是非法指令。
2、栈操作指令
PUSH direct
POP direct
不影响任何标志位。
PUSH direct 指令执行中,机器自动进行两步操作:
(1)(SP) (SP)+ 1
(2)((SP)) (direct)
例1、设(SP) = 09H,(DPTR)= 0123H,分析:
执行 PUSH DPL
PUSH DPH
后,各单元中的内容。
POP direct 指令执行中,机器也自动进行两步操作:
(1)(direct) ((SP))
(2)(SP) (SP)- 1
例2、设(SP)= 0BH,(0BH)= 01H,(0AH)= 23H
执行 POP DPH
POP DPL
后,各单元中的内容。
结论:1)PUSH 与 POP 操作过程刚好相反;
2)进、出栈规则:
先进后出,后进先出。应注意指令书写先后顺序;
3)可用于“保护现场,恢复现场”。
3、字节交换指令
XCH A,Rn
XCH A,direct 整字节交换
XCH A,***@Ri
XCHD A,***@Ri
SWAP A 半字节交换
不影响任何标志位。
二、外部RAM数据传送
MOVX A,***@Ri
MOVX A, ***@DPTR
MOVX ***@Ri, A
MOVX ***@DPTR,A
执行过程中会使/WR、/RD有效。
例3、试编写一程序段,实现将外RAM 0FAH单元中的内容传送到外RAM
04FFH单元中。
解: MOV DPTR,#04FFH
MOV R0,#0FAH
M