wuzhengmin 发表于 2025-12-8 12:32:59

MOV   R7,#0A0H;把立即数A0送入寄存器R7
MOV0D0H, #18H;0D0H 是直接寻址的方式,把立即数18H送人PSW程序状态字
看看为什么0D0是程序状态字?


wuzhengmin 发表于 2025-12-8 12:43:51

一开始默认是第0组寄存器

18的意思,就是让RS1=1,RS0=1 取第3组寄存器为当前寄存器。

MOV R7,#80H ;把立即数80送人第3组寄存器

MOV R15,#0A5H; R15是新扩充的寄存器,是STC增加的,和传统8051没关系

wuzhengmin 发表于 2025-12-8 12:49:52

执行完
MOV   R7,#0A0H;把立即数A0送入寄存器R7(上电后存储器默认是组0)
我们看0x000000开始的当前的存储器的第7位,的确是A0H,
当然,我直接改存储器的000000位:00---12,寄存器r0也马上更改为12

wuzhengmin 发表于 2025-12-8 12:52:37

注意这个存储器e:的意思是我们查看STC32的扩展存储空间,

就相当于传统8051的256字节区域

wuzhengmin 发表于 2025-12-8 12:55:14

e:0x0
看地址是0x000000,这是24位的地址空间,和传统51完全不同



wuzhengmin 发表于 2025-12-8 12:57:31

R7寄存器写入A0,那么存储器0x000007d的地方,马上变成A0

wuzhengmin 发表于 2025-12-8 12:59:41

这和我们刚才的地址映射完全一致:

wuzhengmin 发表于 2025-12-8 13:02:22

我们不用汇编,之间在Keil uVision下操作存储器0x000000,改成12,寄存器R0马上就变成12:

wuzhengmin 发表于 2025-12-8 13:04:11

当然接着的地址也是一样,一一对应:

看图:

wuzhengmin 发表于 2025-12-8 13:05:17

好像不学汇编,也可以懂一点点............

页: 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47
查看完整版本: 跟着何宾老师学习STC32位8051单片机原理及应用-STC32G12K128