首页 理论教育 AVR单片机通用寄存器组

AVR单片机通用寄存器组

时间:2023-11-20 理论教育 版权反馈
【摘要】:图2-11所示为AVR单片机中32个通用寄存器的结构图。在AVR单片机指令集中,所有的通用寄存器操作指令均带有方向,并能在单一时钟周期中访问所有的寄存器。用户在使用汇编语言编写程序时,应注意如何正确使用AVR单片机中32个通用的寄存器。因为这32个通用寄存器的功能还是有一定的区别。通常情况下,最好是使用专用的寄存器访问指令对通用寄存器组进行操作,因为这类寄存器专用操作指令不仅功能强大,而且执行周期也短。

AVR单片机通用寄存器组

图2-11所示为AVR单片机中32个通用寄存器的结构图。在AVR单片机指令集中,所有的通用寄存器操作指令均带有方向,并能在单一时钟周期中访问所有的寄存器。

用户在使用汇编语言编写程序时,应注意如何正确使用AVR单片机中32个通用的寄存器。因为这32个通用寄存器的功能还是有一定的区别。尤其是R16~R31这16个寄存器能实现的操作比R0~R15要多,如SBCI、SUBI、CPI、ANDI、ORI以及LDI和乘法指令仅适用于寄存器组中后半部分的寄存器(R16~R31)。另外,R26~R31还构成3个16位的地址指针寄存器X、Y、Z,所以一般情况下不要作为他用。

978-7-111-36320-0-Chapter02-11.jpg

图2-12 寄存器X、Y、Z

如图2-11所示,每个通用寄存器还被分配在AVR单片机的数据存储器空间中,它们直接映射到数据空间的前32个地址,因此也可以使用访问SRAM的指令对这些寄存器进行访问,但此时在指令中应使用该寄存器在SRAM空间的映射地址。通常情况下,最好是使用专用的寄存器访问指令对通用寄存器组进行操作,因为这类寄存器专用操作指令不仅功能强大,而且执行周期也短。(www.xing528.com)

AVR单片机寄存器组最后的6个寄存器R26~R31具有特殊的功能,这些寄存器每两个合并成一个16位的寄存器,作为对数据存储器空间(使用寄存器X、Y、Z)以及程序存储器空间(仅使用寄存器Z)间接寻址的地址指针寄存器。这3个间接寄存器X、Y、Z由图2-12定义。在不同指令的寻址模式下,利用地址寄存器可实现地址指针的偏移、自动增量和减量(参考不同的指令)等不同形式的间

978-7-111-36320-0-Chapter02-12.jpg

图2-11 通用寄存器组结构图

址寻址操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