打印

各个SFR作为一般RAM存储单元时的地址会不一样?

[复制链接]
2295|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2sainimu78|  楼主 | 2011-10-21 19:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
NE5532| | 2011-10-21 20:56 | 只看该作者
楼主看的啥单片机???

使用特权

评论回复
板凳
2sainimu78|  楼主 | 2011-10-21 20:58 | 只看该作者
51/52吧

使用特权

评论回复
地板
NE5532| | 2011-10-21 21:08 | 只看该作者
对拉,楼主要记住,世界上不只1种单片机,其实我猜到是51了。B的地址确实是F0,而且不会变,楼主看下前后文,是不是断章取义了。SFR一般都是固定地址的,只有很少的机型用了映射技术,在同一个地址上又多个SFR或者某个SFR映射到多个地址去。

使用特权

评论回复
5
2sainimu78|  楼主 | 2011-10-21 21:20 | 只看该作者
没呢 这句话是介绍B的最后一句话 之后的是介绍堆栈指针SP了 之前是讲B的作用

那么 实际上是 B作为一般RAM使用时 地址也是F0H哦 这个地址可以用间接寻址的方式访问?
如果事实是这样的 那就不用管书了嘛

使用特权

评论回复
6
NE5532| | 2011-10-21 21:39 | 只看该作者
51做了地址复用,FSR是不能间指滴,间址就到RAM去了。

使用特权

评论回复
7
2sainimu78|  楼主 | 2011-10-21 21:45 | 只看该作者
本帖最后由 2sainimu78 于 2011-10-21 21:50 编辑

啥啊... 互相讲不清楚了
书里有个话是 "AT89S52片内供用户使用的RAM为256字节,地址范围为00~FFH.显然,80H~FFH这个存储器空间还有与专用寄存器区地址相同的128字节数据存储器,它们的地址是重叠的,通过采用不同的寻址方式区分它们.对于AT89S52内80H~FFH RAM区的访问只能采用间接寻址方式访问 ,"

然后我的意思是 B作为RAM(而不是SFR)使用时 地址也是F0H哦 这个地址可以用间接寻址的方式访问 ?

我的意思不就是 我提的问题吗
"B的地址不是F0H吗 , 然后作为RAM中的一个单元的地址怎么会是B0H?
其它SFR呢? 作为RAM中的一个单元来使用时的地址也与作为SFR时的地址不一样?"

莫非...我真的又误解了?

使用特权

评论回复
8
NE5532| | 2011-10-21 22:01 | 只看该作者
1.SFR的实现技术也是RAM,把B当RAM用本来就是个伪命题。除非是必须和B连用的指令,例如乘除法,其他时候你就把B当个缓冲用也无所谓。

2.高128字节RAM,直接访问是寄存器,间接寻址是RAM,不可能用间接寻址找到B

OVER.

使用特权

评论回复
9
2sainimu78|  楼主 | 2011-10-21 22:15 | 只看该作者
:$ 说是 间接寻址寻F0H地址是寻到与SFR的B的地址一样的RAM地址 而不能说是寻到B寄存器  这样是了吧

使用特权

评论回复
10
NE5532| | 2011-10-21 22:16 | 只看该作者
对。

使用特权

评论回复
11
2sainimu78|  楼主 | 2011-10-21 22:19 | 只看该作者
好吧 确实我是口残了 不过因此引出了许多没想过的知识呢  谢谢你

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

121

帖子

1

粉丝