Я использую 32-битную систему и имею 64-битное число, сохраненное в EDX:EAX. Я пытаюсь вычесть число, сохраненное в ESI:EDI, правильно ли это? Я почти уверен, что это не потому, что после 3 итераций результаты неверны.
sub %esi, %edx #Subtract two 64 bit numbers
sub %edi, %eax
sbb
. Сначала вычтите младшее двойное слово, затем вычтите старшее двойное слово с заимствованием (так же, как перенос). - person Frank Kotler   schedule 24.03.2014psubq xmm0, xmm1
. Но, вероятно, только в том случае, если у вас есть несколько 64-битных операций или входы и выходы уже находятся в памяти. (Переход между xmm и целочисленными регистрами стоит больше, чемsub
/sbb
, но осторожное использование xmm-регуляторов может снизить нагрузку на целочисленные регистры.) - person Peter Cordes   schedule 08.11.2017