寄存器是怎么用的?

[复制链接]
2847|8
 楼主| 谢谢分享 发表于 2011-10-18 21:41 | 显示全部楼层 |阅读模式
是不是寄存器不需要给他定义地址就可以直接用的啊。

像 mov R0,R0

   R0不需要给他定义地址就可以直接用是吧?

   有什么书可以看啊。 这些概念不懂。。。。
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 而不需要另外定义吗?  嗯 好的,谢谢哦,明天就找来看看。
 楼主| 谢谢分享 发表于 2011-10-18 22:48 | 显示全部楼层
3# 老鱼探戈   是不是汇编器在编译的时候他会这样做啊? 我在ARM的头文件里没找到定义R0之类的,只有定义哪些普通的寄存器的。
HWM 发表于 2011-10-18 23:00 | 显示全部楼层
to 4L:

不是CPU可以直接识别Rn,而是CPU指令中存在一段存放寄存器编号n的区域。如MCS-51中n最大是7,则指令中只需3位二进制空间区域存放此编号。至于所谓的头文件中定义Rn,那时用于直接地址访问方式,这种寻址方式和寄存器寻址方式不同,虽然访问的是同一个寄存器。
 楼主| 谢谢分享 发表于 2011-10-19 08:40 | 显示全部楼层
6# HWM    概念清晰了点。 就是Rn是某寄存器的编号。 可以直接通过Rn访问寄存器。   而不需要另外定义了?   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 谢谢分享 发表于 2011-10-19 08:46 | 显示全部楼层
看了书结合你说的,我明白了。 虽然不知道他具体是怎么实现的。  但是我知道了不用定义就能直接使用。到时去看 你介绍的书。谢谢拉。:)
HWM 发表于 2011-10-19 08:47 | 显示全部楼层
to 7L:

是的,无需另外定义。其实汇编遇到Rn(或Rd)会直接将n(或d)放入到指令的相应区域。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1

主题

392

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部