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

Вид материалаМетодические указания

Содержание


Библиографический список
Подобный материал:
1   2   3   4   5

Директивы OUT_B и OUT_W позволяют записывать соответственно байт или слово в регистр ВУ с указанным адресом. Адрес запрашивается сообщением 11, после чего сообщением 15 запрашиваются выводимые данные. После набора данных для их вывода по заданному адресу следует нажать клавишу ENTER, причем сообщение с указанными данными после вывода остается на дисплее, что позволяет при необходимости корректировать их и повторять вывод.

3.4.6. Директивы калькулятора

Для облегчения работы пользователя с адресами и данными в состав МОНИТОРа включен шестнадцатиричный калькулятор и четырехуровневый кольцевой стек. Введено понятие ячейки X, содержимое которой отображается на четырех правых индикаторах.

Все двухместные операции выполняются с содержимым верхушки стека (первый операнд) и регистра X (второй операнд). Результат операции помещается в регистр X.

Для управления стеком используются следующие клавиши (директивы МОНИТОРа):

¦ - ввод числа в стек. Содержимое X копируется в верхуш ку стека, стек сдвигается вниз, причем нижнее число

теряется;

<-> - обмен содержимым верхушки стека и регистра X;

- прямой кольцевой обмен. Содержимое X попадает в ниж нюю ячейку стека, весь стек сдвигается вверх, а вер хушка стека переносится в X;

- обратный кольцевой обмен. Содержимое X помещается в

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

Калькулятор позволяет выполнить 7 двухместных арифметических и логических операций: сложение, вычитание, умножение, деление, дизъюнкцию, конъюнкцию и "сумму по модулю два". Все арифметические операции выполняются по модулю 216 (переполнение игнорируется).

Кроме того, калькулятор выполняет три одноместные операции над содержимым регистра X:

SWAP - обмен байтов в регистре X;

RD - чтение выбранного регистра процессора в регистр X;

WR - запись содержимого регистра X в область хранения

выбранного регистра процессора.

Из-за ограниченности ресурсов клавиатуры клавиши некоторых операций калькулятора (они раскрашены на клавиатуре синим цветом) совмещены с цифровыми клавишами и клавишами других операций. Для активизации этих директив следует предварительно перевести клавиатуру в режим альтернативной операции нажатием клавиши OP. Повторное нажатие на эту же клавишу вызовет отмену режима альтернативной клавиатуры (COP).

Вычисленный с помощью калькулятора результат может быть введен как числовой параметр нажатием клавиши ENTER или игнорирован нажатием клавиш DEL или STOP/DIR.

3.4.7. Прочие директивы

В МОНИТОРе предусмотрена директива неразрушающего тестирования области ОЗУ - RAM_TEST (клавиша TEST). Диалог этой директивы аналогичен диалогу директивы BLK_SCAN (см. разд. 1.4.4). Если ошибки при тестировании блока памяти не обнаружено, выдается сообщение 2, иначе - сообщение 8 с адресом первой найденной дефектной ячейки ОЗУ.

Кроме того, в состав директив МОНИТОРа включены три директивы для работы с магнитофоном в качестве ВЗУ. В настоящих методических указаниях эти директивы не рассматриваются.

3.5. Порядок выполнения работы

3.5.1. Соединить лабораторный стенд с блоком питания гибким кабелем, обращая особое внимание на правильность соединения разъемов. Подключить блок питания к сети и включить клавишу "Сеть". Если после непродолжительного звучания мелодии на индикаторах появится "-rEA Dy- ",то стенд готов к работе.

3.5.2. Установить переключатели на плате модуля в следующие положения:

- четыре верхних переключателя - в нижнее положение;

- вторую сверху и нижнюю пары переключателей - в верхнее

положение;

- третью сверху пару переключателей - в нижнее положение.

3.5.3. Выполнить на лабораторной установке следующие задания

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

Задание 2. С помощью директив блоковых операций (см.п. 3.4.4) выполнить пересылку содержимого некоторой области ПЗУ в область ОЗУ, провести сравнение этих областей, осуществить поиск байта в одной из областей.

