Why is it possible to do something like:
mov %rbx, %rcx
But not to do:
mov %rip, %rax
# lea (%rip), %rax
Why is this the case, and how does call go about calculating the return address?
Why is it possible to do something like:
mov %rbx, %rcx
But not to do:
mov %rip, %rax
# lea (%rip), %rax
Why is this the case, and how does call go about calculating the return address?