找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1802|回复: 3
收起左侧

在学习汇编51单片机有个问题请问下?

[复制链接]
ID:218360 发表于 2019-5-2 14:38 | 显示全部楼层 |阅读模式
trimvalue16bit   EQU   030H

MOV  trimvalue16bit ,#00H

MOV     A,#0F1H   
ADD     A,trimvalue16bit+01H
MOV     trimvalue16bit+01H,A
MOV     A,#0FFH
ADDC    A,trimvalue16bit
MOV     trimvalue16bit,A
这里的trimvalue16bit+01H 这样写是什么意思?为什么可以这样写不报错?这几句麻烦帮忙注释下,谢谢各位了

回复

使用道具 举报

ID:462827 发表于 2019-5-2 23:01 | 显示全部楼层
EQU就是宏定义,trimvalue16bet EQU 030H,这样在代码的其它地方的 trimvalue16bit都相当于用030H来换上。030H+01H当然不报错。
回复

使用道具 举报

ID:401564 发表于 2019-5-3 14:04 | 显示全部楼层
EQU是一个伪指令,“在代码的其它地方的 trimvalue16bit都相当于用030H来换上”就是这个意思了
在A51中是允许+-*和求模,还有”大于等于“,”小于等于“这样子类似于C语言的运算符进行运算,也可以不用CJNE或者加减法指令直接比较两个数的大小的,但这种功能好像实用性并不怎么好,教科书很少有教这个的,一个指令最好不要有太多的运算,这只会让原本就让人头痛的汇编更加的麻烦 QQ截图20190503135529.jpg
回复

使用道具 举报

ID:510365 发表于 2019-5-4 00:27 | 显示全部楼层
trimvalue16bit   EQU   030H        ;让程序中trimvalue16bit调用030H  MOV  trimvalue16bit ,#00H                ;把00H传送到030H  MOV     A,#0F1H                                        ;把0f1H传送到累加器A ADD     A,trimvalue16bit+01H        ;把累加器A的内容加031H的内容后传回累加器A里面 MOV     trimvalue16bit+01H,A        ;把累加器A的内容传送到031H MOV     A,#0FFH                                        ;把0ffH传送到累加器A ADDC    A,trimvalue16bit                ;把累加器A的内容加030H的内容后传回累加器A里面 MOV     trimvalue16bit,A                ;把累加器A的内容传送到030H内
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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