Разделы:


Best links:

Команды пересылки данных

Различают четыре типа пересылок: общего назначения, с участием аккумулятора, адреса операнда и флагов. Ни одна из команд этой группы не влияет на флаги, за исключением двух команд, которые осуществляют явную загрузку регистра флагов F.

Пересылки общего назначения. Задаются с помощью четырех мнемокодов: MOV (переслать), PUSH (занести в стек), POP (извлечь из стека) и XCHG (обменять).

Команда MOVосуществляет пересылку байта или слова из источника в место назначения. В качестве источника и места назначения может служить регистр, память или сегментный регистр. Кроме того, источником могут являться  данные (константы), непосредственно представленные в формате команды. Команда MOVчасто используется в программах, что является одной из причин существования достаточно большого числа ее форматов. Выбор подходящего формата в определенной степени может оптимизировать программу по времени ее выполнения.

Команда PUSHслужит для занесения содержимого 16-разрядного источника в стек. Источником операнда может являться регистр,   сегментный    регистр или  память.   Выполнению  команды предшествует формирование адреса   вершины   стека: (SP) = (SP) – 2.

Команда  POP  служит для извлечения  16-разрядного операнда из стека и пересылки его в регистр, память или сегментный регистр. Операция  извлечения   из   стека   завершается формированием нового адреса вершины стека (SP) = (SP) + 2.

Команда XCHGвызывает обмен байтами или словами между источниками. В качестве источников могут служить регистры и память. Команда имеет всего два формата, поскольку сегментные регистры не могут использоваться при обмене.

Пересылки с участием аккумулятора. Состоят из трех команд: IN(ввод), OUT (вывод) и XLAT (трансляция). В отличие от рассмотренных выше пересылок общего типа эти команды обязательно используют аккумулятор в качестве источника или места назначения операнда.

предыдущаяследующая