Предварительные сведения - Функции команд

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

Команды пересылки: по командам этого типа производится пересылка информации из одной области памяти в другую. Например, команда MVCслужит для пересылки содержимого областей памяти по новому адресу, а команда LRпересылает содержимое одного регистра в другой регистр.

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

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

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

Команды ввода-вывода: эти команды осуществляют управление работой периферийных устройств и соответствующими потоками информации.

Тип и функция позволяют определить группу, из которой следует выбирать команду, наиболее подходящую для выполнения заданных действий. Размещение операндов в памяти и их тип определяют тип команды; выполняемое по данной команде действие характеризует функцию команды. Во многих случаях эта классификация позволяет программисту однозначно выбрать необходимую команду. Иногда требуется дальнейший выбор, например выбор соответствующей арифметической команды. В любом случае описанная классификация достаточно полезна программисту, пишущему на языке ассемблера.

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



 
Статьи раздела