In NASM, when using dwords, I can write mov dword [rbp-16], 2147483647
instead of mov eax, 2147483647
followed by mov dword [rbp-16], eax
.
But with qwords, this is not the case. If I wrote mov qword [rbp-16], 2147483648
instead of mov rax, 2147483648
followed by mov qword [rbp-16], rax
, it gives me this warning:
disass.asm:35: warning: signed dword immediate exceeds bounds [-w+number-overflow]
disass.asm:35: warning: dword data exceeds bounds [-w+number-overflow]
Why is so?