如何使用 i386 汇编程序减去 64 位数字?
最佳答案
这个想法是使用 SBB
(带借用的子)指令。例如,如果我有两个数字:
edx:eax
ecx:ebx
那么这将使
edx:eax
有所不同:sub eax, ebx
sbb edx, ecx
这个想法是你可以分别减去每个部分,但你需要从 MSB 借用到 LSB。
SBB
就是这样做的:SBB dest, src
的意思是:dest <-- dest - src - EFLAGS.CF
这很方便,因为:
SUB dest, src
的意思是:dest <-- dest - src
EFLAGS.CF <-- borrow from subtraction
关于assembly - 在 x86 汇编程序中减去 64 位数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3056385/