2.2.4. Косвенная адресация

По аналогии с регистровыми и непосредственными операндами адрес операн­да в памяти также можно не указывать, а хранить в любом регистре. До процессо­ра 80386 для этого можно было использовать только ВX, SI, DI и ВР, но потом ограничения были сняты и адрес операнда разрешили считывать также из ЕАX, ЕВХ, ЕСХ, EDX, ESI, EDI, ЕВР и ESP (но не из АХ, СХ, DX или SP напрямую -надо использовать ЕАX, ЕCX, EDX, ESP соответственно или предварительно ско­пировать смещение в ВX, SI, DI или ВР). Например, следующая команда помещает

ВЯНтНННбЗ:       Процессоры Intel в реальном режиме

в регистр АХ слово из ячейки памяти, селектор сегмента которой находится в DS, а смещение - в ВХ:

mov       ax,[bx] '

Как и в случае с прямой адресацией, DS используется по умолчанию, но не всегда: если смещение берут из регистров ESP, EBP или ВР, то в качестве сегмен­тного регистра применяется SS. В реальном режиме можно свободно работать со всеми 32-битными регистрами, надо только следить, чтобы их содержимое не пре­вышало границ 16-битного слова.