数据传送指令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结果:(30H)=30H 例4 若(50H)=30H 执行MOV 20H,50H 指令
则20H的内容为多少 结果:(20H)=30H
.
15
例5设(30H)=40H,(R0)=36H,
(36H)=52H,执行指令MOV 30H,@R0 则 30H的内容为多少
(30H)=52H
.
16
以@Ri为目的操作数的指令
3、源操作数寻址方式
立即寻址、直接寻址、寄存器寻址
.
10
例题 例1若(60H)= 30H,执行 MOV R6,60H ,则R6
的内容为多少 (R6)= 30H
例2 若执行MOV R1,#20H ,则R1的内容为多少 (R1)=20H
例3 若(A)=23H,执行MOV R1,A ,则R1的内 容为多少
.
19
作业:
1、若(R1)= 30H,(30H)= 68H,执行 MOV A,@R1,则A的内容为多少,源操作数 的寻址方式是什么?
2、若执行MOV R1,#20H ,则R1的内容为多少
3、若(64H)=70H,(A)=78H,执行指令MOV 64H,A 则64H及A的内容为多少
4、若(R1)=35H,执行 MOV @R1,#40H 指 令则35H的内容为多少
.
21
• 特殊功能寄存器包括累加器ACC、B寄存 器、程序状态字寄存器PSW、堆栈指针SP、 数据指针DPTR等
.
22
堆栈操作指令(2条)
• 在MCS-51片内RAM中可以设定一个后进 先出的堆栈,地址为30H—7FH。堆栈操作 包括进栈PUSH和出栈POP。
.
23
进栈操作指令 PUSH direct 这条指令首先将堆栈指针SP + 1,然后把直 接地址里的内容传送到堆栈指针SP指出的 片内RAM存储单元中。
.
6
3、指令功能 把源操作数的内容送入累加器Acc
4、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄
存器间接寻址等寻址方式
.
7
例1若(R1)=20H,(20H)=65H, 执行MOV A , Rn
则A的内容为多少,源操作数的寻址方式是什 么? 则结果:(A)=65H 寻址方式: 寄存器寻址方式
例2若执行 MOV A,#12H ,则A的内容为多少,
源操作数的寻址方式是什么?
则结果:(A)=12H
.
8
例3若(40H)
wk.baidu.com=20H ,执行
.
9
以Rn 为目的操作数的指令
1、指令
MOV Rn,direct
MOV Rn,#data
MOV Rn,A
2、功能
将源操作数的内容送入当前工作寄存器区 的R0-R7中的某一个寄存器。
(R1)=23H
.
11
以direct 为目的操作数的指令
1、指令 MOV direct, @Rn MOV direct,A MOV direct,#data MOV direct,Rn MOV direct,direct
.
12
2、功能
把源操作数送入由直接地址指向的存储 单元,直接寻址时,direct可以是特殊功能 寄存器的地址、内部RAM区的地址,因此, 允许对端口直接操作。
.
4
内部数据传送指令(15条)
• 以A为目的操作数的指令 • 以Rn 为目的操作数的指令 • 以direct 为目的操作数的指令 • 以@Ri为目的操作数的指令
.
5
以A为目的操作数的指令
1、格式 MOV 目的操作数,源操作数
2、指令 MOV A,Rn MOV A,direct1 MOV A,#data MOV A,@Ri
3-3数据传送指令
.
1
1、学习以A为目的操作数的指令的功能及其应用 2、学习以Rn 为目的操作数的指令的功能及其应用 3、学习以direct 为目的操作数的指令的功能及其应用 4、学习以@Ri为目的操作数的指令的功能及其应用
.
2
• 在MCS-51单片机中,数据传送是最基本
和最主要的操作。数据传送操作可以在片
内RAM和SFR内进行,也可以在累加器Acc和
片外存储器之间进行。指令必须指定传送
数据的源地址和目的地址,以便机器在执
行指令时把源地址中的内容传送到目的地
址中,但不改变源地.址中的内容。
3
• MCS-51单片机的数据传送指令共有28条, 分为内部数据传送指令、外部数据传送指 令、堆栈操作指令和数据交换指令等四类。
1、指令
MOV @Ri, A
MOV @Ri,#data
MOV @Ri,direct
2、功能
将源操作数送入以R0或R1的内容为地址的 存储单元
3、源操作数寻址方式
立即寻址、直接寻址、寄存器寻址
.
17
例题 例1 若(R1)=56H,(A)=35H
执行MOV @R1,A 指令,则56H的内容为多少 结果:(56H)=35H 例2 若(R1)=35H,执行 MOV @R1,#40H 指令 则35H的内容为多少 结果:(35H)=40H
例3 若(R1)=20H,(30H)=70H
执行 MOV @R1,30H 指令则20H的内容为多少
结果:(20H)=70H .
18
1、若(23H)= 30H,执行 MOV R6,23H 则 R6的内容为多少,该指令的寻址方式是什么?
2、若执行MOV R3,#24H , 则结果:(R3) =?
3、若(40H)=34H ,执行MOV A ,40H, 则结果: (A)=?
.
24
例题1 若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令
结果:(SP)=08H,(08H)=88H
例题2 设(SP)=30H,(ACC)=60H,
.
20
用户RAM区或堆栈区(见教材P49)
• 供用户使用的一般RAM区,共有80个单 元,其单元地址为30H~7FH。在一般应用 中常把堆栈开辟在此区中。MCS—51单片机 堆栈区不是固定的, 原则上可设在内部RAM 的任意区域内, 但为了避开工作寄存器区 和位寻址区, 一般设在30H以后的范围内。
3、源操作数寻址方式
有立即寻址、直接寻址、寄存器寻址、寄 存器间接寻址
.
13
例题 例题1 若(A)=78H,执行指令MOV 64H,A
则64H及A的内容为多少 (64H)=78H,(A)=78H
例2若 执行MOV 30H,#29H 指令则30H的内 容为多少 结果:(30H)=29H
.
14
例3 若(R0)=30H 执行MOV 30H,R0 指令,则30H的内容为多少
则20H的内容为多少 结果:(20H)=30H
.
15
例5设(30H)=40H,(R0)=36H,
(36H)=52H,执行指令MOV 30H,@R0 则 30H的内容为多少
(30H)=52H
.
16
以@Ri为目的操作数的指令
3、源操作数寻址方式
立即寻址、直接寻址、寄存器寻址
.
10
例题 例1若(60H)= 30H,执行 MOV R6,60H ,则R6
的内容为多少 (R6)= 30H
例2 若执行MOV R1,#20H ,则R1的内容为多少 (R1)=20H
例3 若(A)=23H,执行MOV R1,A ,则R1的内 容为多少
.
19
作业:
1、若(R1)= 30H,(30H)= 68H,执行 MOV A,@R1,则A的内容为多少,源操作数 的寻址方式是什么?
2、若执行MOV R1,#20H ,则R1的内容为多少
3、若(64H)=70H,(A)=78H,执行指令MOV 64H,A 则64H及A的内容为多少
4、若(R1)=35H,执行 MOV @R1,#40H 指 令则35H的内容为多少
.
21
• 特殊功能寄存器包括累加器ACC、B寄存 器、程序状态字寄存器PSW、堆栈指针SP、 数据指针DPTR等
.
22
堆栈操作指令(2条)
• 在MCS-51片内RAM中可以设定一个后进 先出的堆栈,地址为30H—7FH。堆栈操作 包括进栈PUSH和出栈POP。
.
23
进栈操作指令 PUSH direct 这条指令首先将堆栈指针SP + 1,然后把直 接地址里的内容传送到堆栈指针SP指出的 片内RAM存储单元中。
.
6
3、指令功能 把源操作数的内容送入累加器Acc
4、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄
存器间接寻址等寻址方式
.
7
例1若(R1)=20H,(20H)=65H, 执行MOV A , Rn
则A的内容为多少,源操作数的寻址方式是什 么? 则结果:(A)=65H 寻址方式: 寄存器寻址方式
例2若执行 MOV A,#12H ,则A的内容为多少,
源操作数的寻址方式是什么?
则结果:(A)=12H
.
8
例3若(40H)
wk.baidu.com=20H ,执行
.
9
以Rn 为目的操作数的指令
1、指令
MOV Rn,direct
MOV Rn,#data
MOV Rn,A
2、功能
将源操作数的内容送入当前工作寄存器区 的R0-R7中的某一个寄存器。
(R1)=23H
.
11
以direct 为目的操作数的指令
1、指令 MOV direct, @Rn MOV direct,A MOV direct,#data MOV direct,Rn MOV direct,direct
.
12
2、功能
把源操作数送入由直接地址指向的存储 单元,直接寻址时,direct可以是特殊功能 寄存器的地址、内部RAM区的地址,因此, 允许对端口直接操作。
.
4
内部数据传送指令(15条)
• 以A为目的操作数的指令 • 以Rn 为目的操作数的指令 • 以direct 为目的操作数的指令 • 以@Ri为目的操作数的指令
.
5
以A为目的操作数的指令
1、格式 MOV 目的操作数,源操作数
2、指令 MOV A,Rn MOV A,direct1 MOV A,#data MOV A,@Ri
3-3数据传送指令
.
1
1、学习以A为目的操作数的指令的功能及其应用 2、学习以Rn 为目的操作数的指令的功能及其应用 3、学习以direct 为目的操作数的指令的功能及其应用 4、学习以@Ri为目的操作数的指令的功能及其应用
.
2
• 在MCS-51单片机中,数据传送是最基本
和最主要的操作。数据传送操作可以在片
内RAM和SFR内进行,也可以在累加器Acc和
片外存储器之间进行。指令必须指定传送
数据的源地址和目的地址,以便机器在执
行指令时把源地址中的内容传送到目的地
址中,但不改变源地.址中的内容。
3
• MCS-51单片机的数据传送指令共有28条, 分为内部数据传送指令、外部数据传送指 令、堆栈操作指令和数据交换指令等四类。
1、指令
MOV @Ri, A
MOV @Ri,#data
MOV @Ri,direct
2、功能
将源操作数送入以R0或R1的内容为地址的 存储单元
3、源操作数寻址方式
立即寻址、直接寻址、寄存器寻址
.
17
例题 例1 若(R1)=56H,(A)=35H
执行MOV @R1,A 指令,则56H的内容为多少 结果:(56H)=35H 例2 若(R1)=35H,执行 MOV @R1,#40H 指令 则35H的内容为多少 结果:(35H)=40H
例3 若(R1)=20H,(30H)=70H
执行 MOV @R1,30H 指令则20H的内容为多少
结果:(20H)=70H .
18
1、若(23H)= 30H,执行 MOV R6,23H 则 R6的内容为多少,该指令的寻址方式是什么?
2、若执行MOV R3,#24H , 则结果:(R3) =?
3、若(40H)=34H ,执行MOV A ,40H, 则结果: (A)=?
.
24
例题1 若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令
结果:(SP)=08H,(08H)=88H
例题2 设(SP)=30H,(ACC)=60H,
.
20
用户RAM区或堆栈区(见教材P49)
• 供用户使用的一般RAM区,共有80个单 元,其单元地址为30H~7FH。在一般应用 中常把堆栈开辟在此区中。MCS—51单片机 堆栈区不是固定的, 原则上可设在内部RAM 的任意区域内, 但为了避开工作寄存器区 和位寻址区, 一般设在30H以后的范围内。
3、源操作数寻址方式
有立即寻址、直接寻址、寄存器寻址、寄 存器间接寻址
.
13
例题 例题1 若(A)=78H,执行指令MOV 64H,A
则64H及A的内容为多少 (64H)=78H,(A)=78H
例2若 执行MOV 30H,#29H 指令则30H的内 容为多少 结果:(30H)=29H
.
14
例3 若(R0)=30H 执行MOV 30H,R0 指令,则30H的内容为多少