在emu8086中添加两个64位数字

时间:2013-03-05 19:48:31

标签: assembly x86 addition x86-16

我搜索了大约一天但我找不到任何关于adding 64 bit numbers in assembly - emu8086

的信息

我该怎么做?

我的寄存器只有16位,我有2位64位。我正在使用它的应用程序是emu8086。 (这是一个学校项目)

1 个答案:

答案 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