打印

寄存器是怎么用的?

[复制链接]
2149|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
HWM| | 2011-10-18 21:52 | 只看该作者
re LZ:

寄存器通过其编号访问,如R0、R2....,Rn 中的 n。n 和地址不同,其长度较短,因此占用指令的空间也少。具体可找本《计算机原理》或《微机原理》等看看。

使用特权

评论回复
板凳
老鱼探戈| | 2011-10-18 22:10 | 只看该作者
不是不需要给他定义地址,是因为头文件已经定义了地址。

使用特权

评论回复
地板
谢谢分享|  楼主 | 2011-10-18 22:46 | 只看该作者
2# HWM    这样啊。意思就是CPU可以直接识别Rn 而不需要另外定义吗?  嗯 好的,谢谢哦,明天就找来看看。

使用特权

评论回复
5
谢谢分享|  楼主 | 2011-10-18 22:48 | 只看该作者
3# 老鱼探戈   是不是汇编器在编译的时候他会这样做啊? 我在ARM的头文件里没找到定义R0之类的,只有定义哪些普通的寄存器的。

使用特权

评论回复
6
HWM| | 2011-10-18 23:00 | 只看该作者
to 4L:

不是CPU可以直接识别Rn,而是CPU指令中存在一段存放寄存器编号n的区域。如MCS-51中n最大是7,则指令中只需3位二进制空间区域存放此编号。至于所谓的头文件中定义Rn,那时用于直接地址访问方式,这种寻址方式和寄存器寻址方式不同,虽然访问的是同一个寄存器。

使用特权

评论回复
7
谢谢分享|  楼主 | 2011-10-19 08:40 | 只看该作者
6# HWM    概念清晰了点。 就是Rn是某寄存器的编号。 可以直接通过Rn访问寄存器。   而不需要另外定义了?   

使用特权

评论回复
8
谢谢分享|  楼主 | 2011-10-19 08:46 | 只看该作者
看了书结合你说的,我明白了。 虽然不知道他具体是怎么实现的。  但是我知道了不用定义就能直接使用。到时去看 你介绍的书。谢谢拉。:)

使用特权

评论回复
9
HWM| | 2011-10-19 08:47 | 只看该作者
to 7L:

是的,无需另外定义。其实汇编遇到Rn(或Rd)会直接将n(或d)放入到指令的相应区域。

使用特权

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

本版积分规则

个人签名:历经挫折才能站的更稳.加油

1

主题

392

帖子

2

粉丝