Я пытаюсь понять, как именно косвенная адресация памяти работает на языке ассемблера с синтаксисом AT&T.
movl (%eax), %ebx
movl %eax, (%ebx)
Вот аналогичный вопрос, который объясняет косвенную адресацию памяти
Вот что я понял:
В первом случае вы load
данные, на которые указывает регистр %eax
, и сохраняете их в %ebx
.
Во втором случае вы store
данные в регистре %eax
в адресное пространство, на которое указывает регистр %ebx
. Я прав?
ebx = *eax
и*ebx = eax
. - person ShinTakezou   schedule 10.06.2013