找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机存储器单元成功赋值但没写进去数据

查看数: 3086 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-18 09:12

正文摘要:

请帮我看看 关于存储器的一个问题 急 谢谢 谢谢 执行完毕后 r0 与0x85 两个单元成功赋值,但是A这个单元怎么没有写进去数据呢 为什么

回复

ID:111634 发表于 2018-8-18 21:14
对于80c52单片机(属增强型),访问(包括写入和读出)高128B(80H~FFH)均应采用寄存器间接寻址方式。
ID:7485 发表于 2018-8-18 20:16
51单片机的高128位(80H~0FFH)是和特殊功能寄存器地址相重合的,可以直接寻址,不可以使用R1、R0间接寻址的。
如 mov R0,#0x80
    mov 0x80,#0x22
    mov A,@R0
是不可以的。
  而:mov R0,#0x7F
         mov 0x7F,#0x22
         mov A,@R0     
是可以的。
ID:7485 发表于 2018-8-18 12:34
你是用的是什么单片机?有没有0x85(0x7f以上的)RAM?AT89c51就没有。只有128字节最高到0x7f。
ID:94031 发表于 2018-8-18 10:45
c语言 发表于 2018-8-18 09:14
mov R0,#0x85
mov 0x85,#0x22
mov A,@R0

把 mov 0x85,#0x22 改为 mov @R0,#0x22; 就可以了。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表