11.1.3. Адресация

Регистровый операнд всегда начинается с символа %:

// xor edx.edx

xorl %еах,%еах Непосредственный операнд всегда начинается с символа

// mov edx, offset variable

• movl     $variable,%edx . Косвенная адресация использует немодифицированное имя переменной:

// push dword ptr variable

pushl variable

Более сложные способы адресации удобнее рассматривать как варианты мак­симально сложного способа - по базе и индексированием, и сдвигом:

// mov eax,base_addr[ebx+-edi*4} (наиболее общий случай)

movl base_addr(%ebx,%edi,4),%eax // lea еах,[еах+еах*4]

leal (%еах,%еах,4),%еах // mov ах, word ptr [bp-2]

movw -2(%ebp),%ax // mov edx, dword ptr [edi*2]

movl (,%edi,2),%edx