[51单片机] 请教:怎么用R0,R1向A传80-FF的数据都不对,哪里错了?

[复制链接]
1392|4
 楼主| fxhfxh 发表于 2015-11-24 12:54 | 显示全部楼层 |阅读模式
mov 0e7h,#33h
mov r0,#0e7h
mov a,@r0
这样传送,a里面应该是33h吧?但用keil3仿真a里面都是0,搞了几天了,到底错在什么地方?(我是想通过r0传送e7h地址单元里面的33h到a).谢谢了。
ayb_ice 发表于 2015-11-24 13:34 | 显示全部楼层
错了

对地址高于7F的RAM只能使用间接寻址

mov r0,#0e7h
mov a,#33h
mov @r0,a
地址e7h的RAM的内容才是33h
wh6ic 发表于 2015-11-24 13:41 | 显示全部楼层
0xE7 的确是 A 的地址,但用 @Rx 间接寻址 0xE7 找到的不是 A,而是高 128 字节的 iRAM。你最后一句可以改成 mov a, 0xE7
 楼主| fxhfxh 发表于 2015-11-24 14:16 | 显示全部楼层
ayb_ice 发表于 2015-11-24 13:34
错了

对地址高于7F的RAM只能使用间接寻址

谢谢技术总监,我的意思是0E7H里面已经有了33h了,要将这个33h通过R0或R1送到A中去。
ayb_ice 发表于 2015-11-24 14:39 | 显示全部楼层
本帖最后由 ayb_ice 于 2015-11-24 14:43 编辑
fxhfxh 发表于 2015-11-24 14:16
谢谢技术总监,我的意思是0E7H里面已经有了33h了,要将这个33h通过R0或R1送到A中去。 ...

0e7h这个地址对应有两个区域,一个是SFR,一个是IRAM,不知道你指的是哪个
// SFR
MOV a,0efh

// IRAM
mov r0,#0efh
mov a,@r0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

382

帖子

1

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