В 32-битных режимах есть четыре способа сделать это:
- самый рекомендуемый способ - выполнить сложение в два этапа с
add
и затем adc
в регистрах общего назначения
- если у вашего процессора есть FPU, вы также можете использовать x87 FPU для выполнения 64-битной арифметики. Поскольку x87 FPU содержит 64-битную мантиссу, вычисления на 64-битных целых числах являются точными до тех пор, пока вы не превысите 64-битный диапазон.
- если ваш процессор поддерживает как минимум SSE2, вы можете выполнить 64-битную арифметику для регистров MMX
- если ваш процессор поддерживает как минимум SSE2, вы также можете выполнить 64-битную арифметику с регистрами XMM
Самым быстрым из них для одной 64-битной операции, вероятно, является подход add
/ adc
. Для нескольких операций SSE2 будет самым быстрым, затем MMX (если вы можете жить со штрафом за переход и неспособностью использовать x87 FPU в состоянии MMX) и, наконец, x87.
В 64-битном режиме (длинный режим) вы можете дополнительно просто выполнить 64-битную арифметику с 64-битными регистрами общего назначения.
Дайте мне знать, если вам нужны подробности или примеры.