Ознакомление с работой на учебно-отладочном комплексе УМПК-48. Исследование организации и работы регистров, внутренней и внешней памяти данных ОЭВМ, страница 8

Команды    JMP   adr" (безусловный переход) и CALL adr (вызов подпрограммы) осуществляют переход'по любому адресу,    но    в    пределах текущего банка. При начальной    установке   ОЭВМ    происходит автоматическое включение банка МВО. В   дальнейшем   выбор банка памяти осуществляется командами SEL МЩ и SEL MB1.    Однако, выполнение этих команд  лишь изменяет содержание внутреннего триггера выбора банка MB. Изменение содержимого старшего 11-го разряда адреса происходит лишь при выполнении команд JMP или CALL. Содержимое триггера MB невозможно прочитать программно» это создает определенные неудобства при программировании, особенно в случае вызова подпрограммы, расположенной в другом банке. Это обусловлено тем, что при возврате из подпрограммы полный 12-разрядный адрес возврата восстанавливается из стека, но состояние триггера MB не изменяется. Для предотвращения возможных ошибок после команды CALL необходимо выполнить команду выбора текущего банка памяти.

Особенностью ОЭВМ ВЕ48 является то, что передача управления командами условных переходов осуществляется только в пределах одной страницы ПК и задается однобайтным адресом в команде. Кроме   команд   условных    переходов   однобайтную    адресацию     в    пределах страницы   ПК   используют   команда   косвенного   перехода   JMPP @ А, а также команды      пересылки      MOVP      А,      @А      и      MOVP3      А,       @А. Рассмотрим эти команды подробно.

JMPP @А - косвенный переход в пределах страницы памяти.

В программный счетчик в биты 0-7 загружается содержимое ячейки памяти, адресуемой аккумулятором: (PC ) <— ((А)).

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

MOVP А, @А.- переслать в аккомулятор данные, из текущей страницы памяти команд. По этой команде аккумулятор адресует ячейку ПК через разряды 0-7 программного счетчика, т.е. в пределах одной страницы. После получения аккумулятором данных из адресованной ячейки, содержимое программного счетчика восстанавливается. Эта команда часто называется командой чтения текущей страницы памяти.

MOVP3 А, @А - передача данных со страницы 3 памяти команд в аккумулятор. По этой команде байт данных с третьей страницы ПК из ячейки, адресуемой аккумулятором через программный счетчик передается в аккумулятор. По окончании операции содержимое PC восстанавливается. Эта команда называется командой чтения 3-й страницы памяти. Она обычно используется для чтения констант и табличных данных, которые расположены на 3-й странице ПК.

При программировании ОЭВМ следует помнить одно очень важное обстоятельство. Если первый байт двухбайтовой команды условного перехода располагается в последней ячейке страницы ПК, то переход будет осуществляться в СЛЕДУЮЩУЮ страницу. Однобайтные команды JMPP @А и MOVP А, @А, расположенные в последней ячейке страницы, также будут оперировать с данными СЛЕДУЮЩЕЙ страницы.

В ОЭВМ ВЕ48 имеются две команды возврата из подпрограмм: RET и RETR. Команда RET - это возврат из подпрограммы без восстановления слова состояния PSW. При выполнении этой команды в программный счетчик загружается из стека адрес возврата в основную программу. Команда RETR - это возврат с восстановлением слова состояния PSW. При выполнении этой команды яз стека в программный счетчик загружается адрес возврата, а в регистр PSW - 4 старших бита PSW (CY,AC,FO,BS), хранящихся в стеке.

Различие в действии команд RET и RETR проявляется в следующем. Так как признак (флаг) банка регистров BS входит в PSW, то после возврата из подпрограммы по команде RETR всегда происходит восстановление выбранного в основной программе банка регистров. При возврате по команде RET содержимое PSW и, следовательно, номер банка не изменяются, т.е. остаются теми же, что и в конце выполнения подпрограммы. Эту особенность команд возврата удобно использовать в подпрограммах для сохранения значений регистров основной программы.

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

3.1. Исследование команд переключения банков ПК

3.1.1. Занесите в ПК ОЭВМ программу, иллюстрирующую возможность выбора банка ПК командами SEL MB:

Адрес  Код   Метка     Команда         Комментарий 000   F5     BANKO:      SEL   MB1         ;включить 1-й банк ПК