КОМАНДЫ ОБРАЩЕНИЯ К ПОДПРОГРАММЕ

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

JMS(Переход на подпрограмму)

Последовательность команд может быть записана как подпрограмма и размещена отдельно от основной программы. Команда JMS обеспечивает связь основной программы и подпрограммы.

Например, предположим, что нужно совершить переход на подпрограмму. Которая размещается в ячейках 150-170, когда основная программа достигает ячейки 100.

Программный счетчик хранит адрес следующей команды, которую надо будет выполнять. Перед выполнением JMS 150 программный счетчик содержит адрес 100. Во время выполнения команды JMS 150 он увеличивает свое содержимое, указывающий следующий адрес - 101. Команда JMS 150 считывает содержимое программного счетчика и записывает его в первую ячейку подпрограммы. Следовательно, в этот момент ячейка 150 будет содержать число 101. При выполнении подпрограммы первая ячейка (150) будет использоваться в качестве указателя для возвращения в основную программу. Далее команда JMS 150 заносит в программный счетчик адрес 151. Следовательно, управление программой передается второй ячейке подпрограммы.

 

Последняя команда подпрограммы обеспечивает возвращение в основную программу. Она находит адрес 101, записанный в ячейке 150, и передает управление ячейке 101. Эта команда использует косвенную адресацию.

КОМАНДЫ МИКРООПЕРАЦИЙ

Эта группа команд оперирует только с одним операндом. После выполнения операции операнд находится там же, где он находится до операции. Общая форма команд микроопераций:

OPR dst

В малой машине приемником обычно является аккумулятор, поэтому в команде он не определяется. Для некоторых команд приемником может быть регистр связи, в этом случае L добавляется к OPR:

Приемник = аккумулятор Приемник = L

OPR OPRL

Основными командами микроопераций являются: CLEAR (очистить), INCR (увеличить), COMPL (инвертировать код), ROTL (циклический сдвиг влево) и ROTR (циклический сдвиг вправо).

Команда CLEAR

Устанавливает аккумулятор в нуль:

А

Команда CLEAR L

Устанавливает регистр связи в нуль:

L

Команда INCR

Прибавляет к содержимому аккумулятора 1:

(А) + 1 → А

 

Команда COMP L

Инвертирует содержимое аккумулятора:

(Ā) → А

Команда COMPLL

Инвертирует содержимое регистра связи:

(L) → L

Команда ROTL

Замыкает аккумулятор и регистр связи в кольцо и сдвигает все разряды кольца на один разряд влево:

 


Команда ROTR

Замыкает аккумулятор и регистр связи в кольцо и сдвигает все разряды кольца на один разряд вправо.

 









Дата добавления: 2015-12-01; просмотров: 616;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.