打印

SFR中的问题

[复制链接]
1761|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lark8406|  楼主 | 2009-4-3 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
iC921| | 2009-4-3 09:40 | 只看该作者

麻烦说明你是什么主机的

使用特权

评论回复
板凳
HWM| | 2009-4-3 09:45 | 只看该作者

A和ACC是一码事,SFR中是ACC,反映在指令中便是A(缺省指定)

使用特权

评论回复
地板
computer00| | 2009-4-3 09:56 | 只看该作者

A是CPU寄存器,而ACC是内存单元。

虽然是两个东西,但是被连接到同一个物理存储单元。不同的指令目标是不一样的,有些指令是隐含寄存器A的,而有些指令则只能对内存单元操作。

使用特权

评论回复
5
awey| | 2009-4-3 09:59 | 只看该作者

A和ACC在指令中还是有区别的

用A表示寄存器寻址
而ACC表示直接寻址

A和ACC在物理上是同一个存储空间。

使用特权

评论回复
6
HWM| | 2009-4-3 10:00 | 只看该作者

楼上,那可不是两个东西哦。只是一个东西的两个面而已。

使用特权

评论回复
7
computer00| | 2009-4-3 10:04 | 只看该作者

那看你怎么理解了。

使用特权

评论回复
8
HWM| | 2009-4-3 10:11 | 只看该作者

六楼指的是“楼上的楼上”,看来某些低门槛的东西还是有

在MCS-51某些指令中,暗含着累加器操作数的指定(反映在指令编码上没有相应的操作数代码域,其实其相关信息已经和OP-code捆绑)。在汇编中为了显式的体现这样的一种关系,便采用了A来说明。至于ACC,那是A在SFR中的“地址”。只要能访问SFR的指令都可以将A的地址放入相应的操作数代码段,为别于A,故采用ACC表示之。

使用特权

评论回复
9
computer00| | 2009-4-3 10:15 | 只看该作者

按照俺的理解,A是确实存在的CPU寄存器,

而ACC则是通过内存映射的方式,将A寄存器映射到了某个内存单元。

使用特权

评论回复
10
HWM| | 2009-4-3 10:21 | 只看该作者

sfr ACC = 0xE0; // 此便是A,能说是两个东西(实体)吗?

使用特权

评论回复
11
computer00| | 2009-4-3 10:27 | 只看该作者

都说要看你怎么理解了。反正我是这么理解的。

A累加器是CPU本身的一部分,是属于CPU的算术逻辑单元(ALU)的一部分。
而ACC则是一个内存单元,它是属于存储器部分的。

只不过将A累加器映射到了ACC这个内存单元而已。虽然是两个东西,但是最终指向的物理单元是同一个。

使用特权

评论回复
12
McuPlayer| | 2009-4-3 10:31 | 只看该作者

ACC是A的直接寻址方式的表示

使用特权

评论回复
13
lark8406|  楼主 | 2009-4-3 13:03 | 只看该作者

51at

我用的是51的,AT89S51

使用特权

评论回复
14
三块石头| | 2009-4-3 15:00 | 只看该作者

我觉得你俩说的是一回事……

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