我试图理解x86-64程序集,今天我遇到了以下内容:
我可以这样做:
mov $0x74786574656d6f73, %rax #compiles to movabs
push %rax
虽然我无法做到以下几点:
push $0x74786574656d6f73 #8-byte
我得到Error: operand type mismatch for push
我查了一下,我可以看到,这样做没有问题:
push $0x74786574 #4-byte, compiles to pushq
这是否意味着我无法在堆栈上推送8字节的立即值?