- •Введение
- •1. Конструкция, технические данные и принцип действия
- •2. Описание электрической принципиальной схемы
- •2.1. Общие сведения
- •2.2. Тактовый генератор
- •2.3. Генератор состояния ожидания
- •2.4. Центральный процессор
- •2.5. Контроллер шины
- •2.6. Оперативное запоминающее устройство
- •2.7. Постоянное запоминающее устройство
- •2.8. Параллельный ввод/вывод
- •Последовательный ввод/вывод
- •2.9.1. Назначение и особенности работы кр580вв51а в микропроцессорной лаборатории
- •2.9.2. Программирование бис кр580вв51
- •1 Сброс признаков ошибок 0 Нет сброса
- •2.10. Программируемый контроллер клавиатуры/дисплея кр580вв79
- •2.10.1. Назначение контроллера кр580вв79 и особенности его работы в составе микролаба
- •2.10.2. Программистская модель и система команд кр580вв79
- •3. Описание команд клавишного монитора
- •3.1. Клавиатура
- •3.2. Синтаксис команд монитора
- •3.2.1. Команды байт и слово
- •Примеры
- •3.2.2. Команда регистр
- •Примеры
- •3.2.3. Команды ввод байта и ввод слова
- •Примеры
- •3.2.4. Команды вывод байта и вывод слова
- •Примеры
- •3.2.5. Команда пересылка
- •Примеры
- •3.2.6. Команда пуск
- •Примеры
- •Запуск программы в режиме с точкой прерывания.
- •3.2.7. Команда шаг
- •4. Описание команд монитора дисплея
- •4.1. Структура команд
- •4.2. Команды монитора
- •4.2.1. Команда просмотра / изменения памяти
- •Примеры
- •4.2.2. Команда просмотра / изменения регистра
- •Примеры
- •4.2.3. Команда отображения памяти
- •Примеры
- •4.2.4. Команда пересылки
- •Примеры
- •4.2.5. Команда ввода
- •4.2.6. Команда вывода
- •4.2.7. Команда перехода
- •4.2.8. Команда шаг
- •Заключение
- •Приложение Электрические принципиальные схемы микролабаратории “км1810вм86 910”
- •Оглавление
- •394026 Воронеж, Московский просп.,14
3.2.6. Команда пуск
Команда ПУСК используется для передачи управления микролабом от клавишного монитора к программе пользователя, записанной в памяти.
Синтаксис:
ПУСК[<АДРЕС>] [ , <АДРЕС ТОЧКИ ПРЕРЫВАНИЯ>] .
После нажатия клавиши ПУСК в адресном поле высвечивается текущее содержимое регистра счётчика команд (IP), в поле данных - содержимое ячейки памяти, адресуемой регистром IP, а на самом первом индикаторе адресного поля загорается точка, указывающая на возможность ввода нового стартового адреса. Если новый адрес необходим, то его вводят с клавиатуры. Управление микролабом передаётся программе после нажатия клавиши «.».
Для выхода из программы пользователя и возврата управления монитору необходимо нажать клавишу СБРОС или ПРЕР. Если была нажата клавиша СБРОС, то происходит инициализация микролаба. При нажатии клавиши ПРЕР вызывается программа монитора, содержимое всех регистров сохраняется, на индикаторы выводится знак команды «-», и монитор переходит к ожиданию ввода новой команды. Если после нажатия клавиши ПРЕР вводится команда ПУСК, то на индикаторы выдаются текущее содержимое IP (смещение адреса команды, которая должна была быть выполнена перед нажатием клавиши ПРЕР) и содержимое ячейки памяти, адресуемой регистрами IP и CS. Нажатие клавиши «.» передаёт управление от монитора к программе пользователя по адресу, формируемому из содержимого регистров IP и CS, и выполнение программы продолжается.
В команде ПУСК можно задавать точку прерывания. Адрес точки прерывания аналогичен по своему действию нажатию клавиши ПРЕР при выполнении программы. При её задании используется значение сегмента, определяемое при вводе стартового адреса. После нажатия «.» монитор сохраняет команду, находящуюся в ячейке с адресом прерывания, а затем передаёт управление программе пользователя. Когда программа достигает точки прерывания, то управление передаётся монитору, при этом команда, соответствующая точке прерывания, не выполняется, все регистры МП сохраняются, и монитор переходит в состояние ожидания команды. На двух старших индикаторах поля данных появляется сообщение br (break - прервать).
Примеры
Запуск программы без точки прерывания.
В таблице 32 приведена программа, которую необходимо ввести в память и запустить на выполнение. Программа вычисляет сумму первых одиннадцати чисел натурального ряда, а также производит логический сдвиг содержимого регистра DX на 10 разрядов. Для выполнения этих действий организован цикл, который начинается с команды INC AX, помеченной меткой А20, и заканчивается командой LOOP A20. На каждом витке цикла команда LOOP вычитает единицу из регистра CX и, если его содержимое не равно 0, передает управление на метку А20, в противном случае осуществляется выход из цикла. В программе также использованы следующие команды:
MOV – в программе осуществляет пересылку байта данных в указанный в команде регистр;
INC AX – увеличивает содержимое регистра AX на единицу;
ADD BX,AX – складывает содержимое регистров BX и AX;
SHL DX,1 – осуществляет логический сдвиг (т.е. сдвиг, рассматривающий знаковый бит как обычный бит данных) регистра DX на 1.
В таблице 33 указана последовательность команд монитора, осуществляющая запуск программы.
Таблица 32
Адрес |
Код команды |
Текст программы |
Комментарии |
1 |
2 |
3 |
4 |
100
103
106
109
10C10D
10F
111 |
B2 01 00 BB 01 00 BA 01 00 B9 0A 00 40 03 D8 D1 E2 E2 F9 |
TITLE EX CODESG SEGMENT ORG 100H MOV AX,01
MOV BX,01
MOV DX,01
MOV CX,0A
A20:INC AX ADD BX,AX
SHL DX,1
LOOP A20
CODESG ENDS END |
Определение сегмента кода Адрес начала программы AX ← 01
BX ← 01
DX ← 01
CX ← OAH (число циклов)
AX ← (AX)+1 BX ← (BX)+(AX)
DX ← 2 (DX)
CX ← (CX)-1 Если СХ не равен 0, то цикл повторяется
|
Таблица 33
|
Индикация
|
|
|||||||
Команда |
Адрес |
Данные |
Комментарии
|
||||||
|
1 |
2 |
3 |
4 |
1 |
2 |
3 |
4 |
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
СБРОС |
- |
|
8 |
6 |
|
|
1 |
1. |
Сброс Команда ПУСК Адрес смещения |
ПУСК |
|
|
|
0. |
|
|
Х |
Х |
|
1 |
|
|
|
1. |
|
|
|
|
|
0 0 . |
- |
1 |
1 0 8 |
0. 0. 6 |
|
|
|
|
программы относительно CS. Управление передано к ячейке памяти со смещением 100Н относительно CS |