数据传送指令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例5设(30H)=40H,(R0)=36H, (36H)=52H,执行指令MOV 30H,@R0 则 30H的内容为多少 (30H)=52H
以@Ri为目的操作数的指令
1、指令 MOV @Ri, A MOV @Ri,#data MOV @Ri,direct 2、功能 将源操作数送入以R0或R1的内容为地址的 存储单元 3、源操作数寻址方式 立即寻址、直接寻址、寄存器寻址
例2若执行 MOV A,#12H ,则A的内容为多少, 源操作数的寻址方式是什么? 则结果:(A)=12H 寻址方式:立即数寻址方式
例3若(40H)=20H ,执行MOV A ,40H, 则A的内容为多少, 源操作数的寻址方式是什么? 则结果:(A)=20H 寻址方式:直接寻址
例4若(R1)= 30H,(30H)= 68H,执行MOV A,@R1,则 A的内容为多少,源操作数的寻址方式是什么?
例3 若(A)=23H,执行MOV R1,A ,则R1的内容为 多少 (R1)=23H
以direct 为目的操作数的指令
1、指令 MOV direct, @Rn MOV direct,A MOV direct,#data MOV direct,Rn MOV direct,direct
2、功能 把源操作数送入由直接地址指向的存储 单元,直接寻址时,direct可以是特殊功能 寄存器的地址、内部RAM区的地址,因此, 允许对端口直接操作。 3、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄 存器间接寻址
例题1 若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令 结果:(SP)=08H,(08H)=88H
例题2 设(SP)=30H,(ACC)=60H, (B)=70H,执行下列指令后结果怎么样 PUSH ACC PUSH B 结果:(31H)=60H,(32H)=70H, (SP)=32H
例题 例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
3-3数据传送指令
1、学习以A为目的操作数的指令的功能及其应用 2、学习以Rn 为目的操作数的指令的功能及其应用 3、学习以direct 为目的操作数的指令的功能及其应用 4、学习以@Ri为目的操作数的指令的功能及其应用

在MCS-51单片机中,数据传送是最基本和
最主要的操作。数据传送操作可以在片内RAM 和SFR内进行,也可以在累加器Acc和片外存储 器之间进行。指令必须指定传送数据的源地址 和目的地址,以便机器在执行指令时把源地址
例题1若(R0)=67H,(A)=45H, 执行 XCH A,R0 指令 结果:(A)=67H,(R0)=45H
例题2设(A)=80H,(R1)=74H,(74H) =60H,(60H)=50H,(80H)=40H 顺序执行下列指令后结果怎样? XCH A,R1 XCH A,60H XCH A,@R1 解:(A)=74H,(R1)=80H (A)=50H,(60H)=74H (A)=40H,(80H)=50H
中的内容传送到目的地址中,但不改变源地址
中的内容。

