uC 2012 Ch3-2传送类指令_sxj
发布时间:2024-11-08
发布时间:2024-11-08
单片机 公茂法
第 3 章MCS-51 单片机指令系统
单片机 公茂法
3.3 MCS-51的指令集
按功能,分 5 类
3.3.1 数据传送类指令3.3.2 算术运算类指令
3.3.3 逻辑运算类指令3.3.4 控制转移指令
3.3.5 位操作类指令
单片机 公茂法
3.3.1 数据传送类指令所有的传送指令都不影响 标志位CY、AC和OV
按传送区域,分3组
1. 内部RAM数据传送
涉及累加器A的指令将影响 奇偶标志位P
MOV、PUSH/POP、XCH/XCHD、SWAP
2. 访问外部RAM或I/O的数据传送
MOVX
3. 程序存储器(ROM)到累加器(A)的传送
MOVC
单片机 公茂法
数据传送类指令一览表
单片机 公茂法
1. 内部RAM数据传送
MOV A ,
ACC A 累加器
Direct 直接寻址
@Ri 间接寻址
Rn 寄存器
#data 立即数
单片机 公茂法
(1) 以累加器A为目的操作数的指令
单片机 公茂法
(1) 以累加器A为目的操作数的指令 功能: 格式 MOV MOV MOV MOV
把源操作数的内容送入累加器A A, Rn A, direct A, @Ri A, #data ;(A) ← (Rn) ;(A) ← (direct) ;(A) ← ((Rn)) ;(A) ← #data
单片机 公茂法
(2) 以Rn为目的操作数的指令
单片机 公茂法
(2) 以Rn为目的操作数的指令
功能:把源操作数的内容送入当前工作寄存器区的 R0~R7中的某一个寄存器(由 RS1、RS0 确定)
格式
MOV
Rn, A
;(A) ← (Rn)
MOVMOV
Rn, direct
;(A) ← (direct)
Rn, #data ;(A) ← #data
注意
MOVMOV
× Rn, @Ri × Rn, Rn
单片机 公茂法
[例1]
MOV
R0, A,则R0在内部RAM的地址是 00 H ,则R0在内部RAM的地址是 08 H
若RS1=0、RS0=0 若RS1=0、RS0=1
[例2] 已知:(A)=60H,(R1)=10H,(R3)=45H,(45H)=37H 指令为: ;(R1) ← (A) MOV R1, A ;(R2) ← (45H) MOV R2, 45H (30H) ;(R3) ← #85H #33H MOV R3, #33H 执行后: (R1) = 60H 50H、(R2) = 37H 37H、(R3) = 33H 35H
单片机 公茂法
(3) 以直接地址为目的操作数的指令
单片机 公茂法
(3) 以直接地址为目的操作数的指令
功能 把源操作数送入由直接地址指出的存储单元 格式
MOV
direct, A
;(direct) ← (A)
MOVMOV MOV MOV
direct, Rndirect, direct direct, @Ri direct, #data
;(direct) ← (Rn);(direct) ← (direct) ;(direct) ← ((Rn)) ;(direct) ← #data
[例] 若(R1)=51H,(51H)=68H
指令为: MOV 22H, @R1 执行结果:(22H)=68H
;(40H) ←(72H) ;(22H) ←(51H)
单片机 公茂法
(4) 以寄存器间接地址为目的操作数的指令
单片机 公茂法
(4) 以寄存器间接地址为目的操作数的指令
功能
把源操作数送入由R0或R1指出的存储单元
格式
MOV MOV MOV
@Ri, A @Ri, direct @Ri, #data
;((Ri)) ← (A) ;((Ri)) ← (direct) ;((Ri)) ← #data
[例] 若 (R1)=30H, (A)=20H,指令为: MOV @R1, A 执行结果: (R1)=______H、(30H) = ____H 30 20
单片机 公茂法
(5) 16位数据传送指令
单片机 公茂法
(5) 16位数据传送指令
功能
把16位常数送入DPTR 高位→DPH 低位→DPL
格式
MOV
DPTR,#data16 ;(DPTR) ← #data16
[例] MOV
DPTR,#1342H ;
执行后(DPTR)=1342H ;(DPH)=13H、(DPL)=42H