找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1540|回复: 5
打印 上一主题 下一主题
收起左侧

51单片机位寻址区20h-2fh寻址方式请教

[复制链接]
跳转到指定楼层
楼主
因为仿真计算结果不正确,我估计下可能是位寻址区赋值方式的问题。MOV 20.0,C 编译不能通过,MOV 20H,C可以通过,但是计算结果不正确,可是验算是正确的。
请大家指导一下,下面是单片机汇编语言程序


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-11-15 17:14 | 只看该作者
ADD A,20H
这是对地址20H操作
MOV C,20H
这里的20H是24H.0的别名。

都不是一个内存地址,你都加了个寂。
回复

使用道具 举报

板凳
ID:624769 发表于 2022-11-15 19:07 | 只看该作者
MOV  20.0, C  是错的。
正确写法是:
MOV  20H.0, C

但,
MOV  20H.0, C
不等于:
MOV  20H, C

MOV  20H.0, C
等于: MOV  00H C

同样,MOV  20H,C
等于:MOV  24H.0,C
回复

使用道具 举报

地板
ID:72088 发表于 2022-11-16 12:23 | 只看该作者
你搞乱了位与字节的指令,
MOV C,20H;是位操作,就像是对应一个IO口,
MOV A,20H是字节操作,就像是对应于一组IO口(8个IO口)
回复

使用道具 举报

5#
ID:883242 发表于 2022-11-16 13:21 | 只看该作者
新乡家电维修 发表于 2022-11-16 12:23
你搞乱了位与字节的指令,
MOV C,20H;是位操作,就像是对应一个IO口,
MOV A,20H是字节操作,就像是对应 ...

从他写的汇编来看,他没搞乱位与字节指令,只是搞乱了位地址和字节地址。
回复

使用道具 举报

6#
ID:123289 发表于 2022-11-16 13:33 | 只看该作者
从20H-2FH,一共是16个字节,有128位。标准51系统给这128个位进行了编号,并特别给出了指令:
20H.0编号为00H, 20H.1编号为01H,......
21H.0编号为08H, 21H.1编号为09H,......
......
2FH.0编号为78H, 2FH.7编号为7FH,......
编号80-8FH留给特殊寄存器用了。如:P0.4编号为84H
MOV 20H, C 这里的20H是编号,按顺序指的是:24H.0位。
C是PSW的CY位,它也有编号:D7H。PSW的地址是D0H,在D0H.7是C。

这些手册上都有,要认真读手册,读通、读透,一遍、两遍、三遍,你对单片机就精通了。
否则,算不得精通,也就谈不上高手。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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