Способы задания операндов команды
У данного правила есть исключения, которые касаются:
1) команд работы с цепочками, которые могут перемещать данные из памяти в память;
2) команд работы со стеком, которые могут переносить данные из памяти в стек, также находящийся в памяти;
3) команд типа умножения, которые, кроме операнда, указанного в команде, используют еще и второй, неявный операнд.
Из перечисленных сочетаний операндов наиболее часто употребляются регистр – память и память – регистр. Ввиду их важности рассмотрим их подробнее. Обсуждение мы будем сопровождать примерами команд ассемблера, которые будут показывать, как изменяется формат команды ассемблера при применении того или иного вида адресации. В связи с этим посмотрите еще раз на рисунке 21, на котором показан принцип формирования физического адреса на адресной шине микропроцессора. Видно, что адрес операнда формируется как сумма двух составляющих – сдвинутого на 4 бита содержимого сегментного регистра и 16-битного эффективного адреса, который в общем случае вычисляется как сумма трех компонентов: базы, смещения и индекса.