网站大量收购独家精品文档,联系QQ:2885784924

嵌入式系统入门-03-avr的指令与汇编系统.pptVIP

嵌入式系统入门-03-avr的指令与汇编系统.ppt

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

3.4数据传送指令直接寻址数据传送指令间接寻址数据传送指令从程序存储器中取数装入寄存器指令写程序存储器指令I/O口数据传送堆栈操作指令3.4数据传送指令数据传送指令执行操作是寄存器与寄存器、寄存器与数据存储器SRAM、寄存器与I/O端口之间的数据传送,另外还有从程序存储器直接取数指令LPM(ELPM)以及PUSH压栈和POP出栈的堆栈指令。所有的传送指令的操作对标志位均无影响。数据传送指令是在编程中使用最频繁的一类指令,数据传送指令是否灵活快速对程序的执行速度产生很大影响。3.4.1直接寻址数据传送指令01.工作寄存器间传送数据MOVRd,Rr02.SRAM数据直接送寄存器LDSRd,k03.寄存器数据直接送SRAMSTSk,Rr04.立即数送寄存器LDIRd,K3.4.1直接寻址数据传送指令01MOVRd,Rr0≤d≤31,0≤r≤31单击此处添加小标题03操作:Rd←RrPC←PC+1单击此处添加小标题02说明:该指令将一个寄存器内容传送到另一个寄存器中,源寄存器Rr的内容不改变,而目的寄存器Rd复制了Rr的内容。单击此处添加小标题04机器码:001011rdddddrrrr单击此处添加小标题工作寄存器间传送数据SRAM数据直接送寄存器LDSRd,k0≤d≤31,0≤k≤65535说明:把SRAM中一个存储单元的内容(字节)装入到寄存器,其中k为该存储单元的16位地址。操作:Rd←(k)PC←PC+2机器码:1001000ddddd0000kkkkkkkkkkkkkkkk3.4.1直接寻址数据传送指令寄存器数据直接送SRAMSTSk,Rr0≤r≤31,0≤k≤65535说明:将寄存器的内容直接存储到SRAM中,其中k为存储单元的16位地址。操作:(k)←RrPC←PC+1机器码:1001001ddddd0000kkkkkkkkkkkkkkkk3.4.1直接寻址数据传送指令3.4.1直接寻址数据传送指令01LDIRd,K16≤d≤31,0≤K≤25502说明:装入一个8位立即数到寄存器R16~R31中。03操作:Rd←KPC←PC+104机器码:1110KKKKddddKKKK立即数送寄存器3.4.2间接寻址数据传送指令单击此处添加小标题使用X指针寄存器间接寻址传送数据单击此处添加小标题使用Y指针寄存器间接寻址传送数据单击此处添加小标题使用Z指针寄存器间接寻址传送数据1.使用X指针寄存器间接寻址传送数据嵌入式系统入门2.使用Y指针寄存器间接寻址传送数据3.使用Z指针寄存器间接寻址传送数据3.4.3从程序存储器中取数装入寄存器指令RAM页面的Z选择寄存器-RAMPZBits7..2–Res:保留1保留位,读操作返回值为零。在写数据时要写入0以保证与未来产品的兼容。Bit1–RAMPZ0:扩展RAM页面Z指针2RAMPZ寄存器用于选择Z指针访问的是哪一个64KRAM。由于ATmega128不支持超过64K的存储器,因此RAMPZ只用来协助ELPM/SPM指令决定访问哪一个程序存储器页。不同的RAMPZ0的作用如下:3RAMPZ0=0:ELPM/SPM可以访问程序存储器地址$0000-$7FFF(低64K字节)4RAMPZ0=1:ELPM/SPM可以访问程序存储器地址$8000-$FFFF(高64K字节)53.4.3从程序存储器中取数装入寄存器指令从程序中取数装入寄存器R0LPM从程序存中取数装入寄存器LPMRd,Z带后增量的从程序中取数装入寄存器RdLPMRd,Z+从程序中取数装入寄存器R0(扩展)ELPM从程序中取数装入寄存器(扩展)ELPMRd,Z带后增量的从程序中取数装入寄存器Rd(扩展)LPMRd,Z+LPM说明:将Z指向的程序存储器空间的一个字节装入寄存器R0。操作:R0←(Z)PC←PC+1机器码:1001010111001000注释:由于程序存储器的地址是以字(双字节)为单位的,因此,16位地址指针寄存器Z的高15位为程序存储器的字地址,最低位LSB为“0”时,指字的低字节;为“1”时,指字的高字节。该指令能寻址程序存储器空间为一个64K字节的页

您可能关注的文档

文档评论(0)

135****2083 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档