首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C32寄存器

C32寄存器

C32有28个寄存器,分别为8个扩展精度寄存器R0~R7,8个辅助寄存器AR0~AR7,数据页指针DP,2个索引寄存器IR0、IR1,CPU及DMA中断使能寄存器,块寄存器BK,系统堆栈指针SP,状态寄存器ST,中断标志寄存器,I/O标志,重复起始地址RS,重复结束地址RE,重复计数器RC。
其中扩展精度寄存器可以用于存放扩展精度浮点结果,8个辅助寄存器常用于间接寻址方式也能用于存放32位整型数,其他一些寄存器后面将陆续有详细讲解。
数据页指针:数据页指针通过LDP指令访问,低8位用于存放直接寻址时要存放的“页”,数据页的长度为64K字,总共有256页。高24位要保持为零。
索引寄存器IR0、 IR1:能用于间接寻址方式寻址,下面几条指令分别表示:
*+ARn(IR0)  地址 = ARn + IR0
*–ARn(IR0)  地址 = ARn – IR0
*++ARn(IR0) 地址 = AR n + IR0 然后AR n的值被修改 = AR n + IR0
*––ARn(IR0) 地址 = AR n – IR0 然后AR n的值被修改 = AR n – IR0
*ARn++(IR0) 地址 = AR n,AR n的值被修改 = ARn + IR0
*AR n––(IR0) 地址 =AR n,AR n的值被修改 = ARn – IR0
所以寄存器IR1的用法相同。
块大小寄存器BK:32位块大小寄存器常用于指定环形地址数据块的大小,在环形寻址方式中,当索引地址“+”步长大于0且小于BK的值索引地址则加上步长,如果等于BK的值时,索引地址则等于索引地址“+”步长“-”块的大小,即返回到环形地址的首地址,如果索引地址“+”步长小于零,索引地址则等于索引地址“+”步长“+”块的大小,即返回到环形寻址的末地址。

系统堆栈指针SP:32位寄存器指向堆栈顶部的地址,它一直指向最后压入堆栈的数据,在程序发生中断,陷阱调用和返回等情况下会用到堆栈。
返回列表