Отображение памяти в сборке и ее содержимое
У меня два 68000 регистров A2
а также A7
, Первоначально A2
содержит $002C4178
а также A7
содержит $0000A000
, Затем следующие инструкции выполняются последовательно:
MOVE.L #6,-(A2)
MOVE.L #14,-(A7)
MOVE.L #$24,(A7)
MOVE.L (A7),$1000
Каково содержимое измененной памяти? Каково содержание регистров A2
а также A7
(в шестнадцатеричном виде)?
1 ответ
A2
предварительно уменьшено в первой инструкции, поэтому:
$002C4178 => $002C4174
затем #6 хранится по этому адресу.
затем A7
предварительно уменьшено, так что:
$0000A000 => $00009FFC
затем #14
хранится по этому адресу. Это тогда немедленно перезаписано следующей инструкцией, которая пишет #$24
(#36
) по тому же адресу.
Наконец значение выше в месте, указанном A7
(#$24
) хранится по абсолютному адресу $1000
,