
- •Общие указания
- •Литература для самоподготовки
- •Лабораторная работа 1 изучение учебной микроэвм (умк)
- •1. Состав и конструкция учебной микроэвм
- •2 Описание и принцип работы узлов учебной микроэвм
- •2.5. Устройство блока питания (бп)
- •2. Описание клавиатуры и индикации
- •3. Команды системы “Монитор”
- •3.1. Индикация и изменение содержимого памяти
- •3.2. Индикация и изменение содержимого регистров
- •3.3. Передача управления программе пользователя
- •3.4. Определение контрольной суммы массива памяти
- •3.5. Заполнение массива памяти константой
- •3.6. Перемещение массива памяти в адресном пространстве
- •3.7. Прерывание выполнения программы пользователя
- •3.8. Пошаговое выполнение программы
- •2. Порядок выполнения работы
- •2. Порядок выполнения лабораторной работы
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №7 Тема: Изучение блока ввода-вывода информации на семисегментные индикаТоры
- •Методические указания
- •91034 Г. Луганск,
2. Порядок выполнения лабораторной работы
Изучить команды условных переходов микропроцессора К580ИК80А.
Предложить алгоритм выполнения циклического вычислительного процесса.
Составить циклическую программу для перезаписи из одной области памяти в другую своей фамилии на языке ассемблера.
Провести ассемблирование предложенной программы и ее набор на УМК.
Ввести в соответствующие ячейки памяти исходную информацию.
Выполнить программу в пошаговом режиме.
3. Содержимое отчета
Формат команд условных переходов
Алгоритм выполнения программы
Листинг программы
Выводы
Контрольные вопросы
Что такое цикл?
Какие команды микропроцессора КР580ИК80А используются для образования циклического процесса?
Что такое алгоритм циклической структуры?
Как организовывается счетчик циклов?
Лабораторная работа 5
Программирование алгоритмов
с разветвленной структурой
Цель работы: изучить способы выполнения программ с разветвленной структурой вычислительного процесса.
1. Общие сведения
Алгоритм разветвленной структуры — алгоритм, в котором предусмотрено изменение естественного порядка выполнения действий в зависимости от результата проверки какого-то условия. Изменять естественный порядок выполнения команд программы позволяют команды перехода (ветвления) и вызова программ. Существуют два способа изменения порядка выполнения команд программы: безусловный и условный переход.
При безусловном способе последовательность выполнения программы изменяется всякий раз, когда встречается команда безусловного перехода (JMP).
В соответствии со вторым способом последовательность изменяется только в том случае, если значение указанного условия совпадает с заданным. Для организации такого изменения служат команды условного перехода (см. лабораторную работу №4).
Обычно алгоритмы с ветвящейся структурой содержат в себе циклические элементы. Пример алгоритма с ветвящейся структурой можно рассматривать на примере многобайтных чисел. Диапазон чисел, представляемых в машинах с микропроцессором К580ИК80А, небольшой. Поэтому при сложении больших чисел (число байт больше двух) применяется побайтное сложение с переносом (ADC), причем операция начинается со сложения младших байтов. Все последующие байты складываются с переносом предыдущего сложения. Схема алгоритма сложения многобайтовых чисел приведена на рис.5.1.
Рис.5.1
Так, при сложении младших байтов входной перенос должен быть равен нулю, вводится команда очистки бита переноса.
Загрузка адресов памяти, в которых хранится значение байтов слагаемых чисел, производится с помощью команд LXI.
Запоминание результата можно осуществлять командой STAX.
В блоке 6 алгоритма осуществляется условный переход, который определяет по условию равенства нулю содержимое счетчика. Если счетчик не равен нулю, процесс сложения продолжается. При этом в седьмом блоке с помощью команд инкремента в регистрах адресов слагаемых байтов устанавливается следующий адрес и, используя команду безусловного перехода JMP, происходит возврат к блоку 4 для выполнения операции сложения. В случае равенства 0 содержимое счетчика вычислительный процесс прекращается и происходит переход на конец программы.
Программа сложения приведена в табл.5.1.
В программе N — количество байтов слагаемого числа, FIRST — адрес младшего байта 1-го слагаемого, SECND — адрес младшего байта 2-го слагаемого, LOOP, DONE — метки программы. Байты слагаемых чисел расположены в следующих друг за другом ячейках памяти, причем младший байт находится в ячейке с меньшим номером.
Таблица 5.1
|
MVI E, |
N |
Организация счетчика до N |
|
XRA A |
|
Очистка бита перехода |
|
LXI B, |
FIRST |
Загрузка адреса младших байтов обоих слагаемых в регистры BC и HL |
|
LXI H, |
SECOND |
|
LOOP: |
LDAX B |
|
Загрузка байта из регистра BC в аккумулятор |
|
ADC M |
|
Сложение байтов запомнить в BC |
|
STAX B |
|
|
|
DCR E |
|
Уменьшить счетчик на 1 |
|
JZ DONE |
|
Условный переход по «0» |
|
INX B |
|
Увеличение BC на 1 |
|
INX H |
|
Увеличение HL на 1 |
|
JMP LOOP |
|
Перейти на метку |
DONE: |
HLT |
|
Выход |
2. Порядок выполнения работы
Изучить структуры команды безусловного перехода
Предложить алгоритм разветвленной структуры
Составить программу сложения двух многобайтовых чисел по заданию преподавателя
Провести ассемблирование предложенной программы и ее набор на УМК
Провести ввод исходной информации в память
Выполнить программу
3. Содержание отчета
Описание структуры команд безусловного перехода
Алгоритм реализованной программы
Листинг программы
Выводы
Контрольные вопросы
Как осуществляется безусловный способ изменения порядка выполнения команд?
Какие команды микропроцессора КР580ИК80А выполняют сложение?
По каким признакам (условиям) осуществляется ветвление программы для микропроцессора КР580ИК80А?
Лабораторная работа 6
Исследование и настройка параллельного адаптера
Цель работы: изучить работу, подключение и программирование устройства ввода/вывода на базе микросхемы КР580ВВ55.
1. Общие сведения
Устройства ввода/вывода, построенные на основе Бис КР580ВВ55 (РРi), могут принимать или выдавать информацию с форматом 8 бит по 24 линиям связи. Линии ввода/вывода объединены в три независимых 8 разрядных порта ввода/вывода. Микросхема может быть запрограммирована на работу в трех режимах: режим 0, режим 1, режим 2. В режиме 0 каждый порт настраивается независимо друг от друга, на ввод или вывод информации. Настройка производится путем засылки слова инициализации NI в регистр управляющего слова РУС.
В данной лабораторной работе PPI настраивается в режим 0 , на вывод. К выходным линиям портов подсоединены светодиоды по схеме с общим катодом.
В состав устройства ввода/вывода входят два шинных формирователя типа К589АП16 и дешифратор К555ИД7. Плата ввода/вывода подсоединяется к УМК через разъем на лицевой панели.
В лабораторной работе необходимо разработать программу «бегущий огонь» - засвечивание светодиодов по заданному алгоритму. Алгоритм задается преподавателем.
Программа должна содержать 3 блока, блок инициализации, блок выдержки время и блок основной программы.
Принципиальная электрическая схема платы ввода/вывода приведена на рис. 6.1.
Рис.6.1.
Блок схема алгоритма для реализации программы “бегущий огонь” представлена на рис. 6.2.
Основная программа и подпрограмма инициализации, выдержки времени приведены в табл. 6.1, 6.2, 6.3.
Рис.6.2
Таблица 6.1
Номер ячейки |
метка |
Мнемокод команды |
16-ричный код команды |
Комментарий |
0880 |
|
XRA A |
AF |
очистка аккумулятора |
0881 |
|
MVI A, 80 |
3E |
запись в А управляющего слова |
0882 |
|
|
80 |
|
0883 |
|
OUT 83 |
D3 |
Вывод управляющего слова в РУС ППА |
0884 |
|
|
83 |
|
0885 |
|
RET |
C9 |
Возвращение в осп. Пр-му |
Таблица 6.2
Номер ячейки |
Метка |
Мнемокод команды |
16-й код команды |
Комментарий |
0860 |
|
MVI B,14 |
06 |
Занесение в регистр В |
0861 |
|
|
14 |
числа 14 |
0862 |
RI: |
MVI C,FF |
0E |
Занесение в регистр С |
0863 |
|
|
FF |
числа FF |
0864 |
R2: |
MVI D,FF |
16 |
Занесение в регистр |
0865 |
|
|
FF |
числа FF |
0866 |
R3: |
DCR D |
15 |
Декремент регистра |
0867 |
|
JNZ R3 |
C2 |
не нулевой результат |
0868 |
|
|
66 |
(Z=0) переход на |
0869 |
|
|
08 |
метку R3 |
086A |
|
DCR C |
0D |
Декремент регистра С |
086B |
|
JNZ R2 |
C2 |
не нулевой результат |
086C |
|
|
64 |
(Z=0) переход на |
086D |
|
|
08 |
метку R2 |
086E |
|
DCR B |
05 |
Декремент регистра В |
086F |
|
JNZ R1 |
C2 |
не нулевой результат |
0870 |
|
|
62 |
(Z=0) переход на |
0871 |
|
|
08 |
метку R1 |
0872 |
|
RET |
C9 |
Выход из подпрограммы |
Таблица 6.3
Номер ячейки |
Метка |
Мнемокод команды |
16-ричный код команды |
Комментарий |
1 |
2 |
3 |
4 |
5 |
0800 |
M1 |
CALL WOLL |
CD |
Занесение в регистр В |
0801 |
|
|
80 |
числа 14 |
0802 |
|
|
08 |
Занесение в регистр С |
0803 |
|
MVI A,01 |
3E |
числа FF |
0804 |
|
|
01 |
Занесение в регистр |
0805 |
|
OUT 80 |
D3 |
числа FF |
0806 |
|
|
80 |
декремент регистра |
0807 |
|
CALL SEC |
CD |
не нулевой результат |
0808 |
|
|
60 |
(z=0) переход на |
0809 |
|
|
08 |
метку R3 |
080А |
|
CALL WOLL |
CD |
декремент регистра C |
080В |
|
|
60 |
не нулевой результат |
080С |
|
|
80 |
(z=0) переход на |
080D |
|
MVI A,02 |
3E |
метку R2 |
080Е |
|
|
02 |
декремент регистра В |
080F |
|
OUT 80 |
D3 |
не нулевой результат |
1 |
2 |
3 |
4 |
5 |
0810 |
|
|
80 |
(z=0) переход на |
0811 |
|
CALL SEC |
CD |
метку R1 |
0812 |
|
|
60 |
Выход из подпрограммы |
0813 |
|
|
08 |
|
0814 |
|
CALL WOLL |
CD |
|
0815 |
|
|
80 |
|
0816 |
|
|
08 |
|
0817 |
|
MVI A,04 |
3E |
|
0818 |
|
|
04 |
|
0819 |
|
OUT 80 |
D3 |
|
081А |
|
|
80 |
(z=0) переход на |
081В |
|
CALL SEC |
CD |
метку R1 |
081С |
|
|
60 |
Выход из подпрограммы |
081D |
|
|
08 |
|
081E |
|
CALL WOLL |
CD |
|
081F |
|
|
80 |
|
0820 |
|
|
08 |
|
0821 |
|
MVI A,08 |
3E |
|
0822 |
|
|
08 |
|
0823 |
|
OUT 80 |
D3 |
|
0824 |
|
|
80 |
|
0825 |
|
CALL SEC |
CD |
|
0826 |
|
|
60 |
|
0827 |
|
|
08 |
|
0828 |
|
CALL WOLL |
CD |
|
0829 |
|
|
80 |
|
082A |
|
|
08 |
|
082B |
|
MVI A,10 |
3E |
|
082C |
|
|
10 |
|
082D |
|
OUT 80 |
D3 |
|
082E |
|
|
80 |
|
082F |
|
CALL SEC |
CD |
|
0830 |
|
|
60 |
|
0831 |
|
|
08 |
|
0832 |
|
MVI A,20 |
3E |
|
0833 |
|
|
20 |
|
0834 |
|
OUT 80 |
D3 |
|
0835 |
|
|
80 |
|
0836 |
|
CALL SEC |
CD |
|
0837 |
|
|
60 |
|
0838 |
|
|
08 |
|
0839 |
|
JMP M1 |
C3 |
|
083A |
|
|
00 |
|
083B |
|
|
08 |
|
1 |
2 |
3 |
4 |
5 |
… |
|
|
|
|
0890 |
|
LXI SP 08 FF |
31 |
|
0891 |
|
|
FF |
|
0892 |
|
|
08 |
|
0893 |
|
JMP M1 |
C3 |
|
0894 |
|
|
00 |
|
0895 |
|
|
08 |
|