Идея состоит в том, чтобы использовать инструкцию SBB
(sub с заимствованием). Например, если у меня есть два числа:
edx:eax
ecx:ebx
тогда разница будет edx:eax
:
sub eax, ebx
sbb edx, ecx
Идея состоит в том, что вы можете вычитать каждую часть отдельно, но вам нужно одолжить у MSB младший. SBB
делает именно это:
SBB <em>dest</em>, <em>src</em>
означает:
dest <-- dest - src - EFLAGS.CF
Что удобно, потому что:
SUB <em>dest</em>, <em>src</em>
означает:
dest <-- dest - src
EFLAGS.CF <-- borrow from subtraction