I really don't see any logical/technical reason for prohibiting it. AFAIK, an imm64 fits just nicely on a 64-bit stack, alignment aside.
Asked
Active
Viewed 397 times
0
-
Because engineers at AMD designed the instruction set that way. It's a good question but (probably) a bad match for this website, where questions that can be answered more objectively are preferred. – Pascal Cuoq Nov 06 '14 at 16:28
-
In x86_64 the only instruction that allows 64-bit immediate is movabs. You can only push 32-bit immediates – phuclv Nov 06 '14 at 17:03
-
@LưuVĩnhPhúc: can you retag this with `[assembly]` so I can dup-hammer it to https://stackoverflow.com/questions/16917643/how-to-push-a-64bit-int-in-nasm, please? If I edit the tags myself I the one-vote duplcate close doesn't work. – Peter Cordes Mar 01 '18 at 18:07
-
@PeterCordes done – phuclv Mar 02 '18 at 01:05
-
@LưuVĩnhPhúc: thanks. – Peter Cordes Mar 02 '18 at 01:19