Lea инструкция по сборке

I Просто хочу убедиться, что я правильно прочитал:

movl 12(%ebp), %edx
leal (%edx, %edx, 4), %eax

Я прочитал первую строку как: edx = [epb + 12] , а вторую строку как: eax = edx + edx * 4

Кто-нибудь может прояснить?

Кроме того, что, если бы у меня были следующие две строки:

leal (%edx, %edx, 4), %eax
leal (%edx, %edx, 2), %eax

После выполнения второй строки регистр eax будет перезаписан?

И регистр eax = edx + edx * 4 умножает адрес на 4? Или содержимое адреса на 4?

7
задан Carl Norum 15 February 2013 в 18:32
поделиться