[信息与通信]mcs-51单片机指令系统-数据传送类指令

[信息与通信]mcs-51单片机指令系统-数据传送类指令

ID:36284440

大小:508.00 KB

页数:34页

时间:2019-05-08

[信息与通信]mcs-51单片机指令系统-数据传送类指令_第1页
[信息与通信]mcs-51单片机指令系统-数据传送类指令_第2页
[信息与通信]mcs-51单片机指令系统-数据传送类指令_第3页
[信息与通信]mcs-51单片机指令系统-数据传送类指令_第4页
[信息与通信]mcs-51单片机指令系统-数据传送类指令_第5页
资源描述:

《[信息与通信]mcs-51单片机指令系统-数据传送类指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.3.1数据传送类指令(29条)对PSW的影响传送类指令分成两大类1.MOV,一般传送2.非MOV,特殊传送,如:MOVC、MOVX、PUSH、POP、XCH、XCHD及SWAP。3.3MCS-51指令系统1.访问片内数据存储器的一般数据传送指令该类指令的功能是实现数在片内RAM单元之间、寄存器之间、寄存器与RAM单元之间的传送。所有指令具有统一的格式,其格式如下:MOV<目的操作数>,<源操作数>;目的操作数单元←源操作数(或单元)操作码助记符都是"MOV",目的操作数和源操作数不同寻址方式的组合就派生出该类的全部指令。因

2、此,记忆这类指令的关键在于掌握两个操作数的各种寻址方式的组合关系。(1)16位传送指令将源操作数data16(通常是常数)送入目的操作数DPTR中。例MOVDPTR,#5678H1.一般传送指令结果为:(DPH)=56H,(DPL)=78H。MOVDPTR,#data16(2)8位传送指令注:(1)#data(立即数)不能用作目的操作数;2)源操作数与目的操作数不能相同(除direct外);3)寄存器寻址与寄存器及其间址间不能相互传送。传送关系目的操作数源操作数AARnRndirect1direct2@Ri@Ri#data…1

3、)以A为目的操作数的指令例:若(R1)=30H,(30H)=68H执行MOVA,@R1MOVA,Rndirect@Ri#data结果:(A)=68H。2)以Rn为目的操作数的指令例:若(60H)=30H执行MOVR6,60HMOVRn,Adirect#data结果:(R6)=30H。3)以direct为目的操作数的指令例:若(R0)=30H,(30H)=25H执行MOV40H,@R0指令结果:(40H)=25H。MOVdirect,Rndirect1@Ri#dataA4)以@Ri为目的操作数的指令例若(R1)=56H,(A)=

4、35H执行MOV@R1,A指令结果:(56H)=35HMOV@Ri,Adirect#data访问片内RAM的一般传送指令操作关系图累加器ADirect直接地址Rn寄存器Data立即数@Ri间址例设内部RAM(30H)=40H,(40H)=10H,(10H)=00H(P1)=0CAH,分析以下程序执行后各单元及寄存器、P2口的内容。MOVR0,#30HMOVA,@R0MOVR1,AMOVB,@R1MOV@R1,P1MOVP2,P1MOV10H,#20H;R0=30H;A=40H;R1=40H;B=10H;(40H)=0CAH;(

5、P2)=0CAH;(10H)←20H执行上述指令后的结果为:(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=CAH,(10H)=20H。2.特殊传送指令访问程序存储器的数据传送指令又称作查表指令,采用基址寄存器加变址寄存器间接寻址方式,把程序存储器中存放的表格数据读出,传送到累加器A。共有如下两条单字节指令,指令操作码助记符为MOVC。(1)ROM查表指令2)MOVCA,@A+PC以PC的当前值与偏移量之和作为程序存储器地址,将该地址单元的内容传送到A。指令执行后PC的内容不变。2.

6、特殊传送指令1)MOVCA,@A+DPTR以DPTR与偏移量之和作为程序存储器地址,将该地址单元的内容传送到A。指令执行后DPTR的内容不变。前一条指令采用DPTR作基址寄存器,因此可以很方便地把一个16位地址送到DPTR,实现在整个64KB程序存储器单元到累加器A的数据传送。即数据表格可以存放在程序存储器64KB地址范围的任何地方。后一条指令以PC作为基址寄存器,CPU取完该指令操作码时PC会自动加1,指向下一条指令的第一个字节地址,即此时是用(PC)+1作为基址的。另外,由于累加器A中的内容为8位无符号数,这就使得本指令查

7、表范围只能在256个字节范围内(即(PC)+1H~(PC)+100H),使表格地址空间分配受到限制。同时编程时还需要进行偏移量的计算,即MOVCA,@A+PC指令所在地址与表格存放首地址间的距离字节数的计算,并需要一条加法指令进行地址调整。偏移量计算公式为:偏移量=表首地址-(MOVC指令所在地址+1)例从片外程序存储器2000H单元开始存放0~9的平方值,以DPTR作为基址寄存器进行查表得3的平方值。如果用以DPTR为基址寄存器的查表指令,其程序如下:MOVDPTR,#2000H;置表首地址MOVA,#03HMOVCA,@A

8、+DPTR01491625364964812000H2001H2009H1FFDH1FFFH1FFEH设MOVC指令所在地址(PC)=1FFDH,则偏移量=2000H-(1FFDH+1)=02H。相应的程序如下:MOVA,#03H;(A)←03HADDA,#02H;用加法指令

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

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

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