单片微机原理第三章a1数据传送类指令.ppt

单片微机原理第三章a1数据传送类指令.ppt

ID:48117841

大小:258.50 KB

页数:19页

时间:2019-05-07

单片微机原理第三章a1数据传送类指令.ppt_第1页
单片微机原理第三章a1数据传送类指令.ppt_第2页
单片微机原理第三章a1数据传送类指令.ppt_第3页
单片微机原理第三章a1数据传送类指令.ppt_第4页
单片微机原理第三章a1数据传送类指令.ppt_第5页
资源描述:

《单片微机原理第三章a1数据传送类指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.2MCS-51指令及功能3.2.1数据传送指令(29条)包括数据的传送、交换、堆栈数据的压入与弹出,是最基本、使用率最高的一类指令。该类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共八种。一、MOV类指令及功能(16条)功能:从源操作数到目的操作数的数据传送。3.2MCS-51指令及功能1、以累加器A为目的操作数的指令(4条)MOVA,Rn;Rn→A,;寄存器Rn的内容送到累加器AMOVA,direct;(Direct)→A,;直接地址中的内容送AMOVA,

2、@Ri;(Ri)→A,Ri间址的内容送AMOVA,#data;data→A,立即数送A例:若R0=50H,(50H)=38H执行MOVA,@R0后A=38H执行MOVA,R0后A=50H2、以寄存器Rn为目的操作数的指令(3条)MOVRn,A;A→Rn;;累加器A中的内容送寄存器RnMOVRn,direct;(Direct)→Rn,;直接地址中的内容送RnMOVRn,#daTa;Data→Rn,立即数送Rn例:MOVR7,40H;(40H)→R73、以直接地址为目的操作数的指令(5条)MOVdirect,A

3、;A→(direct),A中的内容送入直;接地址中MOVdirect,Rn;Rn→(direct),;Rn寄存器内容送入直接地址中MOVdirect,direct;(direct)→(direct),;源操作数直接地址内容送入;目的操作数的直接地址中MOVdirect,@Ri;(Ri)→(direct),Ri间址内容送入;直接地址中MOVdirect,#data;data→(direct),立即数送入直;接地址中例MOV50H,30H;(30H)→(50H)MOVP1,30H;(30H)→P1MOVSP,#

4、40H;SP=40H4、以间接地址为目的操作数的指令(3条)MOV@Ri,A;A→(Ri),A中内容送到;Ri间址单元中MOV@Ri,direct;(direct)→(Ri),直接地址中;内容送入Ri间址单元中MOV@Ri,#data;data→(Ri),;立即数送入Ri间址单元中练习:编程把30H单元的内容送到40H单元中方法一:MOV40H,30H方法二:MOVR0,40HMOV@R0,30H5、十六位数据传送指令MOVDPTR,#data;datal6→DPTR,;16位常数送入数据指针DPTR中,;

5、高8位送入DPH,低8位送入DPL中例MOVDPTR,#2040H;2040H→DPTR结果:DPH=20H,DPL=40HDPTR是片外RAM地址指针,只有这一条指令是传送16位数据。举例例1R0中有常数40H,而40H地址中有常数55HMOVA,R0;A=40H,R0不变。MOVA,@R0;A=55H而不是40H,指令的功能:把R0中内容为地址的单元中的数送入A,Rn中是40H也就是把40H地址中内容55H送入A。例2若(40H)=25H,(50H)=33HMOV40H,50H;(50H)→(40H)结

6、果:(40H)=33H,50H地址中内容不变,仍为33H。举例例3若A=40H,R1=30HM0V@R1,A;A→(R1)结果:(30H)=40H,A与R1皆不变。指令功能是把A中内容送入R1间址的单元,即R1中内容为地址的单元。二、MOVC类指令及功能(2条)查表指令MOVCA,@A+PC;PC+1→PC,(A十PC)→AMOVCA,@A+DPTR;(A+DPTR)→A功能:该类属查表指令,利用这两条指令很方便地查找放在程序存储器中数据表格的内容。用MOVCA,@A+PC指令需注意两点:①PC是执行完本条

7、指令后的PC值,即PC等于本条指令地址加一。②A是修正值,等于查表指令和欲查数据相间隔字节数。A的范围是0~255。因此该指令只能查找本指令后的256B范围内的表格,故称为近程查表。二、MOVC类指令及功能(2条)查表指令例1程序l000HMOVA,#03H;03H→A1002HMOVCA,@A+PC;PC+1→PC=1003H;(A+PC)=(3H+1003H)→A┆数1004H02H据1005H04H表1006H06H格1007H08H程序执行结果:A=06H例2程序1000HMOVA,#03H;03H

8、→A1002HMOVDPTR,#3000H;3000H→DPTRl005HMOVCA,@A+DPTR;;(A+DPTR)=(03H+3000H);=(3003H)→ATAB:3001H:0AH3002H:0BH3003H:0CH3004H:0DH程序执行结果:A=0CH,查到了3003H单元中的数据。用MOVCA,@A+DPTR指令查表特点:A,DPTR都可以改变,因此可在64KB范围内查表,故称为远程查表。这条

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。