|
@ uses indirect addressing.
It is basically the same thing as the difference between ebp-4 and [ebp-04].
In your example:
d eax would show the value that is stored in eax, whether it be data, or an address.
d @eax would should the value that is stored at the memory address that is stored in eax (if eax is an address).
Think of it as kind of like a windows shortcut, where ebp-04 (or whatever) is the shortcut. It holds that actual location of the data, but knows nothing of the data itself, whereas [ebp-04] is a direct reference to the data itself. So in this case, d ebp-04 will only show you an address, where d @ebp-04 will show you the acual data. That is basically how it works. Do some reading about Assembly language and indirect addressing to getter the bigger picture.
Also, the @ symbol does not always work as expected, sometimes you have to manually type the address itself to see what the data is, and it is read from right to left in memory. For example the address 00A9F6CA would be listed in memory as CA F6 A9 00.
Hope this helps.
|