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?