x86 中的“常规”寄存器只有 32 位大小,因此您不能使用它们来添加两个 64 位整数(除非您分多个步骤进行添加)。
但是,您能否使用另一种方式(例如使用 SSE) native 添加两个 64 位整数?
最佳答案
在 32 位模式下,有四种方法可以做到这一点:
add
和 adc
分两步进行加法对于单个 64 位操作,其中最快的可能是
add
/adc
方法。对于多个操作,SSE2 将是最快的,然后是 MMX(如果您可以忍受转换惩罚并且在 MMX 状态下无法使用 x87 FPU),最后是 x87。在 64 位模式(长模式)下,您还可以简单地对 64 位通用寄存器进行 64 位运算。
如果您需要更多详细信息或示例,请告诉我。
关于assembly - 您可以在 x86 中 native 添加两个 64 位整数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55677040/