Я просто хочу убедиться, что я правильно читаю:
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?