title: What does "movl $0x4050, (%eax)" do?
body: <p>Let's say that register %eax contains address 0x100 and at address 0x100 there is a value 0x3999.</p>
  
  <p>From what I understand "%eax" returns the address, for example movl $0x4050, %eax, moves the value 0x4050 at address 0x100. </p>
  
  <p>But "(%eax)" returns the value at the address, meaning 0x3999. So what does movl $0x4050, (%eax) do? Is it going to treat the constant 0x3999 as an address?</p>