1

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

我怎样才能做到这一点 ?

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

4

1 回答 1

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
于 2013-03-05T20:14:29.403 回答