Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (методические указания).doc
Скачиваний:
21
Добавлен:
16.11.2019
Размер:
382.46 Кб
Скачать

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО

ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Иркутский государственный

технический университет

АППАРАТНЫЕ И ПРОГРАММНЫЕ СРЕДСТВА СИСТЕМ УПРАВЛЕНИЯ

Методические указания по выполнению лабораторных работ

для студентов специальности “Металлорежущие станки и комплексы”

Иркутск 2006

Аппаратные и программные средства систем управления.

Методические указания по выполнению лабораторных работ.

Составитель А.В.Савилов. - Иркутск, 2006.

Рассмотрены директивы и команды системного монитора микроЭВМ "Электроника-60М". Проводится исследование режимов адресации и основных инструкций микропроцессора ВМ1801. Подробно рассмотрен регистр состояния процессора и команды с ним взаимодействующие. Дана методика программирования ввода/вывода информации в системе управления построенной на базе микроЭВМ "Электроника 60М" по опросу флагов и по прерываниям.

Методические указания могут быть использованы при выполнении лабораторных работ студентами специальности “Металлорежущие станки и комплексы”

Рецензент зав. кафедрой общеинженерных дисциплин ВСИ МВД России к.т.н. доцент Каргапольцев С.К.

ОГЛАВЛЕНИЕ

Охрана труда...................................................................................................................................

Лабораторная работа № 1. Изучение системного монитора микроЭВМ "Электроника 60М"

Лабораторная работа № 2. Изучение методов прямой адресации микропроцессора ВМ1801

Лабораторная работа № 3. Изучение методов косвенной адресации микропроцессора ВМ1801

Лабораторная работа № 4. Изучение методов адресации с использованием счётчика команд микропроцессора ВМ1801

Лабораторная работа № 5. Изучение слова состояния процессора и команд ветвления микропроцессора ВМ1801

Лабораторная работа № 6. Программирование ввода-вывода информации по опросу готовности в микроЭВМ "Электроника 60М"

Лабораторная работа № 7. Изучение системы прерываний микроЭВМ "Электроника 60М"

Литература

Приложение 1. Система команд и режимы адресации микроЭВМ "Электроника 60М"

Приложение 2. Наборы ASCII-кодов символов видеотерминала

ОБОЗНАЧЕНИЯ, ПРИНЯТЫЕ ПО ТЕКСТУ

ОЗУ

Оперативное запоминающее устройство

ПЗУ

Постоянное запоминающее устройство

ППЗУ

Перепрограммируемое постоянное запоминающее устройство

РОН

Регистр общего назначения

СК

Счётчик команд

ССП

Слово состояния процессора

СУ

Система управления

УПО

Устройство последовательного обмена

УС

- указатель стека;

srs

- операнд источника;

dst

- операнд приемника;

=

- разряд, устанавливается в “1” для байтовых операций и в “0” для операций со словами;

SS

- поле адресации операнда источника;

DD

- поле адресации операнда приемника;

х х х

- смещение (8 разрядов);

х х

- смещение (6 разрядов);

- становится равным;

- запись в стек;

- выборка из стека;

+

- состояние разряда изменяется в зависимости от результатов операции;

- состояние результата не изменяется;

0

- разряд очищается;

1

- разряд устанавливается в “1”;

N

- признак отрицательности результата;

Z

- признак равенства нулю результата;

V

- признак арифметического переполнения;

С

- признак переноса из старшего разряда;

(В)

- байтовая команда;

( )

- содержимое ячейки;

ОХРАНА ТРУДА

  1. Требования безопасности перед началом работы

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

Перед началом лабораторных работ необходимо:

- убедиться в том, что лабораторный стенд включен оператором, загружена программа-монитор;

- произвести осмотр своего рабочего места, при наличии посторонних предметов поставить в известность обслуживающий персонал.

  1. Требования безопасности во время работы

В устройствах, находящихся под напряжением, категорически запрещается:

- производить профилактические работы, связанные с внешним осмотром системы электропитания, сменой сетевых предохранителей и т.п.;

- вынимать и вставлять блоки печатного монтажа;

- соединять и разъединять разъемы внешних устройств и внутренних соединений.

Лабораторные работы проводятся согласно методическим указаниям.

  1. Требование безопасности по окончанию работы

После завершения работ рабочее место предъявляется для проверки преподавателю или лаборанту.

Студентам запрещается:

  • самостоятельно исправлять неисправности;

  • открывать корпуса устройств;

  • класть посторонние предметы на рабочие места;

  • включать и выключать устройства;

  • участвовать в работах выполняемых другими бригадами;

  • оставлять без надзора включенные устройства.

ЛАБОРАТОРНАЯ РАБОТА № 1

ИЗУЧЕНИЕ СИСТЕМНОГО МОНИТОРА МИКРОЭВМ "ЭЛЕКТРОНИКА 60М"

ЦЕЛЬ РАБОТЫ: освоить работу в системном мониторе с помощью встроенных команд и инструкций.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Структурная схема типовой системы управления на базе микроЭВМ "Электроника 60М" представлена на рис.1.

Рис. 1. Архитектура СУ на базе микроЭВМ "Электроника 60М"

МикроЭВМ представляют собой систему функциональных блоков, связь между которыми реализуется через единый системный канал обмена информацией (системные шины). Связь между устройствами, подключенными к каналу, осуществляется по принципу "активный – пассивный". В любой момент времени только одно устройство является активным и управляет циклами обмена информацией в канале. Передача данных через канал выполняется по асинхронному принципу при помощи специальных сигналов синхронизации, т.е. на инициализирующий обмен данными от активного устройства должен поступить ответный сигнал от назначенного пассивного устройства. Канал позволяет адресоваться к 32К 16 разрядных слов или к 64К байт.

Процессор выполняет все необходимые операции по приему команд, их исполнению, по обработке внешних и внутренних прерываний программы, а также по управлению каналом. Формат параллельной обработки данных 16-разрядное слово или 1 байт. Процессор выполнен на основе БИС 1801ВМ1 и подключается к каналу через корректор сигналов управления канала.

Оперативное запоминающее устройство (ОЗУ) предназначено для оперативного хранения данных и программ. Емкость ОЗУ 56 Кбайт (28 Кслов), выполнено на основе микросхем К565РУЗ. ОЗУ динамического типа и требует периодической регенерации.

Постоянное запоминающее устройство предназначено для хранения следующих программ:

