找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 2015 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-11-15 13:37

正文摘要:

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

回复

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。

这些手册上都有,要认真读手册,读通、读透,一遍、两遍、三遍,你对单片机就精通了。
否则,算不得精通,也就谈不上高手。
ID:883242 发表于 2022-11-16 13:21
新乡家电维修 发表于 2022-11-16 12:23
你搞乱了位与字节的指令,
MOV C,20H;是位操作,就像是对应一个IO口,
MOV A,20H是字节操作,就像是对应 ...

从他写的汇编来看,他没搞乱位与字节指令,只是搞乱了位地址和字节地址。
ID:72088 发表于 2022-11-16 12:23
你搞乱了位与字节的指令,
MOV C,20H;是位操作,就像是对应一个IO口,
MOV A,20H是字节操作,就像是对应于一组IO口(8个IO口)
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:883242 发表于 2022-11-15 17:14
ADD A,20H
这是对地址20H操作
MOV C,20H
这里的20H是24H.0的别名。

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

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

Powered by 单片机教程网

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