C51的指令系统..docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。 ????[1].?以累加器A为目的操作数类指令(4条) ????这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、立即数、寄存器和寄存器间接寻址方式: ????????MOV ?A,data ????;(data)→(A) 直接单元地址中的内容送到累加器A ????????MOV ?A,#data ???;#data→(A) 立即数送到累加器A中 ????????MOV ?A,Rn??????;(Rn)→(A) Rn中的内容送到累加器A中 ????????MOV ?A,@Ri ????;((Ri))→(A) Ri内容指向的地址单元中的内容送到累加器A ????[2].?以寄存器Rn为目的操作数的指令(3条) ????这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接、立即和寄存器寻址方式: ????????MOV ?Rn,data? ???;(data)→(Rn) 直接寻址单元中的内容送到寄存器Rn中 ????????MOV ?Rn,#data? ??;#data→(Rn) 立即数直接送到寄存器Rn中 ????????MOV ?Rn,A? ??????;(A)→(Rn) 累加器A中的内容送到寄存器Rn中 ????[3].?以直接地址为目的操作数的指令(5条) ????这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。有直接、立即、寄存器和寄存器间接4种寻址方式: ????????MOV ?data,data ??;(data)→(data) 直接地址单元中的内容送到直接地址单元 ????????MOV ?data,#data ;#data→(data) 立即数送到直接地址单元 ????????MOV ?data,A ????;(A)→(data) 累加器A中的内容送到直接地址单元 ????????MOV ?data,Rn ???;(Rn)→(data) 寄存器Rn中的内容送到直接地址单元 ????????MOV ?data,@Ri ??;((Ri))→(data) 寄存器Ri中的内容指定的地址单元中数据送到直接地址单元 ????[4].?以间接地址为目的操作数的指令(3条) ????这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。有直接、立即和寄存器3种寻址方式: ????????MOV ?@Ri,data ???;(data)→((Ri)) 直接地址单元中的内容送到以Ri中的内容为地址的RAM单元 ????????MOV ?@Ri,#data ??;#data→((Ri)) 立即数送到以Ri中的内容为地址的RAM单元 ????????MOV ?@Ri,A ??????;(A)→((Ri)) 累加器A中的内容送到以Ri中的内容为地址的RAM单元 ????[5].?查表指令(2条) ????这组指令的功能是对存放于程序存储器中的数据表格进行查找传送,使用变址寻址方式: ????????MOVC ?A,@A+DPTR ??;((A))+(DPTR)→(A) 表格地址单元中的内容送到累加器A中 ????????MOVC ?A,@A+PC ????;((PC))+1→(A),((A))+(PC)→(A) 表格地址单元中的内容送到累加器A中 ????[6].?累加器A与片外数据存储器RAM传送指令(4条) ????这4条指令的作用是累加器A与片外RAM间的数据传送。使用寄存器寻址方式: ????????MOVX ?@DPTR,A ???;(A)→((DPTR)) 累加器中的内容送到数据指针指向片外RAM地址中 ????????MOVX ?A, @DPTR???;((DPTR))→(A) 数据指针指向片外RAM地址中的内容送到累加器A中 ????????MOVX ?A, @Ri?????;((Ri))→(A) 寄存器Ri指向片外RAM地址中的内容送到累加器A中 ????????MOVX ?@Ri,A ?????;(A)→((Ri)) 累加器中的内容送到寄存器Ri指向片外RAM地址中 ????[7].?堆栈操作类指令(2条) ????这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。需要指出的是,单片

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档