Reputation: 27
I don't understand what the 0x83443f
does. The value stored in 0x83443f
is 10, the value stored in %eax
is 2, yet it gives 14 after it runs the line:
mov 0x83443f(,%eax,4), %eax
Upvotes: 2
Views: 85
Reputation: 39556
The content of memory location 0x83443fh is not used.
The scaled addressing mode will multiply the contents of %eax (2) by 4 to obtain the address 0x83443fh + 8 = 0x834447h. This location's content will be moved to the %eax register.
Upvotes: 3