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?