全站数据
8 4 2 0 5 8 1

汇编语言中ADD和ADDC的区别是什么

财经全球眼 | 简单学习,快乐成才!         
问题更新日期:2024-10-26 17:34:14

问题描述

汇编语言中ADD和ADDC的区别是什么希望能解答下
精选答案
最佳答案

ADD 两数相加,不加进位位。

ADDC 两数相加,同时再加个进位位。进位当时为1就加1 为0就加0相当于不加

一般用在多字节数相加中。最低位相加,用ADD ,加完后,可能产生进位,高字节相加就用ADDC

这样,低字节相加产生的进位就会被加进来。

比如 0080H + 0180H

低字节相加用 ADD

80H+80H=100H 用ADD指令得到 00H 并溢出产生进位 C=1

高字节 相加用 ADDC

00H+01H=01H 用 ADDC 指令两数相加结果 01H会再加上进位位 1 得到 02H

0080H+0180H = 02 00H

再比如

0080H + 0101H

80H+01H = 81H 没有溢出进位为 C=0

00H+01H =01H 用ADDC指令会 再加进位位 C=0 得到 01H

结果 0080H+0101H = 0181H

其他回答

ADD两数相加,不加进位位。ADDC两数相加,同时再加个进位位。进位当时为1就加1为0就加0相当于不加一般用在多字节数相加中。最低位相加,用ADD,加完后,可能产生进位,高字节相加就用ADDC这样,低字节相加产生的进位就会被加进来。比如0080H+0180H低字节相加用ADD80H+80H=100H用ADD指令得到00H并溢出产生进位C=1高字节相加用ADDC00H+01H=01H用ADDC指令两数相加结果01H会再加上进位位1得到02H0080H+0180H=0200H再比如0080H+0101H80H+01H=81H没有溢出进位为C=000H+01H=01H用ADDC指令会再加进位位C=0得到01H结果0080H+0101H=0181H