资源描述:
《数据传送指令.pptx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、3-3数据传送指令1、学习以A为目的操作数的指令的功能及其应用2、学习以Rn为目的操作数的指令的功能及其应用3、学习以direct为目的操作数的指令的功能及其应用4、学习以@Ri为目的操作数的指令的功能及其应用在MCS-51单片机中,数据传送是最基本和最主要的操作。数据传送操作可以在片内RAM和SFR内进行,也可以在累加器Acc和片外存储器之间进行。指令必须指定传送数据的源地址和目的地址,以便机器在执行指令时把源地址中的内容传送到目的地址中,但不改变源地址中的内容。MCS-51单片机的数据传送指令共
2、有28条,分为内部数据传送指令、外部数据传送指令、堆栈操作指令和数据交换指令等四类。内部数据传送指令(15条)以A为目的操作数的指令以Rn为目的操作数的指令以direct为目的操作数的指令以@Ri为目的操作数的指令以A为目的操作数的指令1、格式MOV目的操作数,源操作数2、指令MOVA,RnMOVA,direct1MOVA,#dataMOVA,@Ri3、指令功能把源操作数的内容送入累加器Acc4、源操作数寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址等寻址方式例1若(R1)=20H,(20
3、H)=65H,执行MOVA,Rn则A的内容为多少,源操作数的寻址方式是什么?则结果:(A)=65H寻址方式:寄存器寻址方式例2若执行MOVA,#12H,则A的内容为多少,源操作数的寻址方式是什么?则结果:(A)=12H寻址方式:立即数寻址方式例3若(40H)=20H,执行MOVA,40H,则A的内容为多少,源操作数的寻址方式是什么?则结果:(A)=20H寻址方式:直接寻址例4若(R1)=30H,(30H)=68H,执行MOVA,@R1,则A的内容为多少,源操作数的寻址方式是什么?结果:(A)=68H
4、寻址方式:寄存器间接寻址以Rn为目的操作数的指令1、指令MOVRn,directMOVRn,#dataMOVRn,A2、功能将源操作数的内容送入当前工作寄存器区的R0-R7中的某一个寄存器。3、源操作数寻址方式立即寻址、直接寻址、寄存器寻址例题例1若(60H)=30H,执行MOVR6,60H,则R6的内容为多少(R6)=30H例2若执行MOVR1,#20H,则R1的内容为多少(R1)=20H例3若(A)=23H,执行MOVR1,A,则R1的内容为多少(R1)=23H以direct为目的操作数的指令1
5、、指令MOVdirect,@RnMOVdirect,AMOVdirect,#dataMOVdirect,RnMOVdirect,direct2、功能把源操作数送入由直接地址指向的存储单元,直接寻址时,direct可以是特殊功能寄存器的地址、内部RAM区的地址,因此,允许对端口直接操作。3、源操作数寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址例题例题1若(A)=78H,执行指令MOV64H,A则64H及A的内容为多少(64H)=78H,(A)=78H例2若执行MOV30H,#29H指令则3
6、0H的内容为多少结果:(30H)=29H例3若(R0)=30H执行MOV30H,R0指令,则30H的内容为多少结果:(30H)=30H例4若(50H)=30H执行MOV20H,50H指令则20H的内容为多少结果:(20H)=30H例5设(30H)=40H,(R0)=36H,(36H)=52H,执行指令MOV30H,@R0则30H的内容为多少(30H)=52H以@Ri为目的操作数的指令1、指令MOV@Ri,AMOV@Ri,#dataMOV@Ri,direct2、功能将源操作数送入以R0或R1的内容为地
7、址的存储单元3、源操作数寻址方式立即寻址、直接寻址、寄存器寻址例题例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)=70H1、若(23H)=30H,执行MOVR6,23H则R6的内容为多少,该指令的寻址方式是什么?2、若执行MOVR3,#2
8、4H,则结果:(R3)=?3、若(40H)=34H,执行MOVA,40H,则结果:(A)=?作业:1、若(R1)=30H,(30H)=68H,执行MOVA,@R1,则A的内容为多少,源操作数的寻址方式是什么?2、若执行MOVR1,#20H,则R1的内容为多少3、若(64H)=70H,(A)=78H,执行指令MOV64H,A则64H及A的内容为多少4、若(R1)=35H,执行MOV@R1,#40H指令则35H的内容为多少用户RAM区或堆栈区(见教材P49)供用户使用的一