программа режима начального пуска микроЭВМ;

программа пультового режима работы;

программа начального загрузчика с накопителя на гибких магнитных дисках;

ПЗУ выполнено на основе интегральной схемы 1801РЕ1-000;

ППЗУ предназначено для хранения программ пользователя, позволяет осуществлять многократное программирование.

Устройство последовательного обмена (УПО) предназначен для связи микроЭВМ с внешними устройствами по асинхронному последовательному каналу ввода. УПО осуществляет обмен информацией с каналом микроЭВМ с помощью четырех регистров, может производить прерывание программы с выдачей адреса вектора прерывания, как от приемника, так и от передатчика, обеспечивает обмен с внешними устройствами. Связь с внешними устройствами (в данном случае - дисплеем) УПО осуществляет через узел оптронной развязки.

Процесс ввода и отладки управляющих программ в системы управления (СУ), построенные на базе микроЭВМ "Электроника 60М" осуществляется при помощи системного программного обеспечения, основным ядром которого является монитор.

Монитор – программа, которая находится в ПЗУ СУ и начинает свою работу сразу после включения питания. Монитор обеспечивает чтение информации, содержащейся в регистрах общего назначения и в ячейках ОЗУ, ввод в них новой информации, запуск и пошаговую отладку прикладных программ. Команды монитора приведены в табл. 1.

Табл. 1

Имя команды

Назначение команды

/

<Ввод>

<ПС> - перевод строки

Ri, где i=0…7

G

P

Открыть ячейку или регистр общего назначения

Закрыть ячейку или регистр общего назначения

Закрыть текущую ячейку или регистр и открыть следующую

Закрыть текущую ячейку или регистр и открыть предидущую

Регистр общего назначения

Запустить программу с выбранного адреса

Продолжить выполнение программы в пошаговом режиме

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

  1. Исследовать содержимое регистров общего назначения и порядок записи в них информации.

    1. Открыть регистр R0. Для этого набрать на клавиатуре последовательно следующие символы: R0/. На экране появиться шестизначное восьмеричное число, содержащееся в этом регистре.

    2. Записать в регистр R0 новое число в диапазоне 0-1777778. Ввод числа заканчивается нажатием клавиши <Ввод>, при этом курсор перемещается на следующую строку и на экран выводится символ @-приглашение к работе.

    3. Убедиться, что информация введена правильно повторив п. 1.1.

    4. Используя клавиши <ПС> и просмотреть содержимое регистров от R0 до R7 и обратно.

  1. Исследовать содержимое ячеек ОЗУ и порядок записи в них информации.

    1. Открыть любую ячейку ОЗУ, адрес которой лежит в диапазоне 0-1577768. Для этого набрать на клавиатуре последовательно следующие символы: X/ , где X =0-1577768. На экране появиться шестизначное восьмеричное число содержащееся в этой ячейке.

    2. Записать в ячейку новое число в диапазоне 0-1777778. Ввод числа заканчивается нажатием клавиши <Ввод>, при этом курсор перемещается на следующую строку и на экран выводится символ @-приглашение к работе.

    3. Убедиться, что информация введена правильно заново открыв выбранную ячейку.

    4. Используя клавиши <ПС> и просмотреть содержимое нескольких ячеек ОЗУ в направлении увеличения и уменьшения адреса.

    5. Убедиться, что при попытке открыть ячейку с несуществующим адресом (например, 1600008) на экран выводится сообщение "?" или "BUS ERROR" (Ошибка шины).

  2. Исследовать директиву запуска программ "G".

    1. Записать в ячейку ОЗУ с адресом 100 код команды INC R0 (инкремент) 005200, а в ячейку 102 код команды HALT (останов) 0. В регистр R0 записать число 1.

    2. Запустить команду INC на выполнение. Для этого ввести с клавиатуры следующие символы 100G. На экране должна появиться строка 000104.

    3. Открыть регистр R0 и убедиться, что он содержит число 2.

    4. Повторить операцию п.3.2 несколько раз, убеждаясь при этом, что число в R0 каждый раз увеличивается на 1.

СОДЕРЖАНИЕ ОТЧЕТА

Привести в отчёте структурную схему СУ на базе микроЭВМ "Электроника 60М". Для п.п.1,2 привести содержимое РОН и ячеек ОЗУ до и после записи в них информации.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Какие функции в СУ выполняет центральный процессор?

Для чего предназначено ПЗУ?

Какая информация хранится в ППЗУ СУ?

Что такое программа монитор?

Какие директивы входят в состав программы монитора?

ЛАБОРАТОРНАЯ РАБОТА № 2

ИЗУЧЕНИЕ МЕТОДОВ ПРЯМОЙ АДРЕСАЦИИ МИКРОПРОЦЕССОРА ВМ1801

ЦЕЛЬ РАБОТЫ: изучить режимы прямой адресации микропроцессора ВМ1801

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Адрес регистра общего назначения или ячейку ЭВМ можно указать в команде различными способами, в зависимости от формата команды. Микропроцессор ВМ1801 имеет три формата команд - безадресные (стековые), одноадресные, двухадресные. В безадресных командах код команды содержит код операции. В одноадресных и двухадресных командах содержится код операции, номер регистра общего назначения (РОН) и метод адресации. Прямой метод адресации имеет четыре режима. Команды микропроцессора могут быть записаны с помощью цифр (в кодах) и с помощью символического языка (Ассемблера). С увеличением длины программы трудно запоминать коды различных операций, поэтому намного легче писать программу на символическом языке, например, Ассемблере.

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

1. Исследовать регистровый метод адресации (режим адресации 0)

1.1. Записать в произвольную ячейку памяти ЭВМ восьмеричный код команды "ИНКРЕМЕНТ" (команды прибавления к приемнику единицы). Восьмеричный код команды 00520Х (INC RX), где X - код универсального регистра приемника, содержимое которого должно увеличиваться на единицу.

1.2. Занести в следующую ячейку памяти команду "ОСТАНОВ" (HALT). Машинный код-0000008.

1.3. Запустить команду INC RX c адреса выбранной ячейки памяти директивой G.

1.4. Убедиться, что к содержимому выбранного регистра прибавилась единица.

1.5. Записать в произвольную ячейку памяти ЭВМ команду "ПЕРЕСЫЛКА"

(M0V RX,RY). Восьмеричный код команды - 010X0Y, где вместо X и Y записываются номера регистров источника (X) и приемника (Y), в которые предварительно надо записать произвольные восьмеричные числа.

