MOV A Rn和MOV A @Ri 能这样理解吗

[复制链接]
 楼主| wjcy131421 发表于 2008-4-25 13:01 | 显示全部楼层 |阅读模式
MOV&nbsp;A&nbsp;Rn和MOV&nbsp;A&nbsp;@Ri&nbsp;&nbsp;能这样理解吗&nbsp;<br /><br />MOV&nbsp;A&nbsp;Rn&nbsp;中Rn里是一个数据<br />MOV&nbsp;A&nbsp;@Ri中Ri里是一个地址<br /><br />那Rn和Ri应该都是寄存器&nbsp;&nbsp;,有什么差别呢????<br /><br />还有寄存器是既可以存数据也可以存地址吗?但是从另一个角度来看,地址和数据在寄存器中都是一个8位的二进制数,只是意义不同?不知道可不可以这样理解?<br /><br />初学单片机,被这些东西搞糊了,听听大家的意见~!~<br />&nbsp;<br />&nbsp;<br />
老公牛 发表于 2008-4-25 13:05 | 显示全部楼层

  
三块石头 发表于 2008-4-25 13:17 | 显示全部楼层

re

Rn是指51单片机中的通用寄存器R0~R7;<br />Ri是指上面中的R0~R1<br />因为只有R0和R1能在指令MOV&nbsp;A,@Ri中出现,R2~R7不可以<br /><br />“从另一个角度来看,地址和数据在寄存器中都是一个8位的二进制数,只是意义不同”<br />这话比较同意,单片机甚至PC中所有东西都是无地位差别的二进制数,只不过看你怎么解释这些数字代表的含义,或者说做什么用。
 楼主| wjcy131421 发表于 2008-4-29 13:56 | 显示全部楼层

多谢LS

现在基本清楚点了&nbsp;~!~
lbx_00 发表于 2008-4-29 19:23 | 显示全部楼层

数据的意义要在指令里综合考虑

  
along1980 发表于 2008-4-29 22:39 | 显示全部楼层

right

正解
cliffliu 发表于 2008-4-29 23:51 | 显示全部楼层

95年学的8051,多年不搞汇编了

任何一条汇编语句都对应一个指令,而这个指令是否需要数据要看怎样的汇编语句,所以要分析一条语句必须将指令和数据一起分析,只分析数据是看不出什么的。<br />举例:&nbsp;NOP&nbsp;&nbsp;&nbsp;机器码&nbsp;00&nbsp;&nbsp;只有指令没用数据<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;A,#data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;机器码&nbsp;47xx&nbsp;&nbsp;指令码47&nbsp;数据XX<br /><br />&nbsp;&nbsp;&nbsp;MOV&nbsp;A&nbsp;Rn和MOV&nbsp;A&nbsp;@Ri&nbsp;&nbsp;只有指令没用数据,但是他们的指令码是不同的,指令译码器靠解析指令码,然后确定Ri里的数据是RAM地址还是寄存器<br /><br /><br />
niuniu1983 发表于 2008-4-30 20:25 | 显示全部楼层

偶觉得,寄存器内容相同,但是,编译器会根据这两个不同

的指令翻译成不同的机器码。从而执行不同的操作<br /><br /><br />偶也是菜菜
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

318

帖子

0

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

40

主题

318

帖子

0

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