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

Команды пересылки данных занимают очень важное место в системе ко­манд любого процессора. Они выполняют следующие важнейшие функции:

• загрузка (запись) содержимого во внутренние регистры процессора;

• сохранение в памяти содержимого внутренних регистров процессора;

• копирование содержимого из одной области памяти в другую;

• запись в устройства ввода/вывода и чтение из устройств ввода/вывода.

В некоторых процессорах все эти функции выполня­ются одной-единственной командой MOV (для байтовых пересылок — MOVB), но с различными методами адресации операндов.

В других процессорах помимо команды MOV имеется еще несколько команд для выполнения перечисленных функций. Например, для загруз­ки регистров могут использоваться команды загрузки, причем для разных регистров — разные команды (их обозначения обычно строятся с исполь­зованием слова LOAD — загрузка). Часто выделяются специальные ко­манды для сохранения в стеке и для извлечения из стека (PUSH — сохранить в стеке, POP — извлечь из стека). Эти команды выполняют пересылку с автоинкрементной и с автодекрементной адресацией (даже если эти режимы адресации не предусмотрены в процессоре в явном виде).

Иногда в систему команд вводится специальная команда MOVS для строчной (или цепочечной) пересылки данных (например, в процессоре 8086). Эта команда пересылает не одно слово или байт, а заданное количе­ство слов или байтов (MOVSB), то есть инициирует не один цикл обмена по магистрали, а несколько. При этом адрес памяти, с которым происходит взаимодействие, увеличивается на 1 или на 2 после каждого обращения или же уменьшается на 1 или на 2 после каждого обращения. То есть в неявном виде применяется автоинкрементная или автодекрементная адресация.

В некоторых процессорах специально выделяются функции обмена с устройствами ввода/вывода. Команда IN используется для ввода (чтения) информации из УВВ, а команда OUT используется для вывода (записи) в УВВ. Обмен информацией в этом случае производится между регист­ром-аккумулятором и устройством ввода/вывода. Начиная с процессора 80286 добавлены команды строчного (цепочечного) ввода (команда INS) и строчного вывода (команда OUTS). Эти команды позволяют пересылать целый массив (строку) данных из памяти в устройство ввода/вывода (OUTS) или из уст­ройства ввода/вывода в память (INS).

Также к командам пересылки данных относятся команды обмена ин­формацией (их обозначение строится на основе слова Exchange). Может быть предусмотрен обмен информацией между внутренними регистрами, между двумя половинами одного регистра (SWAP) или между регистром и ячейкой памяти.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: