2015-04-02 2 views
1

Привет ребята им работать на CTF вызов и не совсем понимаю эту команду ассемблера:Монтаж MOV Инструкция

mov %edx,0x20(%esp,%eax,4) 

Im предполагая его: двигаться $edx в (0x20 + $esp + $eax + 4)

Однако когда я проверил это с помощью GDB это неверно. Любой разум объясняет, как эта инструкция работает?

Благодарим за помощь!

+0

Синтаксис Intel сделает это понятным –

ответ

2

AT & T синтаксис для ссылок x 86 памяти выглядит следующим образом:

displacement(base,index,scale) 

давая адрес смещения + базы + (индекс * шкала).

То есть адрес места назначения для вашей суммы составляет% ESP + 0x20 + (4 *% EAX).

Смежные вопросы