数据传送指令_第1页
数据传送指令_第2页
数据传送指令_第3页
数据传送指令_第4页
数据传送指令_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3-3数据传送指令,1、学习以A为目的操作数的指令的功能及其应用2、学习以Rn为目的操作数的指令的功能及其应用3、学习以direct为目的操作数的指令的功能及其应用4、学习以Ri为目的操作数的指令的功能及其应用,在MCS-51单片机中,数据传送是最基本和最主要的操作。数据传送操作可以在片内RAM和SFR内进行,也可以在累加器Acc和片外存储器之间进行。指令必须指定传送数据的源地址和目的地址,以便机器在执行指令时把源地址中的内容传送到目的地址中,但不改变源地址中的内容。,MCS-51单片机的数据传送指令共有28条,分为内部数据传送指令、外部数据传送指令、堆栈操作指令和数据交换指令等四类。,内部数据传送指令(15条),以A为目的操作数的指令以Rn为目的操作数的指令以direct为目的操作数的指令以Ri为目的操作数的指令,以A为目的操作数的指令1、格式MOV目的操作数,源操作数2、指令MOVA,RnMOVA,direct1MOVA,#dataMOVA,Ri,3、指令功能把源操作数的内容送入累加器Acc4、源操作数寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址等寻址方式,例1若(R1)=20H,(20H)=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寻址方式:寄存器间接寻址,以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、指令MOVdirect,RnMOVdirect,AMOVdirect,#dataMOVdirect,RnMOVdirect,direct,2、功能把源操作数送入由直接地址指向的存储单元,直接寻址时,direct可以是特殊功能寄存器的地址、内部RAM区的地址,因此,允许对端口直接操作。3、源操作数寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址,例题例题1若(A)=78H,执行指令MOV64H,A则64H及A的内容为多少(64H)=78H,(A)=78H例2若执行MOV30H,#29H指令则30H的内容为多少结果:(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、指令MOVRi,AMOVRi,#dataMOVRi,direct2、功能将源操作数送入以R0或R1的内容为地址的存储单元3、源操作数寻址方式立即寻址、直接寻址、寄存器寻址,例题例1若(R1)=56H,(A)=35H执行MOVR1,A指令,则56H的内容为多少结果:(56H)=35H例2若(R1)=35H,执行MOVR1,#40H指令则35H的内容为多少结果:(35H)=40H例3若(R1)=20H,(30H)=70H执行MOVR1,30H指令则20H的内容为多少结果:(20H)=70H,1、若(23H)=30H,执行MOVR6,23H则R6的内容为多少,该指令的寻址方式是什么?2、若执行MOVR3,#24H,则结果:(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,执行MOVR1,#40H指令则35H的内容为多少,用户RAM区或堆栈区(见教材P49)供用户使用的一般RAM区,共有80个单元,其单元地址为30H7FH。在一般应用中常把堆栈开辟在此区中。MCS51单片机堆栈区不是固定的,原则上可设在内部RAM的任意区域内,但为了避开工作寄存器区和位寻址区,一般设在30H以后的范围内。,特殊功能寄存器包括累加器ACC、B寄存器、程序状态字寄存器PSW、堆栈指针SP、数据指针DPTR等,堆栈操作指令(2条),在MCS-51片内RAM中可以设定一个后进先出的堆栈,地址为30H7FH。堆栈操作包括进栈PUSH和出栈POP。,进栈操作指令PUSHdirect这条指令首先将堆栈指针SP+1,然后把直接地址里的内容传送到堆栈指针SP指出的片内RAM存储单元中。,例题1若(SP)=07H,(40H)=88H执行PUSH40H指令结果:(SP)=08H,(08H)=88H例题2设(SP)=30H,(ACC)=60H,(B)=70H,执行下列指令后结果怎么样PUSHACCPUSHB结果:(31H)=60H,(32H)=70H,(SP)=32H,出栈指令POPdirect这条指令的功能是将堆栈指针SP指出的片内RAM单元的内容送入直接地址指出的存储单元,堆栈指针SP减1.出栈指令用于恢复CPU现场。,例题设(SP)=32H,(32H)=70H,(31H)=60H,执行下述指令后结果怎样?POPDPHPOPDPL结果:(DPH)=70H,(DPL)=60H,所以DPTR=7060H,(SP)=30H,数据交换指令,数据交换指令共有4条,其中字交换指令3条,半字节交换指令1条1、字节交换指令XCHA,RnXCHA,directXCHA,Rn2、半字节交换指令XCHDA,Ri,字节交换指令1、指令XCHA,RnXCHA,directXCHA,Rn2、功能将累加器Acc的内容和源操作数内容互相交换。3、源操作数寻址方式有寄存器寻址、直接寻址、寄存器间接寻址,例题1若(R0)=67H,(A)=45H,执行XCHA,R0指令结果:(A)=67H,(R0)=45H,例题2设(A)=80H,(R1)=74H,(74H)=60H,(60H)=50H,(80H)=40H顺序执行下列指令后结果怎样?XCHA,R1XCHA,60HXCHA,R1解:(A)=74H,(R1)=80H(A)=50H,(60H)=74H(A)=40H,(80H)=50H,半字节交换指令1、指令XCHDA,Ri2、功能这条指令将Acc的低4位与R0或R1指出的RAM单元的低4位互相交换,各自高4位不变。3、源操作数寻址方式寻址方式为寄存器间接寻址,例1若(R0)30H,(30H)67H,(A)20H。执行XCHDA,R0后,结果:(A)27H,(30H)60H。例2设(A)=15H,(R0)=30H,(30H)=40H,执行下列指令后结果怎样?XCHDA,R0结果:(A)=10H,(30H)=45H,【作业】1、设(A)=34H,(R0)=30H,(30H)=56H,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论