Мнемоника команды | Содержание команды | Пояснения |
HLT | Остановка | Выполнение программы прекращается |
CLR А | Очистить А | А:=0 (в операнд А засылается 0) |
INC А | Увеличить А на 1 | А:=А+ 1 (значение А увеличивается на 1) |
DEC A | Уменьшить А на 1 | А:=А-1 (значение А уменьшается на 1) |
MOV А,В | Переписать А в В | В:=А (В принимает значение А) |
ADD A,B | Сложить А в В | В:=А + В (сумма помещается в В) |
SUB A,B | Вычесть А из В | В:=В-А (разность помещается в В) |
СМР А,В | Сравнить А с В | По знаку разности А-В устанавливаются |
Управляющие биты; А и В сохраняются | ||
JMP А | Безусловный переход к А | Безусловный переход по адресу А |
BR К | Безусловный переход на К. слов | Безусловный переход через К команд |
BEQ К | Переход по = 0 | Переход на К слов, если результат = 0 |
BNE К | Переход по ≠ 0 | Переход на К слов, если результат ≠ 0 |
BPL К | Переход по ≥ 0 | Переход на К слов, если результат ≥ 0 |
ВМ1 К | Переход по < 0 | Переход на К. слов, если результат < 0 |
JSR А | Вызов подпрограммы по адресу А | Переход на адрес А с запоминанием адреса возврата для команды RET |
RET | Возврат из подпрограммы | Возврат на команду, следующую за вызовом подпрограммы |
Во-вторых, переходы делятся на безусловные и условные. Безусловные, как. следует из названия, происходят всегда. При выполнении условного перехода анализируются управляющие биты. Переход происходит только в том случае, когда признаки имеют требуемые значения; в противном случае переход игнорируется и выполняется следующая за ним команда. Чаще всего условному переходу предшествует команда сравнения, «подготавливающая» управляющие признаки для анализа. Отметим, что команды BEQ и BNE проверяют значение признака Z, a BPL и BMI -признака N.
В таблице у команд перехода для наглядности указаны адреса или величина смещения в словах. Именно таким образом и кодируются команды в памяти ЭВМ. Однако при записи текстов программ дело обычно обстоит несколько проще: в требуемых местах программы ставятся метки, а расчет конкретных адресов и смещений машина производит самостоятельно (см. приводимые ниже примеры).
В приведенных в таблице командах в качестве операндов фигурируют условные обозначения А и В. Расшифруем их. Система команд процессора PDP построена достаточно логично и закономерно, поэтому любой операнд- и первый, и второй - в любой операции задается совершенно одинаково. В PDP существует 8 различных способов задать местонахождение информации, требующейся для выполнения операции. Их принято называть методами адресации, и все они связаны с различным использованием РОН. Наличие развитой системы методов адресации делает программирование для процессора PDP очень гибким и мощным.
Опишем коротко организацию основной памяти, контролируемой обсуждаемым микропроцессором. Основная адресация - байтовая; каждый байт имеет уникальный адрес. Так как процессор является 16-разрядным, то объем контролируемого им номинально адресного пространства 64 кбайта; на деле программисту для размещения программы и данных доступно меньшее пространство, так как 8 кбайт памяти зарезервировано для общения с внешними устройсгвами. Реально, однако, с помощью специальных механизмов преобразования исполнительных адресов емкость ОЗУ, доступную пользователю, делают значительно большей (детали рассматривать не будем).
Байт может быть операндом для некоторых команд. Однако, большая часть команд обрабатывает операнды длиной 2 байта - «слово». Слово состоит из двух соседних байтов; адресом слова считается адрес младшего входящего в него байта.
Таблица 4.3