I am trying to place the value of 2^32 - 1 (4294967295)
into a long label through the following code:
.data
num:
.long 4294967295
However, when I look at the data in the register after I push the variable to the register (movl num, %ecx
), the dividend is displayed as -1
. The program is running on a 32-bit computer. This seems strange, since shouldn't a 32-bit long be able to store 2^32 - 1 = 4294967295
?