1.6. Записать в следующую ячейку памяти команду HALT и запустить команду

MOV RX,RY с адреса выбранной ячейки памяти директивой G.

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

2. Исследовать автоинкрементный метод адресации (режим адресации 2)

2.1. Записать в произвольную ячейку памяти ЭВМ команду "ОЧИСТКА СЛОВА". Восьмеричный код команды 00502Х (CLR (RX)+), где X - код универсального регистра, в который предварительно нужно занести адрес операнда.

2.2. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду CLR (RX)+ с адреса выбранной ячейки памяти директивой G.

2.3. Проверить, как изменилось содержимое выбранного вами универсального регистра, и убедиться, что содержимое (адрес в регистре) увеличилось на два, а содержимое ячейки памяти по адресу, ранее занесенному в регистр, равно нулю (очистилось).

2.4. Записать в произвольную ячейку памяти ЭВМ команду "ОЧИСТКА БАЙТА".

Машинный восьмеричный код команды 10502Х (CLRB (RX)+). Содержимое младшего восьмеричного разряда - код универсального регистра, в который предварительно нужно занести адрес операнда.

2.5. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду CLRB (RX)+ с адреса выбранной ячейки памяти директивой G.

2.6. Просмотреть содержимое используемого в команде CLRB (RX)+ регистра и убедиться, что содержимое регистра (адрес операнда) увеличилось на единицу, а содержимое младшего байта по ранее занесенному адресу в регистр равно нулю (младший байт очищается).

2.7. Убедиться, что при использовании регистра номер шесть в качестве универсального его содержимое всегда наращивается на два (всегда четное).

2.8. Записать в произвольную ячейку памяти "СЛОЖЕНИЕ". Восьмеричный код команды - 062X0Y (АDD (RX)+,RY). Третий и первый восьмеричные разряды команды - соответственно номера универсальных регистров источника (X) и приемника (Y), в которые предварительно нужно занести адрес операнда источника и операнд приемника.

2.9. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду ADD (RX)+, RY с адреса выбранной ячейки памяти директивой G.

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

3. Исследовать автодекрементный метод адресации (режим адресации 4)

3.1. Занести в ячейку памяти ЭВМ команду "ОЧИСТКА СЛОВА". Восьмеричный код команды 00504Х (CLR -(RX)), где Х - код универсального регистра, в который предварительно нужно занести адрес операнда, увеличенный на два (адрес + 2).

3.2. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду CLR -(RX) с адреса выбранной ячейки памяти директивой G.

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

3.4. Записать в ячейку памяти команду "ИНКРЕМЕНТ". Восьмеричный код команды - 10524Х (INCB -(RX)), где X - номер универсального регистра, в который предварительно нужно занести адрес операнда, увеличенный на единицу (адрес + 1).

3.5. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду INCB -(RX) с адреса выбранной ячейки памяти директивой G.

3.6. Убедиться, что содержимое регистра уменьшилось на единицу и используется как адрес операнда, а к младшему байту по этому адресу прибавляется единица.

3.7. Записать в произвольную ячейку памяти команду "СЛОЖЕНИЕ". Восьмеричный код команды - 064Х0Y (ADD -(RX),RY), где Х - номер универсального регистра, в котором находится адрес операнда источника; Y - номер универсального регистра где находится операнд приемник.

3.8. Занести в следующую ячейку памяти команду "ОСТАНОВ" и запустить команду ADD -(RX),RY c адреса избранной ячейки памяти директивой G.

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

4. Исследовать индексный метод адресации (режим адресации 6)

4.1. Записать в ячейку памяти команду "ОЧИСТКА СЛОВА". Восьмеричный код команды 00506Х (CLR YRX), где X - номер универсального регистра, содержимое которого суммируется с индексным словом Y которое записывается в следующей ячейке памяти ЭВМ после кода команды, и является адресом операнда.

4.2. Занести в следующую ячейку памяти после ячейки, где хранится индексное слово, команду "ОСТАНОВ" и запустить команду CLR YRX с адреса выбранной ячейки памяти директивой G.

4.3. Убедиться, что операнд, адрес которого определяется сложением Y с содержимым RX, равен нулю (очищается).

4.4. Записать в память ЭВМ команду "ИНВЕРТИРОВАНИЕ БАЙТА". Восьмеричный код команды 10516Х (COMB YRX), где X - номер универсального регистра; Y - индексное слово.

4.5. Занести в следующую ячейку памяти после ячейки, где находится индексное слово Y, команду "ОСТАНОВ" и запустить команду COM YRX с адреса выбранной ячейки памяти директивой G.

4.6. Убедиться, что операнд, адрес которого определяется сложением Y с содержимым RX, инвертируется (заменяется обратным кодом).

4.7. Записать восьмеричный код команды "ПЕРЕСЫЛКА" (MOV ARX,BRY) - 016Х6Y в память ЭВМ, где X - номер регистра, содержимое которого, сложенное с А, дает адрес операнда источника; А - индексное слово источника; Y - номер регистра, содержимое которого, сложенное с В, дает адрес приемника; В - индексное слово приемника. Значение А и В записываются в следующих ячейках памяти соответственно после ячейки памяти, где записана команда.

4.8. Занести в следующую ячейку памяти после ячеек, где хранятся адреса А и В, команду "ОСТАНОВ" и запустить команду MOV ARX,BRY с адреса выбранной ячейки памяти для команды директивой G.

4.9. Убедиться, что операнд источник передан в приемник.

СОДЕРЖАНИЕ ОТЧЕТА

Для всех адресных операций записать содержимое ячеек памяти и регистров до и после выполнения команды по всем режимам прямой адресации.

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

Почему режимы адресации, исследованные в этой работе, называются режимами прямой адресации?

Почему содержимое регистра R6 после байтовой операции при автоинкрементном и автодекрементном режимах адресации всегда чётное?

Что такое операнд?

Что такое адрес операнда?

ЛАБОРАТОРНАЯ РАБОТА № 3

ИЗУЧЕНИЕ МЕТОДОВ КОСВЕННОЙ АДРЕСАЦИИ МИКРОПРОЦЕССОРА ВМ1801

ЦЕЛЬ РАБОТЫ: изучить режимы косвенной адресации микропроцессора ВМ1801

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

В отличие от методов прямой адресации режим косвенной адресации в регистрах общего назначения содержит адрес адреса операнда (рисунок).

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

