wuzhengmin 发表于 2025-12-6 11:57:24

现在我们MCS-251指令集有268条指令

同时能操作的寄存器也扩展到16个(原来8051只有8个)

剩下的寄存器可以根据需要,配对组成16位和32位寄存器,WR 或者DR

可以仔细研究下图:

wuzhengmin 发表于 2025-12-6 12:04:20

这样我们有16个16位的寄存器

8个32位寄存器,还有2个特殊的16位寄存器充当DPX和SPX


0---15这16个寄存器可以8位来访问,也可以用字(16位)来访问,当然也可以双字(32位)来访问

其他高位的16个寄存器,都是按字(16位)或者双字(32位)来访问



wuzhengmin 发表于 2025-12-6 12:13:14

注:(1)R10就是8051单片机中的寄存B
(2)寄存器R11就是8051单片机中的累加器 ACC,也称为 A

wuzhengmin 发表于 2025-12-6 12:16:03

扩展的数据指针和堆栈指针:

最大是24位的寻址空间

wuzhengmin 发表于 2025-12-6 12:18:02

这样,再看寄存器文件,就没有那么头大了吧?

wuzhengmin 发表于 2025-12-6 12:19:58

下次再介绍专用寄存器:

这些纯理论的,很难真懂,所以第13集要回炉再学一次!

下次开始学习第14集!


wuzhengmin 发表于 2025-12-8 10:08:17

第十四集 32位单片机处理器核的内部结构二

先看看传统8051:

wuzhengmin 发表于 2025-12-8 10:09:51

传统8051:
这4组32个8位寄存器,在程序状态字寄存器PSW中的RS1RS0的2个位的控制下,来选择使用那一组寄存器。注意传统的8051这32个寄存器不能同时使用。
CUP在寄存器PSW中的RS1RS0的2个位的控制下,1次只能看到8个寄存器。

wuzhengmin 发表于 2025-12-8 10:18:35

2 寄存器的合并:

R0和R1合并----》WR0 ,注意这2个下角标0,是有对应关系的:注意放的顺序是R0是高8位,R1是低8位。当然WR2也是这样,R2放高8位,R3放低8位

wuzhengmin 发表于 2025-12-8 10:22:47

看这里我们应该理解,STC能把32位机做出来,也不是很容易的!

新的单片机低位的8个寄存器R0—R7和传统的8051是完全兼容的,R8 ---R15是STC增加的。上图中底色是灰的部分表示完全兼容传统8051.在此基础上R8 ---R15是STC增加的,在MCS-251指令集架构下规约了,R0—R7依然通过程序状态字寄存器PSW中的RS1RS0的2个位的控制下分组使用或者分时复用。STC新增加的R8 ---R15这8个可字节访问的寄存器,那么在传统按组复用的32个寄存器的基础上,再加上这8个,就有40个可字节访问的寄存器。每一时刻CPU看到的是由RS0和RS1决定的那一组寄存器。
页: 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45
查看完整版本: 跟着何宾老师学习STC32位8051单片机原理及应用-STC32G12K128