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