
- •Алматинский
- •Энергетики и
- •Кафедра «Электроники» цифровые устройства и микропроцессоры
- •5В100200 –Системы информационной безопасности
- •1 Лабораторная работа №1. Исследование работы комбинационных логических схем
- •Порядок выполнения работы
- •Контрольные вопросы
- •2 Лабораторная работа №2. Исследование работы типовых комбинационных устройств
- •2.1 Порядок выполнения работы
- •2.2 Контрольные вопросы
- •3 Лабораторная работа №3. Исследование работы триггерных схем
- •3.1 Порядок выполнения работы
- •3.2 Контрольные вопросы
- •4 Лабораторная работа № 4. Исследование работы конечных автоматов
- •4.1 Порядок выполнения работы
- •4.2 Контрольные вопросы
- •5 Лабораторная работа №5. Изучение микрокомпьютера на базе микропроцессора Intel 8085
- •5.1 Порядок выполнения работы
- •5.2 Контрольные вопросы
- •6 Лабораторная работа №6. Программные решения задач на ассемблере
- •6.1 Порядок выполнения работы
- •6.2 Контрольные вопросы
- •7 Лабораторная работа №7. Микропроцессорная обработка массива данных
- •7.1 Порядок выполнения работы
- •7.2 Контрольные вопросы
- •8 Лабораторная работа №8. Изучение работы программ с помощью эмулятора микропроцессора Intel 8085
- •8.1 Порядок выполнения работы:
- •Dcr b; Декремент счетчика числа элементов
- •8.2 Контрольные вопросы
- •Список литературы
- •Содержание
- •5В100200 – Системы информационной безопасности
- •050013, Алматы, Байтурсынова, 126
6.2 Контрольные вопросы
6.2.1 Какое назначение у клавиши MEM?
6.2.2 Какое назначение у клавиши REG?
6.2.3 Какое назначение у команды RST 7?
6.2.4 При тактовой частоте микропроцессора 2 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.4, если известно, что команда LDA содержит 13 тактов, команда CMA – 4 такта, команда STA – 13 тактов, а команда RST 7 – 12 тактов.
6.2.5 Дать комментарий действия логических команд ANA r, ANA M, ANI data?
6.2.6 Дать комментарий назначения и действия команд LDA adr, CMA и STA adr?
6.2.7 Дать комментарий назначения и действия команд LXI rp, data 16; INX rp и MOV r,M ?
6.2.8 Дать комментарий действия командам арифметической операции сложения: ADD r; ADI,data; ADD M, ADC r; ADC M и ACI data.
6.2.9 При тактовой частоте микропроцессора 3 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.7, если известно, что команда LXI H содержит 10 тактов, команда MOV A,M – 4 такта, команда INX H – 5 тактов, команда ADD M – 7 тактов, а команда RST 7 – 12 тактов.
6.2.10 При тактовой частоте микропроцессора 2,5 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.9, если известно, что команда LXI H содержит 10 тактов, команда MOV A,M – 7 тактов, команда INX H – 5 тактов, команда ANA M – 7 тактов, а команда RST 7 – 12 тактов.
7 Лабораторная работа №7. Микропроцессорная обработка массива данных
Цель работы: понимать и использовать команды i8085 для выполнения программы с массивами данных.
7.1 Порядок выполнения работы
7.1.1 Используя длинные провода соедините плату ЕВ-152 в следующем порядке:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) установите Sig.ANAL/KB+DISP переключатель (S1) в положение KB+DISP;
f) соедините клемму TX. EB-152 с клеммой RX.. EB-151;
g) соедините клемму RX. EB-152 с клеммой TX.. EB-151.
7.1.2 Убедитесь, что дисплей платы ЕВ-152 показывает EbHt.
7.1.3 Нажмите и отпустите кнопку Reset на плате ЕВ-151. Если все работ7ет правильно, то дисплей платы ЕВ-152 должен показывать Eb-151.
7.1.4 Введите программу счета, показанную в таблице 7.1. Эта программа считает до семи и затем сохраняет это число.
Т а б л и ц а 7.1
А дрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3EH |
MVI A |
00H |
Сброс сумматора на 0 |
2101Н |
00H |
|
|
|
2102Н |
3CH |
INR A |
|
Увеличение значения сумматора на 1 |
2103Н |
FEH |
CPI |
07H |
Проверка на окончание счета |
2104Н |
07H |
|
|
|
2105Н |
FFH |
RST 7 |
|
Точка прерывания |
2106Н |
CAH |
JZ |
210CH |
Переход, если сумматор = 7 |
2107Н |
0CH |
|
|
|
2108H |
21H |
|
|
|
2109H |
C3H |
JMP |
2102H |
Повтор операции |
210AH |
02H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2115H |
Сохранение сумматора (7) |
210DH |
15H |
|
|
|
210EH |
21H |
|
|
|
210FH |
FFH |
RST 7 |
|
Конец программы |
Как видно из таблицы 7.1 адрес 2105Н содержит контрольную точку, чтобы при остановке в ней программы можно было просмотреть содержимое ячеек памяти или регистров.
Нажмите на клавиши REG и «1» и просмотрите содержимое аккумулятора.
Нажмите на клавиши REG и «8», просмотрите содержимое регистра признаков F. Убедитесь, что флаг нуля (шестой бит) равен нулю, показывая, что содержимое аккумулятора не равно 7.
Нажмите на клавиши GO и ENTER. По адресу 2106Н находится команда JZ (переходить, если нуль), которая переводит на адрес 2109Н, чтобы повторить программу.
Повторяйте выполнение программы до тех пор, пока содержимое аккумулятора не увеличится до 7. Адрес соответствующей контрольной точки – 2109Н, а результат (07) будет храниться в ячейке 2115Н.
7.1.5 В таблице 7.2 показана программа, которая помещает содержимое ячеек памяти 2160Н и 2161Н в порядке убывания, то есть большие элементы идут раньше.
Т а б л и ц а 7.2
А дрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3AH |
LDA |
2160H |
Считывание первого элемента |
2101Н |
60H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
47H |
MOV B,A |
07H |
Сохранение первого элемента |
2104Н |
3AH |
LDA |
2161H |
Сохранение второго элемента |
2105Н |
61H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
B8H |
CMP B |
|
Сравнение элементов |
2108H |
00H |
NOP |
|
Нет операции |
2109H |
DAH |
JC |
2113H |
Выход из программы |
210AH |
13H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2160H |
Сохранение элементов массива |
210DH |
60H |
|
|
|
210EH |
21H |
|
|
|
210FН |
78H |
MOV A,B |
00H |
Перенос элемента |
2110Н |
32H |
STA |
2161H |
Сохранение второго элемента |
2111Н |
61H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
FFH |
RST 7 |
|
Возврат к УП |
Из таблицы 7.2 видно, что программа тестирует флаг переноса, используя команду JC. Причем, если флаг переноса установлен в положение 1, то выполнение программы возобновляется в адресе, определенном командой JC. Если флаг переноса сброшен на 0, то выполнение продолжается со следующей последовательной команды.
Команда может быть заменена RST 7 с целью просмотра регистров.
7.1.6 Изучите блок-схему рисунка 7.1, которая показывает алгоритм вычисления суммы всех элементов массива.
Наберите и запустите программу, представленную в таблице 7.3, которая реализует данный алгоритм, используя в качестве начальных данных значения из таблицы 7.4. Произведите вычисления и внесите в таблицу 7.4 недостающее значение
ССтарт
Счетчик = Длине массива (05Н)
Указатель = базовый адрес (2160Н)
Сумма = 0
Рисунок 7.1 - Алгоритм вычисления суммы всех элементов массива
Т а б л и ц а 7.3
А дрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
06H |
MVI B |
05H |
Счетчик = 5 |
2101Н |
05H |
|
|
|
2102Н |
21H |
LXI H |
2160H |
Определение базового адреса |
2103Н |
60H |
|
|
|
2104Н |
21H |
|
|
|
2105Н |
97H |
SUB A |
|
Сброс значения суммы на 0 |
2106Н |
86H |
ADD M |
|
Сумма = Сумма + Данное |
2107Н |
32H |
STA |
2165H |
Сохранение данного |
2108H |
65H |
|
|
|
2109H |
21H |
|
|
|
210AH |
05H |
DCR B |
|
Уменьшение счетчика на 1 |
210BH |
97H |
SUB A |
|
Сброс сумматора |
210CH |
B8H |
CMP B |
2160H |
Проверка окончания счета |
Продолжение таблицы 7.3
210DH |
CAH |
JZ |
2117H |
Если да, закончить программу |
210EH |
17H |
|
|
|
210FН |
21H |
|
|
|
2110Н |
3AH |
LDA |
2165H |
Если нет, вычислить сумму |
2111Н |
65H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
23H |
INX H |
|
Увеличение указателя на 1 |
2114Н |
C3H |
JMP |
2106H |
|
2115Н |
06H |
|
|
|
2116Н |
21H |
|
|
|
2117Н |
FFH |
RST 7 |
|
Возврат к управляющей программе |
Т а б л и ц а 7.4
А дрес |
2160Н |
2161Н |
2162Н |
2163Н |
2164Н |
2165Н |
Данные |
A3H |
11H |
27H |
5BH |
32H |
|