这是用汇编写程序,计算十进制时常用的指令,是十进制调整指令。
例,计算15+16,而且是用BCD码示时,是0001 0101 + 0001 0110
计算和为:0010 1011,是2BH,并不是31,这时就可以用DA A指令进行整调,就变成 0011 0001 ,这就是31的BCD码了。
DA A指令,只对加法计算结果有调整作用。
扩展资料:
1、按指令所占的字节来分:
(1)单字节指令(49条) 如MOV A,R2,(机器码11101010)
(2)双字节指令(46条) 如MOV A,#0BH,(机器码74H,
0BH)
(3)三字节指令(16条) 如MOV 0BH, #0BH ,(机器码75H,
0BH,0BH)
(1) 1个机器周期(64条) ,如MOV A,R2 MOV A,#0BH,
(2) 2个机器周期(45条) ,如MOV 0BH, #0BH
(3) 4个机器周期(2条) ,乘、除指令。
参考资料来源:百度百科-单片机系统指令
单片机中调整指令:DA A是什么意思?
答案是 A=62H DA A 是BCD加法后的调整 两个BCD码相加 35+27 =62 ADD A,#27后 A=5BH DA A ;进行调整就成了 62H 一定是两个BCD码相加,DA A 要紧跟在 ADD 之后
单片机中调整指令:DA A是什么意思
DA A指令,只对加法计算结果有调整作用。
电路中DAA到底是什么,有什么用
DAA 该指令跟在以AL为目的操作数的ADD或ADC指令之后,对AL的二进制结果进行十进制调整,并在AL得到十进制结果。DAA指令对OF标志无定义,按结果影响所有其他标志,其中CF反映压缩BCD码相加的进位状态。例:压缩BCD码的加法运算 mov al,68h ;al=68h,表示压缩BCD码68 mov bl,28h ;bl=28h,表示压缩B...
在汇编中,指令DAA是什么意思?
十进制数加调整指令DAA(Decimal Adjust After Addition)该指令是用于调整AL的值,该值是由指令ADD或ADC运算二个压缩型BCD码所得到的结果。压缩型BCD码是一个字节存放二个BCD码,低四位和高四位都是一个BCD码。其调整规则如下:1、如果AL的低四位大于9,或标志位AF=1,那么,AL=AL+6,并置AF=1...
汇编中DA指令到底什么意思?
单片机 汇编 DA A 指令为 十进制 调整指令, 是结合 加法 指令一起用的,在其它场合使用 没有意义 甚至会出错,如 十进制 加法 38+55=93 汇编为 MOV A, #38H ; A = 38H ADD A, #55H ; A = 38H+55H=8DH DA A ; A = 93H 调整指令后 ...
求教,单片机中的DA指令是指啥啊?
DA A;这条指令是十进制调整指令,用来在进行十进制运算(BCD码)时进行校正的。当两个BCD码加法时,01H+09H应该是等于10H,但由于 单片机的加法指令是二进制的运算,加完之后得到的结果是0AH,这时就需要再加上一个06H。DA这条指令就是起这个作用。
汇编中的DA指令是怎么回事,是转成8421BCD码么?
这个问题很简单!51单片机中DAA是十进制调整指令,一般跟在加法指令后面。 参加加法运算的数字,首先应该都是8421BCD码; 它们经过二进制的运算后,就不一定还是8421BCD码。 执行了DAA后,它就能够把结果调整为8421BCD码。 51单片机中DAA的指令,放在减法指令后面无效。
单片机里面的DA A指令用法,,,求教
daa 是16进制转换10进制的指令 防止出现字母 LCD无法显示 例:mov a,33h mov r1,a mov a,39h add a,r1 ;此时结果在ACC daa r1 ;这样结果转换10进制且存储在R1里面 只要是ADD后面做了DAA转化 可以直接显示 不会出现乱码
单片机中十进制调整指令:DA A是什么意思?
BCD码转换指令;比如说:81D+91D=172D 而:81H+91H=112H 这里为了将81H+91H结果与81D+91D一致,经过DA有:DA(112H)=112H+60H=172H 虽然一个是16进制一个是10进制但172在形式上是相等的。MOV R5,#81H MOV A, #91H ADD A, R5 DA A 首先81H+91H=112H,此时AC=0,Cy=1,A=12H,...
讨论利用MCS-51单片机DA A指令实现十进制减法运算的方法
DA A是十进制加法调整指令,用它进行减法运算也要写一段程序,为什么干脆用减法指令做减法。比如将十进制数十位对十位减,个位对个位减,有借位进行处理一下就行了。