MCS-51单片机的数据传送指令共有28条,
分为内部数据传送指令、外部数据传送指
令、堆栈操作指令和数据交换指令等四类。
内部数据传送指令(15条)
• • • • 以A为目的操作数的指令 以Rn 为目的操作数的指令 以direct 为目的操作数的指令 以@Ri为目的操作数的指令
例2 设(A)=15H,(R0)=30H, (30H)=40H,执行下列指令后结果怎样? XCHD A,@R0 结果:(A)=10H,(30H)=45H
【作业】
1、设(A)=34H,D A,@R0 2、若(R0)=37H,(A)=76H,执行 XCH A,R0 指令 结果:(A)=?,(R0)=? 3、设(SP)=32H,(32H)=70H,(31H)=60H, 执行下述指令后SP是多少? POP DPH POP DPL 4、若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令,则SP的内容是多少?
出栈指令 POP direct
这条指令的功能是将堆栈指针SP指出的 片内RAM单元的内容送入直接地址指出的 存储单元,堆栈指针SP减1.出栈指令用于恢
复CPU现场。
例题 设(SP)=32H,(32H)=70H,(31H)
=60H,执行下述指令后结果怎样? POP DPH POP DPL 结果:(DPH)=70H,(DPL)=60H,所以
结果:(A)= 68H
寻址方式:寄存器间接寻址
以Rn 为目的操作数的指令
1、指令 MOV Rn,direct MOV Rn,#data MOV Rn,A 2、功能 将源操作数的内容送入当前工作寄存器区 的R0-R7中的某一个寄存器。 3、源操作数寻址方式 立即寻址、直接寻址、寄存器寻址
例题 例1若(60H)= 30H,执行 MOV R6,60H ,则R6的 内容为多少 (R6)= 30H 例2 若执行MOV R1,#20H ,则R1的内容为多少 (R1)=20H
半字节交换指令
1、指令 XCHD A,@Ri 2、功能 这条指令将Acc的低4位与R0或R1指出的 RAM单元的低4位互相交换,各自高4位不 变。 3、源操作数寻址方式 寻址方式为寄存器间接寻址
例1若(R0)=30H,(30H)=67H, (A) =20H。 执行 XCHD A,@R0 后, 结果: (A)=27H,(30H)=60H。

特殊功能寄存器包括累加器ACC、B寄存
器、程序状态字寄存器PSW、堆栈指针SP、
数据指针DPTR等
堆栈操作指令(2条)
• 在MCS-51片内RAM中可以设定一个后进
先出的堆栈,地址为30H—7FH。堆栈操作
包括进栈PUSH和出栈POP。
进栈操作指令 PUSH direct 这条指令首先将堆栈指针SP + 1,然后把直 接地址里的内容传送到堆栈指针SP指出的 片内RAM存储单元中。
用户RAM区或堆栈区(见教材P49)
• 供用户使用的一般 RAM 区,共有 80 个单 元,其单元地址为 30H ~ 7FH 。在一般应用 中常把堆栈开辟在此区中。MCS—51单片机 堆栈区不是固定的, 原则上可设在内部RAM 的任意区域内 , 但为了避开工作寄存器区 和位寻址区, 一般设在30H以后的范围内。
以A为目的操作数的指令
1、格式 MOV 目的操作数,源操作数 2、指令 MOV A,Rn MOV A,direct1 MOV A,#data MOV A,@Ri
3、指令功能 把源操作数的内容送入累加器Acc 4、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄 存器间接寻址等寻址方式
例1若(R1)=20H,(20H)=65H, 执行MOV A , Rn 则A的内容为多少,源操作数的寻址方式是什么? 则结果:(A)=65H 寻址方式: 寄存器寻址方式
1、若(23H)= 30H,执行 MOV R6,23H 则 R6的内容为多少,该指令的寻址方式是什么? 2、若执行MOV R3,#24H , 则结果:(R3) =?
3、若(40H)=34H ,执行MOV A ,40H, 则结果: (A)=?
作业:
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的内容为多少
例题 例题1 若(A)=78H,执行指令MOV 64H,A 则64H及A的内容为多少 (64H)=78H,(A)=78H 例2若 执行MOV 30H,#29H 指令则30H的内 容为多少 结果:(30H)=29H
例3 若(R0)=30H 执行MOV 30H,R0 指令,则30H的内容为多少 结果:(30H)=30H 例4 若(50H)=30H 执行MOV 20H,50H 指令 则20H的内容为多少 结果:(20H)=30H
DPTR=7060H,(SP)=30H
数据交换指令
数据交换指令共有4条,其中字交换指令3条, 半字节交换指令1条 1、字节交换指令 XCH A, Rn XCH A,direct XCH A,@Rn 2、半字节交换指令 XCHD A,@Ri
字节交换指令
1、指令 XCH A, Rn XCH A,direct XCH A,@Rn 2、功能 将累加器Acc的内容和源操作数内容互相交换。 3、源操作数寻址方式 有寄存器寻址、直接寻址、寄存器间接寻址
相关文档
最新文档