1. Исследовать косвенно-регистровый метод адресации (режим адресации 1)

1.1. Записать в память ЭВМ восьмеричный код команды "ИНКРЕМЕНТ" (прибавление единицы). Восьмеричный код команды - 00521Х, где X - номер регистра общего назначения, в который предварительно нужно занести адрес операнда. Второй разряд команды - режим адресации (1).

1.2. Занести в следующую ячейку памяти после команды INC @RX команду HALT (000000).

1.3. Запустить команду INC @RX с адреса выбранной ячейки памяти директивой G.

1.4. Убедиться, что к содержимому ячейки памяти, адрес которой находится в регистре общего назначения Х, прибавилась единица.

2. Исследовать косвенно-автоинкрементный метод адресации (режим адресации 3)

2.1. Записать в память ЭВМ восьмеричный код команды "ОЧИСТКА". Восьмеричный код команды 00503Х, где X - номер регистра общего назначения, в который предварительно заносится адрес адреса операнда. Второй разряд команды - режим адресации (3).

2.2. Занести в следующую ячейку памяти после команды CLR @(RX)+ команду HALT (000000).

2.3. Запустить команду CLR (RX)+ с адреса выбранной ячейки памяти директивой G.

2.4. Убедиться, что содержимое регистра (в регистр заранее надо занести адрес адреса ячейки памяти, которая очищается) увеличилось на два, а ячейка памяти по адресу адреса, ранее занесенному в регистр, очистилась.

3. Исследовать косвенно-автодекрементный метод адресации (режим адресации 5)

3.1. Записать в память ЭВМ восьмеричный код команды "ДЕКРЕМЕНТ". Восьмеричный код команды 00535Х, где X - номер регистра общего назначения, в который предварительно заносится адрес адреса операнда увеличенный на два. Второй разряд - режим адресации (5).

3.2. Занести в следующую ячейку памяти после команды DEC @-(RX) команду HALT (000000).

3.3. Запустить команду DEC @-(RX) директивой G.

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

4. Исследовать косвенно-индексный метод адресации (режим адресации 7)

4.1. Записать в память ЭВМ восьмеричный код команды "ВЫЧИТАНИЕ" (SUB @Z (RX), RY). Восьмеричный код команды 167Х0Y, где Х - номер регистра источника, где находится число, которое в сумме с индексным словом Z , записанным в следующей ячейке памяти после команды, даёт адрес адреса вычитаемого; Y - номер регистра приемника, в котором находится уменьшаемое.

4.2. Записать в следующую ячейку памяти после команды SUB @Z (RX),RY команду HALT.

4.3. Запустить команду SUB @Z(RX),RY директивой G.

4.4. Убедиться, что содержимое ячейки памяти, адрес адреса которой определяется сложением числа Z с содержимым RX, отнимается от операнда приемника, хранящегося в RY. Результат записывается в RY.

СОДЕРЖАНИЕ ОТЧЕТА

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

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

Почему режимы адресации, исследованные в этой работе, называются режимами косвенной адресации?

Что такое индексное слово? Где оно располагается?

ЛАБОРАТОРНАЯ РАБОТА № 4

ИЗУЧЕНИЕ МЕТОДОВ АДРЕСАЦИИ С ИСПОЛЬЗОВАНИЕМ СЧЁТЧИКА

КОМАНД МИКРОПРОЦЕССОРА ВМ1801

ЦЕЛЬ РАБОТЫ: приобретение студентами навыков программирования с помощью непосредственного, абсолютного, относительного и косвенно-относительного методов адресации.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Седьмой регистр, называемый программным счетчиком команд (РС-Program Counter), содержит адрес очередной команды, подлежащей выборке. Когда центральный процессор использует счетчик команд при выборке слова из памяти, его содержимое автоматически увеличивается на два. Новое содержимое счетчика, является адресом следующей команды, которую необходимо выполнить. Счетчик команд может применяться во всех режимах адресации процессора, однако наиболее удобным являются следующие четыре режима: непосредственный, абсолютный, относительный и косвенно-относительный. Непосредственный режим адресации позволяет поместить операнд в ячейку памяти вслед за словом команды. Абсолютный режим адресации отличается тем, что адрес операнда является абсолютным адресом, т.е. остается постоянным независимо от места расположения программы в памяти. Адрес (адреса) располагается во втором и третьем словах команды.

Относительный режим адресации позволяет, когда программа располагается в различных местах памяти. Адрес операнда (операндов) фиксируется относительно счетчика команд и вычисляется как содержимое счетчика команд плюс индексное слово - смещение, которое следует за командным словом.

Косвенно-относительный режим адресации аналогичен относительной адресации, только сформированный адрес является указателем адреса операнда (операндов).

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

1. Исследовать непосредственный метод адресации (режим адресации 2)

