Справочник по языку Ассемблера IBM PC


         

в текущем сегменте данных, определяемом



Цепочка-источник, адресуемая операндом адрес_источника, может находиться в текущем сегменте данных, определяемом регистром ds.

Цепочка-приемник, адресуемая операндом адрес_приемника, должна быть в дополнительном сегменте данных, адресуемом сегментным регистром es.

Важно отметить, что допускается замена (с помощью префикса замены сегмента) только регистра ds, регистр es подменять нельзя.

Вторые части адресов - смещения цепочек — также находятся в строго определенных местах.

Для цепочки-источника это регистр esi/si

(Source Index register — индексный регистр источника).

Для цепочки-получателя это регистр edi/di

(Destination Index register - индексный регистр приемника).

Таким образом, полные физические адреса для операндов цепочечных команд следующие:

адрес_источника — пара ds:esi/si;

адрес_приемника — пара es:edi/di.

Вы, наверное обратили внимание на то, что все семь групп команд, реализующих цепочечные операции-примитивы, имеют похожий по структуре набор команд.

В каждом из этих наборов присутствует одна команда с явным указанием операндов и три команды, не имеющие операндов.

На самом деле, набор команд микропроцессора имеет соответствующие машинные команды только для цепочечных команд ассемблера без операндов. Команды с операндами транслятор ассемблера использует только для определения типов операндов.

После того как выяснен тип элементов цепочек по их описанию в памяти, генерируется одна из трех машинных команд для каждой из цепочечных операций. По этой причине все регистры, содержащие адреса цепочек, должны быть инициализированы заранее, в том числе и для команд, допускающих явное указание операндов.

В силу того, что цепочки адресуются однозначно, нет особого смысла применять команды с операндами. Главное, что вы должны запомнить, — правильная загрузка регистров указателями обязательно требуется до выдачи любой цепочечной команды.

Последний важный момент, касающийся всех цепочечных команд, — это направление обработки цепочки. Есть две возможности:


Содержание  Назад  Вперед