第4讲数据传送指令课件.ppt

上传人(卖家):晟晟文业 文档编号:4107435 上传时间:2022-11-11 格式:PPT 页数:19 大小:78KB
下载 相关 举报
第4讲数据传送指令课件.ppt_第1页
第1页 / 共19页
第4讲数据传送指令课件.ppt_第2页
第2页 / 共19页
第4讲数据传送指令课件.ppt_第3页
第3页 / 共19页
第4讲数据传送指令课件.ppt_第4页
第4页 / 共19页
第4讲数据传送指令课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、1 1立即寻址方式立即寻址方式2 2直接寻址方式直接寻址方式 3 3寄存器寻址方式:操作数在寄存器中寄存器寻址方式:操作数在寄存器中 4.4.寄存器间接寻址方式寄存器间接寻址方式5 5相对寻址方式相对寻址方式 目的地址目的地址=转移指令所在的地址转移指令所在的地址 +转移指令转移指令的字节数的字节数+rel+rel 6 6变址寻址方式:变址寻址方式:是以是以DPTRDPTR或或PCPC作基作基址寄存器,以累加器址寄存器,以累加器A A作为变址寄存作为变址寄存器器7 7位寻址方式位寻址方式数据传送类指令数据传送类指令使用最频繁的一类指令使用最频繁的一类指令,通用格式:通用格式:MOV MOV ,

2、属属“复制复制”性质,而不是性质,而不是“搬家搬家”数据传送类指令不影响标志位数据传送类指令不影响标志位CyCy、AcAc和和OVOV,但会影响奇偶标志位但会影响奇偶标志位P P。1 1以累加器为目的操作数的指令以累加器为目的操作数的指令 MOV AMOV A,#data ;#dataA#data ;#dataA MOV AMOV A,Rn ;(Rn)ARn ;(Rn)A,n=0n=07 7 MOV AMOV A,direct ;direct ;(directdirect)A A MOV AMOV A,Ri ;(Ri)A,iRi ;(Ri)A,i=0=0,1 1 例如:例如:MOV A,R6

3、;(R6)AMOV A,R6 ;(R6)A MOV A,70H ;(70H)AMOV A,70H ;(70H)A MOV A,R0 ;(R0)AMOV A,R0 ;(R0)A MOV A,#78H ;78HAMOV A,#78H ;78HA 2.2.以以RnRn为目的操作数的指令为目的操作数的指令 MOV RnMOV Rn,A ;(A)Rn,nA ;(A)Rn,n=0=07 7 MOV Rn MOV Rn,direct ;direct ;(directdirect)Rn,nRn,n=0=07 7 MOV Rn MOV Rn,#data ;#dataRn,n#data ;#dataRn,n=0=

4、07 7功能:是把源操作数的内容送入当前一组工作寄存器功能:是把源操作数的内容送入当前一组工作寄存器区的区的R0R0R7R7中的某一个寄存器。中的某一个寄存器。3.3.以直接地址以直接地址directdirect为目的操作数的指令为目的操作数的指令 MOV direct,A;(A)directMOV direct,A;(A)direct MOV MOV direct,Rn;(Rn)direct direct,Rn;(Rn)direct,n=0,n=07 7 MOV direct1,direct2;MOV direct1,direct2;MOV direct,Ri;(Ri)direct MOV

5、direct,Ri;(Ri)direct MOV MOV direct,#data;#datadirect direct,#data;#datadirect功能:把源操作数送入直接地址指出的存储单元。功能:把源操作数送入直接地址指出的存储单元。directdirect指的是内部指的是内部RAMRAM或或SFRSFR的地址。的地址。4.4.以寄存器间接地址为目的操作数的指令以寄存器间接地址为目的操作数的指令 MOV Ri,A ;(A)(Ri),iMOV Ri,A ;(A)(Ri),i=0,1=0,1 MOV Ri,direct ;MOV Ri,direct ;(directdirect)(Ri(

