|
-(A7) dereferences and predecrements A7, in C++ this would be *(--A7)
(A7)+ dereferences and postincrements A7, in C++ *(A7++).
-(A7) decreases the value in A7 by 1, then looks up in memory what is at address A7. So if we have the following memory layout:
0012bcad 41
0012bcae 37
0012bcaf 26
and A7 contains 0012bcae, move.b -(A7),d0 will change A7 to 0012bcad and load 41 into d0.
Mirroring that, if A7 contains 0012bcae, move.b (A7)+,d0 will load 37 into d0 and change A7 to 0012bcaf.
|