|
|
XW51 软核MCU
CPU 寄存器
|
|
| 累加器ACC为8位寄存器,用于算术、逻辑运算及数据传送,与标准MCS51 CPU中的ACC相同。该寄存器参与SFR空间编址,地址为 0xe0。 |
| 寄存器B为8位寄存器,参与乘、除法运算,与标准MCS51 CPU中的寄存器B相同。该寄存器参与SFR空间编址,地址为 0xf0。 |
|
| 程序状态字PSW为8位寄存器,保存当前CPU的运行状态,与标准的MCS51 CPU中的PSW寄存器类似。该寄存器在CPU响应中断时会自动被压入堆栈,这一点与标准的MCS51不同。该寄存器在SFR空间的地址为0xd0。 |
| Cy(PSW.7): 进位标志位。 |
| Ac(PSW.6): 辅助进位标志位。 |
| F0(PSW.5): 标志位0,供用户使用; |
| Bt(PSW.4): 位数据缓存位; |
| Zo(PSW.3): 零标志位; |
| Ov(PSW.2): 溢出标志位; |
| Ea(PSW.1): 全局中断允许位。“1”为允许,“0”为禁止。CPU响应中断时,该位由硬件清零; |
| P(PSW.0): 奇偶标志位。表示ACC中“1”的个数是奇数还是偶数; |
| 堆栈指针ESP为16位寄存器,指向堆栈栈底。XW51 CPU的堆栈位于XDATA空间,最大可为64K字节,为递增满栈。ESP 由两个8位寄存器组成,低8位为SP,与标准MCS51的SP兼容,在SFR空间的地址为0x81;高8位为SPX,在SFR空间的地址为0x84。 |
| 数据指针DPTR与标准MCS51 CPU中的DPTR相同。高8位为DPH,在SFR空间的地址为0x83,低8位为DPL,在SFR地址空间的地址为0x82。 |
| IE 为8位寄存器,每一个控制位控制一个中断源的允许。“1”为允许,“0”为禁止。在SFR空间的地址为0xa8。 |
| IR 为8位寄存器,每一个位表示一个中断源的状态,“1”为有中断请求,“0”表示没有中断请求。在SFR空间的地址为0xb8。 |
| 指令指针PC与标准MCS51 CPU的PC寄存器相同。 |
| 工作寄存器 R0-R7,类似标准MCS51 CPU中的R0-R7。与MCS51不同,XW51 CPU的R0-R7不分页,只有一组;也不参与内存编址,所以,不能通过内存地址访问这些寄存器。如:R0和内存的0x00单元,在物上是不同的存贮实体,所存数据可能是不同的。为此,在使用C51编译软件时要使用 -noaregs 开关,以保证程序能正确执行。 |
|
|
|