Задание 3. Выполнить действия задания 2 с помощью программы, составленной с использованием команд обработки строк. Для этого, пользуясь Приложением 3 к настоящим методическим указаниям, составить программу в машинных кодах, реализующую действия, определенные в задании 2, занести программу в ОЗУ и выполнить ее в пошаговом режиме. Зафиксировать результат работы программы.

3.6. Содержание отчета

Отчет должен содержать :

- структурную схему лабораторной установки;

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

- начальные адреса ( <сегмент>:<смещение> ) и размеры блоков

памяти, участвующие в блоковых операциях при выполнении

задания 2, а так же значение байта поиска и сообщение на

дисплее по завершении поиска;

- текст и результаты работы программы задания 3.

3.7. Вопросы для самопроверки

1. Какие магистрали существуют в составе модуля УМПК-86? В чем состоит различие между магистралями и для чего предназначены они в модуле?

2. В каких режимах может работать модуль и какая информация индицируется в этих режимах?

3. Как организовано адресное пространство модуля? В каких адресах располагаются физические области ПЗУ и ОЗУ? Ка кие ячейки ОЗУ использует МОНИТОР? Где размещается сег мент стека после начальной установки системы?

4. Каковы основные функции программы МОНИТОР?

5. Как можно просмотреть и модифицировать содержимое ре гистров процессора? В каких случаях регистры общего наз начения доступны только по частям (RL и RH)?

6. Как осуществлять просмотр и модификацию ячеек памяти?

7. Как работает калькулятор МОНИТОРа?

8. Какие действия средствами МОНИТОРа можно выполнить над массивами данных?

9. Как запускается программа пользователя в автоматическом, пошаговом и цикловом режимах?

10. Что такое "префикс повторения" и какие разновидности его используются в командах обработки строк?

ПРИЛОЖЕНИЕ 1

