我搜索了大约一天但我找不到任何关于adding 64 bit numbers in assembly - emu8086
我该怎么做?
我的寄存器只有16位,我有2位64位。我正在使用它的应用程序是emu8086。 (这是一个学校项目)
答案 0 :(得分:5)
使用adc
在各个16位加法之间传播进位。以下内容将从内存中将数字2添加到内存中的数字1:
mov ax, [num1_bits0_15]
add ax, [num2_bits0_15]
mov [num1_bits0_15], ax
mov ax, [num1_bits16_31]
adc ax, [num2_bits16_31]
mov [num1_bits16_31], ax
mov ax, [num1_bits32_47]
adc ax, [num2_bits32_47]
mov [num1_bits32_47], ax
mov ax, [num1_bits48_63]
adc ax, [num2_bits48_63]
mov [num1_bits48_63], ax