在我学习汇编代码时,我看到了下面的代码段。我有点困惑。
mov $0x0, %ecx
lea 0x3(%rdi), %eax
cmp $0xffffffffffffffff, %edi ; ???
cmovle %eax, %rdi
我有标记线???我不明白为什么在汇编代码中使用该行?
汇编:x86 64位
编辑:我的代码中没有任何比较。出于这个原因,我想知道为什么?
注意:我没有找到该问题的相关标题。如果找到,请通知我。所以,我可以改变
答案 0 :(得分:3)
它将寄存器%edi
与常量$0xffffffffffffffff
进行比较,实际上是常量-1