单片机原理第3章PPT.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理第3章PPT

注意 不同的指令寻址的存储区不一样,要操作某个地址单元中的数据,不仅地址要正确,还必须保证所使用的指令能寻址数据所在的那个逻辑存储区。 必须清楚指令中源操作数和目的操作数所对应的逻辑存储区 3.4.1 数据传送类指令 传送类指令是最基本,使用最多的一类指令,可实现数据传送、存储和交换等操作 这类指令一般不影响标志寄存器PSW的状态, 例外:将数据传送到累加器A时,会影响奇偶标志P 1.以累加器A为目的操作数的传送指令 源操作数的寻址方式可以是寄存器寻址、直接寻址、寄存器间接寻址、和立即寻址四种基本寻址方式 MOV A , Rn ; (A)←(Rn) MOV A , direct ;(A)←(direct) MOV A , @Ri ;(A)←((Ri)) MOV A, #data ;(A)←#data 例:已知(A)=30H,(R0)=40H,片内数据存储区40H单元的内容为(40H)=50H: MOV A,R0 ;将R0中的数据取出送入A,(A)=40H MOV A,40H ;将40H单元数据送入A,(A)=50H MOV A,@R0 ;以R0为间址寄存器,将其内容40H作为地址,再把该地址单元(片内数据存储区40H单元)的内容送入A,(A)=50H。 2.以寄存器Rn为目的操作数的传送指令 MOV Rn,direct ; Rn ←(direct) MOV Rn,#data ; Rn ← #data MOV Rn,A ; Rn ← A 例:若片内数据存储器50H单元的内容(50H)=40H, 执行指令 MOV R6,50H 后,(R6)=40H。 3.以直接地址为目的操作数的传送指令 MOV direct,A ;(direct)← (A) MOV direct,Rn ;(direct)← (Rn) MOV direct,direct1 ;(direct)←(direct1) MOV direct,@Ri ;(direct)←((Ri)) MOV direct,#data ;(direct)← #data 4. 以间接地址为目的操作数的传送指令 MOV @Ri , A ; ((Ri)) ← (A) MOV @Ri , direct ; ((Ri)) ←(direct) MOV @Ri , #data ; ((Ri)) ← #data 5. 查表指令 MOVC A,@A+DPTR ;(A)←((A)+(DPTR)) MOVC A,@A+PC ;(PC)←(PC)+1,(A)←((A)+(PC)) 问题: 1 两条指令寻址的存储空间是哪个空间? 2 两条指令的查找范围各是多大? 6. 外部数据存储器传送指令 MOVX A,@DPTR ;(A) ←((DPTR)) MOVX @DPTR,A ;((DPTR)) ←(A) MOVX A,@Ri ;(A) ←((P2Ri)) MOVX @Ri,A ;((P2Ri))←(A) 注意: 该组指令既可访问外部数据存储器,也可访问I/O单元 注意每条指令的数据传输方向 注意每条指令的16位外部地址的形成方法 7.数据交换类指令 XCH A , Rn ; (A)= (Rn) XCH A , direct ; (A)=(direct) XCH A , @Ri ; (A)=((Ri)) XCHD A , @Ri ; (A0~3)=((Ri)0~3) SWAP A ; (A0~3)=(A4~7) 交换类指令数据传送示意图 片内数据存储器 片内数据存储器 8. 16位数据传送指令 MOV DPTR, #data16 ;(DPTR)← #data16 9. 堆栈操作类指令 PUSH direct ; (SP)←(SP)+1,((SP))←(direct) POP direct ; (direct)←((SP)),(SP)← (SP)–1 压栈时堆栈指针SP先加1,然后进行数据传送; 弹栈时先进行数据传送,然后堆栈指针SP减1 使用堆栈时要注意压栈和弹栈的顺序,并保证堆栈平衡 传送类指令小节 内数据存储器数据传送使用MOV、XCH、XCHD、SWAP、PUSH、POP等助记符; 程序存储器数

文档评论(0)

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

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

1亿VIP精品文档

相关文档