标题:
在学习汇编51单片机有个问题请问下?
[打印本页]
作者:
打杂的
时间:
2019-5-2 14:38
标题:
在学习汇编51单片机有个问题请问下?
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 这样写是什么意思?为什么可以这样写不报错?这几句麻烦帮忙注释下,谢谢各位了
作者:
hantu
时间:
2019-5-2 23:01
EQU就是宏定义,trimvalue16bet EQU 030H,这样在代码的其它地方的 trimvalue16bit都相当于用030H来换上。030H+01H当然不报错。
作者:
Y_G_G
时间:
2019-5-3 14:04
EQU是一个伪指令,“在代码的其它地方的 trimvalue16bit都相当于用030H来换上”就是这个意思了
在A51中是允许+-*和求模,还有”大于等于“,”小于等于“这样子类似于C语言的运算符进行运算,也可以不用CJNE或者加减法指令直接比较两个数的大小的,但这种功能好像实用性并不怎么好,教科书很少有教这个的,一个指令最好不要有太多的运算,这只会让原本就让人头痛的汇编更加的麻烦
QQ截图20190503135529.jpg
(43.43 KB, 下载次数: 53)
下载附件
2019-5-3 14:02 上传
作者:
baisstg
时间:
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内
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1