Я не прошу дать оценку.
(Если бы это было так, я бы сделал это сам.)
Мой вопрос:
Я предпочитаю избегать косвенных/индексных адресов для удобства.
В качестве замены я часто использую немедленную, абсолютную или регистрационную адресацию.
Код:
; %esi has the array address. Say we iterate a doubleword (4bytes) array.
; %ecx is the array elements count
(0x98767) myloop:
    ... ;do whatever with %esi
    add $4, %esi
    dec %ecx
    jnz 0x98767;
Здесь у нас есть сериализованная комбо (dec и jnz), которая предотвращает надлежащее выполнение вне порядка (зависимость).
Есть ли способ избежать этого? (Я не эксперт по сборке).
