While I was studying assembly code, I saw below code segment. I am a bit confused.
mov $0x0, %ecx
lea 0x3(%rdi), %eax
cmp $0xffffffffffffffff, %edi ; ???
cmovle %eax, %rdi
I have marked line by ???. I don’t understand why that line is used in assembly code?
assembly : x86 64 bit
EDIT: I haven’t any comparison in my code. For this reason, I wonder why ?
Note: I haven’t find relevant title for that question. help and inform me if you find one. So, I can change
it compares the register
%ediwith the constant$0xffffffffffffffffwhich is actually the constant-1