历史上的今天
今天是:2024年12月08日(星期日)
2021年12月08日 | ATmega88 通用寄存器
2021-12-08 来源:eefocus
寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/ 输出方案:
·输出一个 8 位操作数,输入一个 8 位结果
·输出两个 8 位操作数,输入一个 8 位结果
·输出两个 8 位操作数,输入一个 16 位结果
·输出一个 16 位操作数,输入一个 16 位结果
Figure 4 为CPU 32 个通用工作寄存器的结构。

Figure 4. AVR CPU 通用工作寄存器
大多数操作寄存器文件的指令都可以直接访问所有的寄存器,而且多数这样的指令的执行时间为单个时钟周期。
如Figure 4 所示,每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的头32 个地址。虽然寄存器文件的物理实现不是SRAM,这种内存组织方式在访问寄存器方面具有极大的灵活性,因为X、Y、Z 寄存器可以设置为指向任意寄存器的指针。
寄存器R26..R31 除了用作通用寄存器外,还可以作为数据间接寻址用的地址指针。这三个间接寻址寄存器示于Figure 5。

Figure 5. X、Y、Z 寄存器
在不同的寻址模式中,这些地址寄存器可以实现固定偏移量,自动加一和自动减一功能。
具体细节请参见ATmega88指令集。
上一篇:ATmega88 堆栈指针
下一篇:ATmega88 状态寄存器
史海拾趣
|
fpga的下载问题 我目前在使用altera 的cyclone EP28 ,在程序下载的过程中出现一个奇怪的问题。 使用quartusII打开programmer,点击start按钮,出现以下错误: Error: Can\'t access JTAG chain Error: Operation failed 我用的是开发板啊!J ...… 查看全部问答> |
|
case WM_CREATE: CreateWindow(TEXT(\"Combo Box\"),TEXT(\"\"), WS_VSCROLL | WS_BORDER | WS_VISIBLE | WS_CHILD, 100, 100, 205, 100, hWnd, (H ...… 查看全部问答> |
|
在我们自己做的平台上, 在 跑到 startup.s 下的launch 函数的时候,有时候会程序会飞掉,不知道大侠们以前有没有遇到过类似的问题,能给小弟我一些提示? 我在launch 里加了引脚来看是不是 pc的地址变了,结果和正常的情况一样,现在很怀疑是不是 ...… 查看全部问答> |
|
我用的是320×240图形点阵液晶,现在可以在上面显示汉字了。 老板要求显示各种波形,请教高手那里可以找到这方面的资料,听说 要建立坐标系,还要研究各种图形的算法,有这么复杂吗?哪里能找 到这方面的资料? 谢谢您的关注!… 查看全部问答> |
|
$(\'swf_zUr\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMzY1NzQ4MDM2/v.sw ...… 查看全部问答> |
|
在TI交易上AM35x Sitara EVM评估板对折出售!订购链接: http://tideals.com/ 具体性能指标如下:TMDXEVM3517 includes:Hardware:Touch screen LCDApplications BoardBase BoardAM3517 SOM256MB DDR2512MB NANDSoftware:OMAP3517 Linux SDKKe ...… 查看全部问答> |
|
最近是找工作的高峰期,请参加过面试得朋友谈谈如何从等消息中判断自己是否有戏和谈谈自己的面霸经历为后面的应届生介绍些经验。人生最痛苦的莫过于什么也不知道就是等消息~~~~~~~~~~~~~~~~~… 查看全部问答> |




