I'm trying to understand x86-64 assembly and today I came across the following:
I can do something like this:
mov $0x74786574656d6f73, %rax #compiles to movabs
push %rax
While i can't do the following:
push $0x74786574656d6f73 #8-byte
I'm getting Error: operand type mismatch for push
I checked, and I can see, that there is no problem with doing:
push $0x74786574 #4-byte, compiles to pushq
Does it mean that I cannot push 8-byte immediate values on stack?