如果A <B,处理器如何计算

ult*_*use -1 comparison bit-manipulation operators

这可能是我脑子里一个愚蠢的问题,但我想我没有回答这个问题 -

如果A <B,处理器将如何找到?事实上还有其他的东西,比如A> B或A == B.

但如果我们解决A

我知道不同的处理器可能有不同的实现,但我想有一些高水平的想法这样做.

我相信,按位运算符的一些技巧应该这样做.

任何帮助将不胜感激.

Ste*_*eim 7

在x86汇编中,CMP指令通常用于比较两个整数.

例如,如果你分别在EAX和EBX中有整数,并且执行CMP EAX,EBX,则sign(S)标志和零(Z)标志的值将告诉你哪个数字最大:

EAX > EBX:  Z=0, S=0
EAX == EBX: Z=1, S=0
EAX < EBX:  Z=0, S=1
Run Code Online (Sandbox Code Playgroud)

通过使用SUB指令可以获得相同的结果,SUB指令还存储目标寄存器中的数字之间的差异.


Ign*_*ams 6

减去BA,看看N(负)标志或结果的最高位被设置.