Клавиатура микроЭВМ УМПК-86 +--------------------------------------------------------------+ ¦ Позиц.¦ Название ¦ Функциональное назначение ¦ +-------+-----------+------------------------------------------¦ +-------+-----------+------------------------------------------¦ ¦ SA5 ¦ RESET ¦ Начальная установка микроЭВМ ¦ +-------+-----------+------------------------------------------¦ ¦ SA6 ¦ STEP ¦ Выполнение программы по шагам команды ¦ +-------+-----------+------------------------------------------¦ ¦ SA7 ¦ RUN ¦ Пуск программы ¦ +-------+-----------+------------------------------------------¦ ¦ SA8 ¦ STOP ¦ Стоп ¦ ¦ ¦ DIR ¦ Переход к вводу директивы ¦ +-------+-----------+------------------------------------------¦ ¦ SA9 ¦ CYCLE ¦ Выполнение программы по машинным циклам ¦ +-------+-----------+------------------------------------------¦ ¦ SA10 ¦ <-> ¦ Обмен содержимым верхушки стека и рег. X ¦ ¦ ¦ ¦ Прямой кольцевой обмен стека ¦ +-------+-----------+------------------------------------------¦ ¦ SA11 ¦ + ¦ Сложение ¦ ¦ ¦ * ¦ Умножение ¦ +-------+-----------+------------------------------------------¦ ¦ SA12 ¦ DEL ¦ Удаление символа ¦ ¦ ¦ -1 ¦ Уменьшение адреса ¦ +-------+-----------+------------------------------------------¦ ¦ SA13 ¦ OP ¦ Установка режима альтернативной клавиатуры ¦ ¦ COP ¦ Сброс режима альтернативной клавиатуры ¦ +-------+-----------+------------------------------------------¦ ¦ SA14 ¦ ¦ Ввод в стек ¦ ¦ ¦ ¦ Обратный кольцевой обмен стека ¦ +-------+-----------+------------------------------------------¦ ¦ SA15 ¦ - ¦ Вычитание ¦ ¦ ¦ / ¦ Деление ¦ +-------+-----------+------------------------------------------¦ ¦ SA16 ¦ ENTER ¦ Ввод с увеличением адреса ¦ ¦ ¦ +1 ¦ Увеличение адреса ¦ +--------------------------------------------------------------+ +--------------------------------------------------------------+ ¦ Позиц.¦ Название ¦ Функциональное назначение ¦ +-------+-----------+------------------------------------------¦ +-------+-----------+------------------------------------------¦ ¦ SA17 ¦ C ¦ Цифра Ch ¦ ¦ ¦ IP ¦ Вызов регистра IP ¦ ¦ ¦ TEST ¦ Проверка области ОЗУ ¦ +-------+-----------+------------------------------------------¦ ¦ SA18 ¦ 8 ¦ Цифра 8h ¦ ¦ ¦ CS ¦ Вызов регистра CS ¦ ¦ ¦ MOV ¦ Блоковая процедура пересылки ¦ +-------+-----------+------------------------------------------¦ ¦ SA19 ¦ 4 ¦ Цифра 4h ¦ ¦ ¦ BP ¦ Вызов регистра BP ¦ ¦ ¦ I.B ¦ Ввод байта с ВУ ¦ +-------+-----------+------------------------------------------¦ ¦ SA20 ¦ 0 ¦ Цифра 0h ¦ ¦ ¦ AX ¦ Вызов регистра AX/AL ¦ ¦ ¦ ADR ¦ Ввод адреса ¦ ¦ ¦ AND ¦ Конъюнкция ¦ +-------+-----------+------------------------------------------¦ ¦ SA21 ¦ D ¦ Цифра Dh ¦ ¦ ¦ FL ¦ Вызов регистра флагов ¦ ¦ ¦ SAVE ¦ Запись массива на магнитофон ¦ +-------+-----------+------------------------------------------¦ ¦ SA22 ¦ 9 ¦ Цифра 9h ¦ ¦ ¦ DS ¦ Вызов регистра DS ¦ ¦ ¦ CMP ¦ Блоковая процедура сравнения ¦ +-------+-----------+------------------------------------------¦ ¦ SA23 ¦ 5 ¦ Цифра 5h ¦ ¦ ¦ SP ¦ Вызов регистра SP ¦ ¦ ¦ O.B ¦ Вывод байта на ВУ ¦ +-------+-----------+------------------------------------------¦ ¦ SA24 ¦ 1 ¦ Цифра 1h ¦ ¦ ¦ BX ¦ Вызов регистра BX/BL ¦ ¦ ¦ REG ¦ Ввод имени регистра ¦ ¦ ¦ OR ¦ Дизъюнкция ¦ +--------------------------------------------------------------+ +--------------------------------------------------------------+ ¦ Позиц.¦ Название ¦ Функциональное назначение ¦ +-------+-----------+------------------------------------------¦ ¦ SA25 ¦ E ¦ Цифра Eh ¦ ¦ ¦ LOAD ¦ Чтение массива с магнитофона ¦ ¦ ¦ R ¦ Чтение регистра (ячейки) в рег. X ¦ +-------+-----------+------------------------------------------¦ ¦ SA26 ¦ A ¦ Цифра Ah ¦ ¦ ¦ ES ¦ Вызов регистра ES ¦ ¦ ¦ FILL ¦ Блоковая процедура заполнения константой ¦ +-------+-----------+------------------------------------------¦ ¦ SA27 ¦ 6 ¦ Цифра 6h ¦ ¦ ¦ SI ¦ Вызов регистра SI ¦ ¦ ¦ I.W ¦ Ввод слова из ВУ ¦ +-------+-----------+------------------------------------------¦ ¦ SA28 ¦ 2 ¦ Цифра 2h ¦ ¦ ¦ CX ¦ Вызов регистра CX/CL ¦ ¦ ¦ PC ¦ Вызов программного счетчика ¦ ¦ ¦ XOR ¦ Сумма по модулю два ¦ +-------+-----------+------------------------------------------¦ ¦ SA29 ¦ F ¦ Цифра Fh ¦ ¦ ¦ W ¦ Запись рег. X в регистр (ячейку) ¦ +-------+-----------+------------------------------------------¦ ¦ SA30 ¦ B ¦ Цифра Bh ¦ ¦ ¦ SS ¦ Вызов регистра SS ¦ ¦ ¦ SCAN ¦ Блоковая процедура поиска ¦ +-------+-----------+------------------------------------------¦ ¦ SA31 ¦ 7 ¦ Цифра 7h ¦ ¦ ¦ DI ¦ Вызов регистра DI ¦ ¦ ¦ O.W ¦ Вывод слова на ВУ ¦ +-------+-----------+------------------------------------------¦ ¦ SA32 ¦ 3 ¦ Цифра 3h ¦ ¦ ¦ DX ¦ Вызов регистра DX/DL ¦ ¦ ¦ SWAP ¦ Обмен байтов в рег. X ¦ +--------------------------------------------------------------+

