Примеры команд MI
Примеры команд MI
Рисунок 4.9а Команда арифметического сложения (ADDN)
На рисунках 4.9а, 4.9б и 4.9в показаны форматы трех команд ОРМ MI. Команда арифметического сложения ADDN имеет шестнадцатиричный[ 39 ] код операции 1043, а также три операнда. Это вычислительная команда, и функция сложения в ней имеет код 43.
Рисунок 4.9b Команда перехода (B)
Рисунок 4.9c Копирование байтов с выравниванием влево и заполнителем (CPYBLAP)
В таблице 4.27 приведены 11 других форм ADDN. Различные варианты команды получаются путем комбинации опций сокращенной команды, округления, индикатора и перехода. Обратите внимание, что кодом функции по-прежнему остается 43.
ADDNS 1143 Короткая ADDNR 1243 С округлением ADDNSR 1243 Короткая с округлением ADDNI 1843 Индикаторная ADDNIS 1943 Индикаторная короткая ADDNIR 1A43 Индикаторная с округлением ADDNISR 1B43 Идикаторная короткая с округлением ADDNB 1C43 С переходом ADDNBS 1D43 Короткая с переходом ADDNBR 1E43 С оКороткая с округлением и с пере- ходом
Таблица 4.2 Формы команды арифметического сложения
Команда перехода (рисунок 4.9б) имеет только один операнд — точку перехода и задает безусловный переход. В MI нет отдельной команды условного перехода, а все условные ветвления выполняются в результате некой вычислительной команды. Так как переход является не вычисляемой командой, у нее нет разных форм, как у ADDN.
Третья команда (рисунок 4.9) имеет чудесное, хоть и немного длинное, имя «CPYBLAP» («Copy Bytes Left-Adjusted with Pad»). Она позволяет скопировать строку байтов из одного поля в другое. Байты выравниваются по левому краю принимающего поля, и если исходное поле короче принимающего, то оставшиеся байты будут заполнены заданным значением. Понятно, что это лишь одна из многих команд копирования в MI. В большинстве коммерческих приложений копирование используется очень интенсивно. Возможно, читатель узнал в «CPYBLAP» аналог оператору «Move» в языке Cobol или «MOVEL» с P в колонке полувыравнивания из RPG.
Мы рассмотрели лишь три команды MI (а есть еще сотни и сотни других) и только команды: MI (вычислительные и перехода) модели OPM. Как уже упоминалось, существуют также вычислительные команды и команды перехода для поддержки ILE. В следующих главах мы поговорим о командах для работы с объектами.