数据传送指令概论.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据传送指令 数据传送指令包括数据的传送、交换、堆栈数据的压入与弹出,是最基本、使用率最高的一类指令。助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共八种。 1.MOV类指令及功能(16条) 这类指令的功能是从源操作数到目的操作数的数据传送。 MOV A, Rn ;Rn→A,寄存器Rn的内容送到累加器A MOV A, direct ;(direct)→A,直接地址中的内容送A MOV A, @Ri ;(Ri)→A,Ri间址的内容送A MOV A, #data ;data→A,立即数送A MOV Rn,, A ;A→Rn,累加器A中的内容送寄存器Rn MOV Rn, direct ;(direct)→Rn;直接地址中的内容送Rn MOV Rn, #data ;data→Rn;立即数送Rn MOV direct, A ;A→(direct),A中的内容送入直接地址中 MOV direct, Rn ;Rn→(direct),寄存器内容送入直接地址中 MOV direct, direct ;(direct) →(direct),源操作数直接地址的内容送入 ;目的操作数的直接地址中 MOV direct, @Ri ;(Ri)→(direct),Ri间址内容送入直接地址中 MOV direct, #data ;data→(direct),立即数送入直接地址中 MOV @Ri, A ;A→(Ri),A中内容送到Ri间址单元中 MOV @Ri, direct ;(direct)→(Ri),直接地址中内容送入Ri间址单元中 MOV @Ri, #data ;data→(Ri),立即数送入Ri间址单元中 MOV DPTR, #data16 ;data16→DPTR,16位常数送入数据指针DPTR中,高8 ;位送入DPH,低8位送入DPH,低8位送入DPL中 从上述指令可以看出目的操作数有A累加器、Rn寄存器、直接地址direct及间接地址@Ri,源操作数除此之外还多一种立即数data。 例1 R0中有常数30H,而30H地址中有常数50H 执行MOV A, R0后,A=30H,R0不变。 执行MOV A, @R0后A=50H,而不是30H,这条指令的功能是把R0中内容为地址的单元的书送入A,R0中是30H也就是把30H地址中内容50H送入A。 例2 若(40H)=20H,(50H)=30H 执行MOV 40H, 50H; (50H) →(40H) 结果:(40H)=30H,50H地址中内容仍为30H。 例3 若A=40H,R0=30H, 执行MOV @R0, A ;A→(R0) 结果:(30H)=40H,A与R0皆不变,即A=40H,R0=30H。 该指令功能是把A中内容送入R0间址单元即R0中内容为地址的单元。 例4 执行MOV DPTR, #2040H ;2040H→DPTR 结果:DPH=20H, DPL=40H DPTR是片外RAM地址指针,只有这一条指令是传送16位数据。 2.MOVC类指令及功能(2条) MOVC A, @A+PC ;PC+1→PC, (A+PC) →A MOVC A, @A+DPTR ;(A+DPTR) →A 功能:该类属于查表指令,利用这两条指令很方便地查找放在程序存储器中数据表格的内容。 例1 程序 1000H MOV A, #10H ;10H→A 1002H MOVC A, @A+PC ;PC+1→PC,PC=1003H,(A+PC)=(10H+1003H)→A ... 1010H 02H 1011H 04H 1012H 06H 1013H 08H 程序执行结果:A=08H 用MOVC A, @A+PC指令需注意两点: 1)指令中的PC是执行完本条指令后的PC值,即PC等于本条指令地址加1。 2)A是修正值,它等于查表指令和欲查数据相间隔字节数。A的范围是0~255,一次该指令只能查找本指令后的256B范围内的表格,故称为近程查表。 例2 程序 1000H MOV A, #01H ;01H→A 1002H MOV DPTR, #6000H ;6000H→DPTR 1005H MOVC A,@A+DPTR ;(A+DPTR)=(01H+6000H)=(6001H) →A ... 6001H 0AH 6002H 0BH 6003H 0CH 6004H 0DH 程序

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档