1.1. Записать в память ЭВМ восьмеричный код команды “СЛОЖЕНИЕ”. Восьмеричный код команды 062727 (АDD #А, #В). Первый и третий разряды команды - номера регистра счетчика команд. Второй и четвертый разряды команд - режим адресации (2).

1.2. Занести в следующие после слова команды (АDD #А, #В) две ячейки памяти операнды источника и приемника соответственно.

1.3. Занести в следующую ячейку памяти после операнда приемника команду HALT (000000).

1.4. Запустить команду АDD # А, # В с адреса выбранной ячейки памяти директивой G.

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

2. Исследовать абсолютный метод адресации (режим адресации 3)

2.1. Записать в память ЭВМ восьмеричный код команды "ПЕРЕСЫЛКА" (MOV @#А, @#В). Восьмеричный код команды 013737, где первый и третий, второй и четвертый восьмеричные разряды команды - номер регистра счетчика команд и режим адресации соответственно.

2.2. Занести в следующие после слова команды ячейки памяти адреса источника и приемника соответственно (занести по этим адресам произвольные цифровые значения).

2.3. Занести в следующую ячейку памяти адреса операнда приемника команду HALT (000000).

2.4. Запустить команду MOV @#А, @#В с адреса выбранной ячейки памяти директивой G.

2.5. Убедиться, что операнд источника был перенесен по адресу операнда приемника.

3. Исследовать относительный метод адресации (режим адресации 6)

3.1. Записать в память ЭВМ восьмеричный код команды "ВЫЧИТАНИЕ" (SUB А,В). Восьмеричный код команды 166767, где два старших разряда - код операции, четвертый - второй и третий - первый - режим адресации и номер регистра счетчика команд соответственно.

3.2. Занести в следующие ячейки памяти (после слова команды) два индексных слова, определяющих в сумме с содержимым счетчика команд адреса операнда источника и приёмника соответственно (предварительно следует занести по этим адресам произвольные числовые значения операндов).

3.3. В ячейке памяти после индексных слов записать команду HALT.

3.4. Запустить команду SUB А,В с адреса выбранной ячейки памяти директивой G.

3.5. Убедиться, что от операнда приемника вычитается операнд источника и результат помещается в приемник.

4. Исследовать косвенно-относительный метод адресации (режим адресации 7)

4.1. Записать в память ЭВМ восьмеричный код команды "ОЧИСТКА" (CLR @А). Восьмеричный код команды 005077, где четыре старших разряда - код операции, второй и первый разряды - режим адресации и номер регистра счетчика команд соответственно.

4.2. Занести в следующую ячейку памяти (после слова команды) индексное слово, определяющее в сумме с содержимым счетчика команд адрес адреса операнда (предварительно следует занести в память числовое значение операнда).

4.3. В ячейке памяти после индексного слова записать команду HALT.

4.4. Запустить команду CLR @А с адреса выбранной ячейки памяти.

4.5. Убедиться, что операнд, адрес которого определяется прибавлением содержимого счетчика команд к индексному слову, равен нулю (очищается).

СОДЕРЖАНИЕ ОТЧЕТА

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

Для произвольно выбранных двухадресных и одноадресных команд записать мнемоническое отображение для всех типов адресации через счетчик команд.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Что содержит счётчик команд?

В чём заключается преимущество режимов адресации через счётчик команд?

ЛАБОРАТОРНАЯ РАБОТА № 5

ИЗУЧЕНИЕ СЛОВА СОСТОЯНИЯ ПРОЦЕССОРА И КОМАНД ВЕТВЛЕНИЯ МИКРОПРОЦЕССОРА ВМ1801

ЦЕЛЬ: Изучить слово состояния процессора (ССП), назначение флагов в ССП и их связь с результатами выполняемых команд. Исследовать команды ветвления, установить взаимосвязь этих команд с состоянием флагов в ССП.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

ССП содержится в регистре состояния процессора (РСП), формат которого представлен на рис. 2.

*

*

*

T

N

Z

V

C

Рис. 2. Регистр состояния процессора

Разряды 0-3 (C, V, Z, N) определяют коды условий ветвления и содержат информацию о результате последней выполненной процессором команды. Кроме того, установка или очистка этих разрядов может быть непосредственно произведена соответствующими командами в программном или пультовом режиме командами терминала. Установка разрядов по результатам операции в состояние "1" выполняется в следующих случаях: Z – результат операции равен 0; V – в результате операции произошло арифметическое переполнение; C – в результате операции произошёл перенос из самого старшего разряда либо при сдвиге вправо или влево из самого старшего или младшего разряда была выдвинута "1"; N – результат операции отрицателен. Состояние разряда 4 (Т) устанавливается при выборке из стека нового содержимого РСП и затем используется в различных отладочных программах для такого режима выполнения отлаживаемой программы, когда выполнение интересующих пользователя команд вызывает прерывание этой программы и переход на программу связи с оператором. Разряды 5, 6, 7 определяют приоритет процессора, более подробно изучаются в лабораторной работе № 7.

Системное программное обеспечение "Электроники 60М" не даёт возможности пользователю непосредственно обращаться к РСП как к регистру общего назначения или к ячейке памяти. Для записи/чтения РСП существуют специальные одноадресные команды MTPS и MFPS. По команде MTPS восемь разрядов указанного операнда замещают содержимое ССП (кроме разряда Т). По команде MFPS восемь разрядов ССП пересылаются по указанному адресу.

Команды ветвления вызывают ветвление по адресу, являющемуся суммой смещения (умноженного на 2) и текущего содержимого счётчика команд (СК), если условие ветвления выполняется.

Смещение показывает, на сколько ячеек нужно перейти относительно текущего содержимого СК в ту или другую сторону. Так как слова имеют чётные адреса, то для получения истинного исполнительного адреса смещения необходимо умножить его на два перед прибавлением к СК, который всегда указывает на слово. Старший разряд смещения (7) является знаковым разрядом. Если он установлен, смещение отрицательное, ветвление происходит в сторону уменьшения адреса (в обратном направлении). Если в разряде 7 содержится 0, смещение положительное и ветвление происходит в сторону увеличения адресов (в прямом направлении).

Алгоритм работы всех команд условного ветвления (приложение 1) следующий: (СК)(СК)+2ХХХ, при выполнении условия, (СК)  (СК)+2, если условие не выполняется.

Восьмиразрядное смещение позволяет производить ветвление в обратном направлении максимально на 200 слов от слова, на которое указывает текущее содержимое СК, и на 177 слов в прямом направлении.

Преодолеть это ограничение позволяет команда JMP – безусловный переход. Она обеспечивает возможность перехода на любую ячейку памяти с использованием всех режимов адресации, за исключением регистрового. При этом адрес перехода равен адресу операнда.

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

  1. Исследовать реакцию флагов ССП на результаты операций выполняемых микропроцессором ВМ1801.

1.1. Перевести в машинный код и занести в ОЗУ следующую программу:

TST R0

MFPS R1

HALT

1.2. В регистр R0 занести любое положительное ненулевое число.

1.3. Запустить программу директивой G.

1.4. Открыть R1 и выписать значение флагов ССП.

1.5. Повторить п.п. 1.3, 1.4 для отрицательного и нулевого операндов.

  1. Исследовать команду безусловного ветвления BR.

2.1. Получить от преподавателя адрес ячейки, содержащей команду BR, и адрес ячейки, на который осуществляется переход.

2.2. Рассчитать величину смещения и занести в заданную ячейку код команды BR.

2.3. Занести в ячейку памяти, на которую осуществляется переход, код команды HALT.

2.4. Запустить команду BR директивой G.

2.5. Открыть R7 и убедиться, что он содержит адрес ячейки памяти, на которую должен быть осуществлён переход, увеличенный на 2.

  1. Исследовать команды условного ветвления.

3.1. Получить от преподавателя адрес ячейки, содержащей команду BEQ – переход, если равно нулю, и адрес ячейки, на который осуществляется переход.

3.2. Рассчитать величину смещения и занести в заданную ячейку код команды BEQ (приложение 1).

3.3. Перевести в машинный код и записать в память следующую программу:

DEC R0

MTPS R1

BEQ М

HALT.

При этом команда BEQ М должна находиться по адресу, заданному преподавателем.

3.4. Занести в R0 число 1.

3.5. Занести в ячейку памяти, на которую осуществляется переход, код команды HALT.

3.6. Запустить программу директивой G.

3.7. Открыть регистры R1, R7 и выписать их содержимое.

3.8. Занести в R0 любое число >1.

3.9. Повторить п.п. 3.6, 3.7.

3.10. Занести в R0 число 0.

3.11. Повторить п.п. 3.6, 3.7.

3.12. Повторить п.п. 3.2-3.11 для команд BNE, BMI, BPL (приложение 1).

4. Исследовать команду JMP.

4.1. Получить от преподавателя адрес ячейки, содержащей команду JMP – безусловный переход, и адрес ячейки, на которую осуществляется переход.

4.2. Занести в заданную ячейку код команды JMP (приложение 1) с произвольным режимом адресации (кроме регистрового).

4.3. Занести в ячейку памяти, на которую осуществляется переход, код команды HALT.

4.4. Запустить команду JMP директивой G.

4.5. Открыть R7 и убедиться, что он содержит адрес ячейки памяти, на которую должен быть осуществлён переход, увеличенный на 2 (для всех режимов адресации, кроме непосредственного).

4.6. Повторить п.п. 4.2 – 4.5 для оставшихся режимов адресации.

СОДЕРЖАНИЕ ОТЧЕТА

Для всех выполненных пунктов привести: запись используемых команд на языке Ассемблера и в машинном коде; содержимое используемых регистров до и после выполнения исследуемых команд; содержимое РСП (для п.п. 1, 3); выводы.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Перечислить все флаги, которые находятся в ССП.

Как можно получить доступ к ССП?

Работа каких команд зависит от состояния флагов в ССП?

По какой формуле рассчитывается адрес перехода?

Какой максимальный радиус действия команд перехода?

ЛАБОРАТОРНАЯ РАБОТА № 6

ПРОГРАММИРОВАНИЕ ВВОДА-ВЫВОДА ИНФОРМАЦИИ ПО ОПРОСУ ГОТОВНОСТИ В МИКРОЭВМ “ЭЛЕКТРОНИКА 60М”

ЦЕЛЬ: Изучить принципы программирования процедур ввода-вывода по опросу флагов в регистрах состояния внешних устройств микроЭВМ “Электроника 60М”

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Каждое медленное внешнее устройство микроЭВМ “Электроника 60М” имеет два регистра - регистр состояния (РС) и регистр данных (РД). Типовая структура РС приводится на рис.3.

15

7

6

0

Рис.3. Структура РС

Разряд 06 - “Разрешение прерывания” - состояние разряда устанавливается ЦП для управления работой в режиме прерывания по готовности. Доступен ЦП по записи и чтению.

Разряд 07 - “Сделано”, если ВУ является передатчиком информации в ЭВМ, - устанавливается схемой в состояние “1”, если прием информации закончен и РД заполнен, обнуление разряда производится после считывания РД или сигналом канала магистрали Сброс; “Готов”, если ВУ является приёмником информации из ЭВМ, - устанавливается в состояние “1”, если РД свободен от информации, сбрасывается в нуль после загрузки РД и вновь устанавливается сразу после начала передачи. Доступен ЦП только по считыванию. Содержимое разряда устанавливается сигналом Сброс.

Разряд 15 - ”Ошибка” - устанавливается в состояние “1”, если ВУ не исправно.

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

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

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

1.1. Занести текст программы (табл. 2) в машинных кодах в оперативную память ЭВМ, начиная с ячейки с адресом 10008.

1.2. Запустить программу директивой 1000G.

1.3. Нажать любую из клавиш, при этом ЦП прекращает выполнение программы.

1.4. Открыть регистр и убедиться, что он содержит код нажатой клавиши (прил.2).

1.5. Повторить пп. 1.2.-1.4. используя при этом другие клавиши.

Таблица 2

Язык Ассемблера

Адрес

Машинный код

M: TSTB @#177560

BPL M

MOV @#177562,R0

HALT

1000

1004

1006

1012

105737 177560

100375

013700 177562

000000

2. Запрограммировать вывод символьной информации на экран из регистра общего назначения

2.1. Занести текст программы (табл. 3) в машинных кодах в оперативную память ЭВМ, начиная с ячейки с адресом 20008.

2.2. Занести в регистр R0 какой-либо ASCII-код согласно прил.2.

2.3. Запустить программу директивой 2000G.

2.4. Убедиться, что на экран выводится именно тот символ, чей ASCII-код был предварительно занесён в R0.

2.5. Повторить пп. 1.2.-1.4. используя при этом другие ASCII-коды.

Таблица 3

Язык Ассемблера

Адрес

Машинный код

M: TSTB @#177564

BPL M

MOV R0,@#177566

HALT

2000

2004

2006

2012

105737 177564

100375

010037 177566

000000

3. Исследовать “эхо”-режим

3.1. Занести текст программы (табл. 4) в машинных кодах в оперативную память ЭВМ, начиная с ячейки с адресом 30008.

3.2. Запустить программу директивой 3000G.

Периодически нажимая клавиши на клавиатуре, убедиться, что символы нажимаемых клавиш выводятся на экран.

Таблица 4

Язык Ассемблера

Адрес

Машинный код

M: TSTB @#177560

BPL M

M1: TSTB @#177564

BPL M1

MOV@#177562,@#177566

BR M

3000

3004

3006

3012

3014

3022

105737 177560

100375

105737 177564

100375

013737 177562 177566

000766

СОДЕРЖАНИЕ ОТЧЕТА

1. Начертить блок-схемы алгоритмов программ, использованных при выполнении лабораторной работы.

2. Привести в отчете тексты программ, исследованных при выполнении лабораторной работы на языке Ассемблера.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Какой формат имеют регистры состояния внешних устройств?

Объяснить принцип работы программ исследованных в лабораторной работе.

Что такое "эхо"-режим?

ЛАБОРАТОРНАЯ РАБОТА № 7

ИЗУЧЕНИЕ СИСТЕМЫ ПРЕРЫВАНИЙ МИКРОЭВМ “ЭЛЕКТРОНИКА 60М”

ЦЕЛЬ: изучить организацию ввода/вывода информации по прерываниям

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Прерывание программы - это временное прекращение текущей программы и переход к выполнению программы обслуживания устройства, требующего прерывания. Каждое внешнее устройство, способное вызвать прерывание, должно иметь регистр состояния, содержащий разряд разрешения прерывания. Этот разряд должен быть программно установлен в состояние <1>, если устройству разрешается прерывание программы. Кроме того, центральный процессор (ЦП) будет предоставлять прерывание и, следовательно, выполнять программу обслуживания устройства только в том случае, если уровень приоритета ЦП ниже, чем уровень приоритета внешнего устройства, требующего прерывания.

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

Для выполнения процесса внешнего прерывания, порожденного одним или несколькими устройствами ввода/вывода, должны быть предприняты следующие шаги.

1. Устройство ввода/вывода выставляет сигнал требования прерывания к ЦП.

2. Происходит проверка приоритетного ранга прерывания.

3. Если устройство имеет более высокий уровень приоритета, чем ЦП, то ЦП формирует сигнал “предоставление прерывания”.

4. ЦП выполняет до конца текущую команду, проталкивает в стек содержимое регистра состояния процессора и счетчика команд.

5. Внешнее устройство выставляет на магистраль код вектора прерывания.

6. ЦП переходит к выполнению программы обслуживания устройства.

7. ЦП возвращается к главной программе, выталкивая назад из стека старое содержимое регистра состояния процессора и счетчика команд.

Адреса векторов прерывания некоторых устройств приведены в табл. 5.

Таблица 5. Вектора прерывания и приоритеты внешних устройств

Внешнее устройство

Адрес вектора

Приоритет

Клавиатура

Экран

Фотосчитыватель

Перфоратор

Сетевой таймер

Печать

60

64

70

74

100

200

4

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

1. Исследовать приоритеты внешних устройств.

1.1. Занести текст программы (табл. 6) в машинных кодах в оперативную память ЭВМ, начиная с ячейки с адресом 10008. Занести в указатель стека (R6) адрес начала стека 10008.

1.2. Занести в R0 приоритет процессора равной 3. (Приоритет занимает разряды 5, 6 и 7).

1.3. Запустить программу директивой 1000G.

1.4. Инициировать прерывание клавиатуры. Для этого нажать любую из клавиш.

1.5. Убедиться, что внешнее устройство прервало работу процессора (на экране появится символ А).

1.6. Инициировать прерывание таймера. Для этого нажать кнопку “ТАЙМЕР” на передней панели ЭВМ. Рядом с кнопкой должна загореться лампочка.

Таблица 6

Язык Ассемблера

Адрес

Машинный код

MOV #M, @#60

MOV R0, @#62

MOV #M, @#100

MOV R0, @#102

MOV#100, @#177560

MTPS R0

M1: BR M1

M: TSTB @#177564

BPL M

MOV#101, @#177566

RTI

1000

1006

1012

1020

1024

1032

1034

1036

1042

1044

1052

012737 001036 000060

010037 000062

012737 001036 000100

010037 000102

012737 000100 177560

106400

000777

105737 177564

100375

012737 000101 177566

000002

1.7. Убедиться, что внешнее устройство периодически прерывает работу процессора. (На экран выводятся символы А).

1.8. Остановить работу программы. Для этого выключить таймер нажатием соответствующей кнопки. (Лампочка рядом с кнопкой должна погаснуть). Затем нажать кнопку “ПУЛЬТ” на передней панели ЭВМ. (Загорается лампочка рядом с этой кнопкой).

1.9. Занести в R0 приоритет процессора равный 4.

1.10. Погасить световой сигнал “ПУЛЬТ” нажатием соответствующей клавиши.

1.11. Повторить пункты 1.3- 1.8. Убедиться, что внешние устройства не могут прервать работу ЦП.

2. Исследовать программу вывода информации на экран по прерыванию.

2.1. Занести текст программы (Табл.7) в машинных кодах в оперативную память ЭВМ, начиная с адреса 20008.

Таблица 7

Язык Ассемблера

Адрес

Машинный код

MOV #M, @#64

MOV #200, @#66

MOV #TEXT, R0

MOV #100, @#177564

M1: BR M1

M: MOV (R0)+, @#177566

TST (R0)

BEQ STOP

RTI

STOP: CLR @#177564

HALT

TEXT:.WORD 101,102,103,

104,105, 0

2000

2006

2014

2020

2026

2030

2034

2036

2040

2042

2046

2050

012737 002030 000064

012737 000200 000066

012700 002050

012737 000100 177564

000777

012037 177566

005710

001401

000002

005037 177564

000000

000101 000102 000103

000104 000105 000000

2.2. Запустить программу директивой 2000G.

2.3. Убедиться в правильности работы программы (на экране появятся буквы АВСDЕ).

3. Исследовать программирование ввода-вывода по прерыванию с использованием команды WAIT.

3.1. Занести текст программы (Табл.8) в машинных кодах в память ЭВМ, начиная с адреса 30008.

3.2. Запустить программу директивой 3000G.

3.3. Инициировать прерывание внешнего устройства, нажатием кнопки “ТАЙМЕР”.

Таблица 8

Язык Ассемблера

Адрес

Машинный код

MOV #M, @#100

MOV #200, @#102

M1: WAIT

BR M1

M: MOV #101, @#177566

RTI

3000

3006

3014

3016

3020

3026

012737 003020 000100

012737 000200 000102

000001

000776

012737 000101 177566

000002

3.4. Убедиться, что процессор периодически переходит к подпрограмме обработки прерывания (на экран выводится символ А).

3.5. Выключить таймер, при этом процессор переходит в состояние ожидания и вывод информации на экран прекращается.

3.6. Остановить работу программы нажатием кнопки “ПУЛЬТ”.

3.7. Убедиться, что до остановки процессор находится в режиме ожидания. Для этого открыть счетчик команд (R7). Счетчик команд должен содержать адрес следующей после WAIT команды.

3.8. Повторить пункты 3.2 - 3.7.

4. Исследовать программу обслуживания процессором двух внешних устройств одновременно.

4.1. Занести текст программы (табл. 9) в память ЭВМ, начиная с адреса 40008.

4.2. Запустить программу директивой 4000G. Начинается непрерывный вывод на экран символа .

Таблица 9

Язык Ассемблера

Адрес

Машинный код

MOV #M, @#60

MOV #140, @#62

MOV #M1, @#64

MOV #140, @#66

MOV #100, @#177560 MOV #100, @#177564

M2: BR M2

M: TSTB @#177564

BPL M

MOVB @#177562, @#177566

RTI

M1: MOVB #177, @#177566

RTI

4000

4006

4014

4022

4030

4036

4044

4046

4052

4054

4062

4064

4072

012737 004046 000060

012737 000140 000062

012737 004064 000064

012737 000140 000066

012737 000100 177560

012737 000100 177564

000777

105737 177564

100375

113737 177562 177566

000002

112737 000177 177566

000002

4.3. Прервать несколько раз работу ЦП, нажимая на различные клавиши клавиатуры. Убедиться, что символы нажимаемых клавиш выводятся на экран.

СОДЕРЖАНИЕ ОТЧЕТА

1. Начертить блок-схемы алгоритмов программ, использованных при выполнении лабораторной работы.

2. Привести в отчете тексты программ, исследованных при выполнении лабораторной работы на языке Ассемблера.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Что такое вектор прерывания?

Что такое уровень приоритета? Как он задаётся?

Объяснить принцип работы программ исследованных в лабораторной работе.

ЛИТЕРАТУРА

1. Основы программирования на языке Ассемблер для СМ ЭВМ./Г.В. Вигдорчик и др.-М.:Финансы и статистика, 1983, -256 с.

2. Захаров И.В. Техническое обслуживание и эксплуатация микроЭВМ “Электроника-60М”.- М.: Машиностроение, 1989.-192 с.

3. Лин Вэн. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. /Пер. с англ.- М.: Радио и связь, 1989.- 315 с.

4. Программирование на МАКРО-11 и организация РDР-11/ Сичановский Д.Ж.У. Перевод с англ. - М.: Радио и связь, 1985. - 136 с.

  1. Центральный процессор М2. Эксплуатационные документы 3.858.382 ТО. Техническое описание и инструкция по эксплуатации. - М.: 1982. - 356 с.

ПРИЛОЖЕНИЕ 1

Система команд и режимы адресации микроэвм “электроника - 60м”

Таблица П1.

Методы адресации

Код адресации

Наименование

Символическая запись

Содержимое регистра

0R

Регистровый

R

В регистре содержится операнд

1R

Косвенно-регистровый

(R)

В регистре содержится адрес операнда

2R

Автоинкрементный

(R)+

В регистре содержится адрес операнда. После операции содержимое регистра увеличивается на 1 при работе с байтами и на 2 при работе со словами.

3R

Косвенно-автоинкрементный

@ (R) +

В регистре содержится адрес адреса операнда. После операции содержимое регистра увеличивается на 2

4R

Автодекрементный

- (R)

Содержимое регистра уменьшается на 1 или 2 (байт, слово) и является адресом операнда.

5R

Косвенно-автодекрементный

@ - (R)

Содержимое регистра уменьшается на 2 и является адресом операнда.

6R

Индексный

А (R)

Содержимое регистра +А является адресом операнда.

7R

Косвенно-индексный

@А(R)

Содержимое регистра +А является адресом адреса операнда.

27

Непосредственный

#A

Операнд находится в следующем слове после команды.

37

Абсолютный

@#A

Адрес операнда А находится в следующем слове команды.

67

Относительный

А

Адрес операнда есть величина А, которая следует за командой, плюс содержимое счетчика команд.

77

Косвенно-относительный

Адрес адреса операнда есть величина А, которая следует за командой, плюс содержимое счетчика команд.

Таблица П2.

Одноадресные команды

Наименование

Мнемоника

Код

команды

Результат выполнения команды

Код условий

Очистка

CLR (B)

= 050 DD

(dst) 0

0100

Инвертирование

СОМ (В)

= 051 DD

(dst) (dst)

++01

Прибавление единицы

INC (B)

= 052 DD

(dst) (dst) +1

+++

Вычитание единицы

DEC (B)

= 053 DD

(dst) (dst) 1

+++

Изменение знака

NEG (B)

= 054 DD

(dst) (dst)+1

++++

Прибавление переноса

ADC (B)

= 055 DD

(dst)(dst)+(С)

++++

Вычитание переноса

SBC (B)

= 056 DD

(dst)(dst) (С)

++++

Проверка

TST (B)

= 057 DD

(dst)  (dst)

++00

Циклический сдвиг вправо

ROR (B)

= 060 DD

С1 (dst)

++++

Циклический сдвиг влево

ROL (B)

= 061 DD

C1 (dst)

++++

Арифметический сдвиг вправо

ASR (B)

= 062 DD

(dst) (dst)/2

++++

Арифметический сдвиг влево

ASL (B)

= 063 DD

(dst) (dst) 2

++++

Продолжение таблицы П2

Чтение слова состояния процессора

MFPS

1067 DD

(dst) ССП

++0

Запись слова состояния процессора

MTPS

1064 DD

ССП(src)

++++

Таблица П3.

Двухадресные команды и команды расширенной арифметики

Наименование

Мнемоника

Код

команды

Результат выполнения команды

Код

условий

Пересылка

MOV(B)

= 1SSDD

ССП(src)

++0

Сравнение

СМР(В)

= 2SSDD

(src)  (dst)

++++

Проверка разрядов

BIT (B)

= 3SSDD

src  (dst)

++0

Очистка разрядов

BIC (B)

=4SSDD

(dst)  (src)  (dst)

++0

Логическое сложение

BIS (B)

=5SSDD

(dst)  (src)  (dst)

++0

Сложение

ADD

06SSDD

(dst) = (src) + (dst)

++++

Вычитание

SUB

16SSDD

(dst)  (src) (dst)

++++

Исключающее ИЛИ

XOR

074RDD

(dst) P (dst)

++0

Умножение

MUL

070RSS

RR (src)

++0

Деление

DIV

071RSS

RR/c (src)

++++

Арифметический сдвиг

ASH

072RSS

СДВИГ

++++

Арифметический сдвиг двойного слова

ASHC

073RSS

СДВИГ

++++

Сложение с плавающей запятой

FADD

07500R

AA + B

++00

Вычитание с плавающей запятой

FSUB

07501R

AA  B

++00

Умножение с плавающей запятой

FMUL

07502R

AA  B

++00

Деление с плавающей запятой

FDIV

07503R

AA / B

++00

Таблица П4.