6、Ri)MOV Ri,#data ;#data(Ri MOV Ri,#data ;#data(Ri)5.165.16位数传送指令位数传送指令 MOV DPTR,#data16 ;#data16DPTRMOV DPTR,#data16 ;#data16DPTR唯一的唯一的1616位数据的传送指令位数据的传送指令 ,立即数的高立即数的高8 8位送入位送入DPHDPH,立即数的低立即数的低8 8位送入位送入DPLDPL。6 6堆栈操作指令堆栈操作指令 MCS-51MCS-51内部内部RAMRAM中可以设定一个后进先出(中可以设定一个后进先出(LIFO-LIFO-Last In First OutLas

7、t In First Out)的区域称作堆栈)的区域称作堆栈.堆栈指针堆栈指针SPSP指出堆栈的栈顶位置。指出堆栈的栈顶位置。(1)(1)进栈指令进栈指令 PUSH directPUSH direct先将栈指针先将栈指针SPSP加加1 1,然后把,然后把directdirect中的内容送到栈指中的内容送到栈指针针SPSP指示的内部指示的内部RAMRAM单元中。单元中。例如:例如:当(当(SPSP)=60H,=60H,(A A)=30H,=30H,(B B)=70H=70H时,时,执行:执行:PUSH APUSH ACCCC;(SP)+1=61HSP,(A)61H;(SP)+1=61HSP,(A

8、)61H PUSH B ;(SP)+1=62HSP,(B)62H PUSH B ;(SP)+1=62HSP,(B)62H 结果:结果:(61H)=30H,(62H)=70H,(SP)=62H(61H)=30H,(62H)=70H,(SP)=62H(2)(2)出栈指令出栈指令 POP directPOP directSPSP指示的栈顶(内部指示的栈顶(内部RAMRAM单元)内容送入单元)内容送入directdirect字节单字节单元中,元中,SPSP减减1.1.例如例如:当当 (SP)=62H(SP)=62H,(62H)=70H(62H)=70H,(61H)=30H,(61H)=30H,执行:执

9、行:POP DPH;(SP)DPH,(SP)-1SP POP DPH;(SP)DPH,(SP)-1SP POP DPL;(SP)DPL,(SP)-1SP POP DPL;(SP)DPL,(SP)-1SP 结果:结果:(DPTR)=7030H(DPTR)=7030H,(SP)=60H(SP)=60H 注意:堆栈操作指令是直接寻址指令,注意:堆栈操作指令是直接寻址指令,PUSH或或POP后必须直接跟一个地址后必须直接跟一个地址 例:例:PUSH ACC PUSH 00H POP ACC PUSH 00H7.7.累加器累加器A A与外部数据存储器传送指令与外部数据存储器传送指令 MOVX A,DPT

10、R;(DPTR)A,MOVX A,DPTR;(DPTR)A,读外部读外部RAM/IORAM/IO MOVX A,Ri;(Ri)A MOVX A,Ri;(Ri)A,读外部读外部RAM/IORAM/IO MOVX DPTR,A;(A)(DPTR),MOVX DPTR,A;(A)(DPTR),写外部写外部RAM/IORAM/IO MOVX Ri,A;(A)(Ri MOVX Ri,A;(A)(Ri),),写外部写外部RAM/IORAM/IO功能:读外部功能:读外部RAMRAM存储器或存储器或I/OI/O中的一个字节,或把中的一个字节,或把A A中中一个字节的数据写到外部一个字节的数据写到外部RAMRA

11、M存储器或存储器或I/OI/O中。中。注意:注意:1 1、此类命令会使、此类命令会使RDRD或或WRWR信号有效。信号有效。2 2、外部、外部RAMRAM之间不能直接相互传送数据,之间不能直接相互传送数据,必须以必须以A A为中介。为中介。8.8.查表指令查表指令 共两条,用于读程序存储器中的数据表格的指共两条,用于读程序存储器中的数据表格的指令,均采用基址寄存器加变址寄存器间接寻令,均采用基址寄存器加变址寄存器间接寻址方式。址方式。(1)MOVC A,A+PC(1)MOVC A,A+PC 例如例如:(A)=30H,:(A)=30H,执行地址执行地址1000H1000H处的指令处的指令 100

12、0H:MOVC A,A+PC1000H:MOVC A,A+PC 本指令占用一个字节,将程序存储器中本指令占用一个字节,将程序存储器中1031H1031H的内容送入的内容送入A A。优点:不改变特殊功能寄存器及优点:不改变特殊功能寄存器及PCPC的状态,根的状态,根据据A A的内容就可以取出表格中的常数。的内容就可以取出表格中的常数。缺点:表格只能存放在该条查表指令后面的缺点:表格只能存放在该条查表指令后面的256256个单元之内,表格的大小受到限制,且表格个单元之内,表格的大小受到限制,且表格只能被一段程序所利用。只能被一段程序所利用。(2)MOVC A,A+DPTR(2)MOVC A,A+D

13、PTR以以DPTRDPTR作为基址寄存器,作为基址寄存器,A A的内容和的内容和DPTRDPTR的内容的内容相加得到一个相加得到一个1616位的地址,把由该地址指出位的地址,把由该地址指出的程序存储器单元的内容送到累加器的程序存储器单元的内容送到累加器A.A.例如例如 (DPTR)=8100H (A)=40H (DPTR)=8100H (A)=40H 执行指令执行指令 MOVC A,A+DPTRMOVC A,A+DPTR 9 9字节交换指令字节交换指令 XCH A,RnXCH A,Rn XCH A,directXCH A,direct XCH A,Ri XCH A,Ri例如:例如:(A)=80

14、H(A)=80H,(R7)=08H(R7)=08H,(40H)=F0H(40H)=F0H (R0)=30H (R0)=30H,(30H)=OFH(30H)=OFH执行下列指令:执行下列指令:XCH A,R7 ;(A)XCH A,R7 ;(A)与与(R7)(R7)互换互换 XCH A,40H ;(A)XCH A,40H ;(A)与与(40H)(40H)互换互换 XCH A,R0;(A)XCH A,R0;(A)与与(R0)(R0)互换互换 后:后:(A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H(A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H 101

15、0半字节交换指令半字节交换指令 1 1)XCHD AXCHD A,RiRi 累加器的低累加器的低4 4位与内部位与内部RAMRAM低低4 4位交换。位交换。例如:例如:(R0)=60H,(60H)=3EH,(A)=59H(R0)=60H,(60H)=3EH,(A)=59H 执行完执行完 XCHD A,RO XCHD A,RO 指令指令,则则(A)=5EH,(60H)=39H(A)=5EH,(60H)=39H。2)SWAP A累加器的低累加器的低4 4位与累加器的高位与累加器的高4 4位相互交换位相互交换 课堂练习:课堂练习:1 R0=20H,单片机执行完下列指令后,单片机执行完下列指令后,判断

16、累加器判断累加器A,R7,20H,21H单元的内单元的内容是什么?容是什么?MOV A,#18H MOV R7,#28H MOV R0,#38H MOV 21H,#48H 2 已知已知R1=32H,(,(30H)=AAH,(31H)=BBH,(,(32H)=CCH执行完执行完下列指令后下列指令后A、50H、R6、32H、P1的内的内容是什么容是什么 MOV A,30H MOV 50H,A MOV R6,31H MOV R1,30H MOV P1,32H 3 外部外部RAM的的20H单元中有一个数单元中有一个数x,内,内部部RAM的的20H单元中有一个数单元中有一个数y,编写一,编写一段程序让外

17、部段程序让外部RAM的的20H单元中的数和单元中的数和内部内部RAM的的20H单元中的数相互交换单元中的数相互交换 4 外部外部RAM的的2000H单元中有一个数单元中有一个数x,内部内部RAM的的30H单元中有一个数单元中有一个数y,编写,编写一段程序让外部一段程序让外部RAM的的2000H单元中的单元中的数和内部数和内部RAM的的30H单元中的数相互交单元中的数相互交换换 作业:作业:1、内部、内部RAM 30H单元中的内容送内部单元中的内容送内部 RAM 35H单元单元 2、R1内容传送到内容传送到R0 3、内部、内部RAM 38H单元的内容送单元的内容送P1口口 4、外部、外部RAM 0100H单元的内容送单元的内容送SP 5、内部、内部RAM 40H单元的内容送外部单元的内容送外部RAM 1002H 6、外部、外部RAM 1050H单元的内容送外部单元的内容送外部RAM 25H单元单元

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第4讲数据传送指令课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|