ПРИЛОЖЕНИЕ 2

Виды сообщений, выдаваемых на индикатор программой МОНИТОР

ПРИЛОЖЕНИЕ 3

Команды обработки строк

К командам обработки строк МП К1810ВМ86 относятся:

MOVS - пересылка строки;

LODS - загрузка строки;

STOS - запись строки;

CMPS - сравнение строк;

SCAS - сканирование строки,

причем каждая команда может выполняться как над байтами, так и над словами. Последним символом мнемокода может быть буква B или W (например, MOVSB или MOVSW).

Во всех строковых командах операнды адресуются с помощью индексных регистров:

DS:SI - адрес источника;

ES:DI - адрес приемника.

В команде LODS приемником служит аккумулятор (AL для LODSB и AX для LODSW). В команде STOS аналогично аккумулятор служит источником.

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

Префикс повторений имеет несколько модификаций:

REP - повторяет операцию, пока CX <> 0;

REPZ - повторяет операцию, пока ZF = 1 или CX <> 0;

REPNZ - повторяет операцию, пока ZF = 0 или CX <> 0.

Направление модификации SI, DI определяется флагом направления DF. При DF = 0 (устанавливается командой CLD) регистры SI, DI инкрементируются (+1), при DF = 1 (устанавливается командой STD) - декрементируются (-1).

Для кодирования приведенных выше команд обработки строк (все они однобайтовые) используйте следующие HEX-коды: MOVSB - A4 LODSB - AC MOVSW - A5 LODSW - AD CMPSB - A6 SCASB - AE CMPSW - A7 SCASW - AF STOSB - AA REP, REPZ - F3 STOSW - AB REPNZ - F2

Для непосредственной загрузки индексных регистров источника SI и приемника DI можно использовать трехбайтовые команды: MOV SI, <Адр.L><Адр.H> - BE .... MOV DI, <Адр.L><Адр.H> - BF ....

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Хвощ С.Т., Варлинский В.В., Попов Е.А. Микропроцессоры и микроЭВМ :Справочник. - Л.: Машиностроение, 1987. - 640 с.

2. Микропроцессоры и микропроцессорные комплекты интегральных микросхем :Справочник в 2-х томах. Под ред. В.А. Шахнова - М.: Радио и связь, 1988 - Т.1. - 368 с.

3. Алексенко А.Г., Галицин А.А.,Иванников А.Д. Проектирование радиоэлектронной аппаратуры на микропроцессорах. -М.: Радио и связь, 1984. -272с.

4. Клингман Э. Проектирование микропроцессорных систем.-М.: Мир, 1980. - 576с.

СОДЕРЖАНИЕ

Лабораторная работа N 1 : ИССЛЕДОВАНИЕ ОСЦИЛЛОГРАММ СИГНАЛОВ В МИКРОЭВМ...........................................3

Лабораторная работа N 2 : ИЗУЧЕНИЕ РАБОТЫ БИС КОНТРОЛЛЕРА КЛАВИАТУРЫ И ДИСПЛЕЯ..........................................8

Лабораторная работа N 3: СТРУКТУРА И ПРИHЦИПЫ РАБОТЫ ЛАБОРАТОРHОЙ УСТАHОВКИ УМПК-86................................13

ПРИЛОЖЕНИЯ...............................................24

БИБЛИОГРАФИЧЕСКИЙ СПИСОК.................................29