本文主要是介绍linux 嵌入式汇编 adc,汇编语言ADC指令:带进位加法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ADC(带进位加法)指令将源操作数和进位标志位的值都与目的操作数相加。该指令格式与 ADD 指令一样,且操作数大小必须相同:
ADC reg, reg
ADC mem, reg
ADC reg, mem
ADC mem, imm
ADC reg, imm
例如,下述指令实现两个 8 位整数相加 (FFh+FFh),产生的 16 位和数存入 DL:AL,其值为 01FEh:
mov dl, 0
mov al, 0FFh
add al, 0FFh ; AL = FEh
adc dl, 0 ; DL/AL = OlFEh
下图展示了这两个数相加过程中的数据活动。首先,FFh 与 AL 相加,生成 FEh 存入 AL 寄存器,并将进位标志位置 1。然后,将 0 和进位标志位与 DL 寄存器相加:
同样,下述指令实现两个 32 位整数相加 (FFFF FFFFh+ FFFF FFFFh),产生的 64 位和数存入 EDX:EAX,其值为:0000 0001 FFFF FFFEh:
mov edx, 0
mov eax, 0FFFFFFFFh
add eax, 0FFFFFFFFh
adc edx, 0
扩展加法示例
这篇关于linux 嵌入式汇编 adc,汇编语言ADC指令:带进位加法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!