<p>I have a question about variable initialization in MASM's assembly. </p>

<p>How can I initialize 2^32 to a variable and to what kind of variable should I initialize? DWORD or REAL4?</p>

<p>I try to do it like:</p>

<pre><code>val DWORD 2.0E+32
</code></pre>

<p>When I assign var to a register(e.g. mov eax,val) and try to write the value, I see something that is not 2^32. I also tried it with REAL4 type. Result is still same. </p>

<p>So What I am doing wrong here?</p>

<p>Thanks in advance...</p>

2^32 = 4294967296 = 0x100000000 (that's 8 zeroes).
```
2.0E+32
```
is 2 * 10^32 = 200000000000000000000000000000000, a
completely
different number. It's also a floating-point number, whereas
```
0x100000000
```
is an integer.