В синтаксисе AT & T память ссылаются следующим образом:
segment-override:signed-offset(base,index,scale)
Вниз на странице есть несколько примеров. Я считаю это лучшим:
GAS memory operand NASM memory operand
------------------ -------------------
(%ecx,%ebx,2) [ecx+ebx*2]
mov source, destination в синтаксисе AT & T копирует значение из источника в пункт назначения. Также рассмотрим размер edx. Сколько байтов (4), по вашему мнению, скопирует mov?
Ответ 2
mov (%r11,%r12,1), %edx эта команда используется для расчета адреса (режим индексированной адресации).
%r11 является базовым адресом
%r12 - это индекс
и 1 - мультипликатор
Он работает следующим образом:
adres = base adres + index * multipler
base adres и multipler должны быть константами (базовый адрес может быть зарегистрирован), индекс должен быть зарегистрирован.