Требования к знаниям и умениям учащихся. В результате выполнения лабораторной работы учащиеся должны знать:
В результате выполнения лабораторной работы учащиеся должны знать:
– систему команд МП Intel 8085A (K1821BM85A);
– особенности арифметических команд;
Должны уметь:
– составлять программы для простых восьмиразрядных МП на языке Ассемблер, содержащие арифметические команды;
– выполнять ввод, отладку и выполнение программ на симуляторе МП Sim8085 Microprocessor Simulator.
Методические указания
Теоретическое обоснование
В микропроцессоре Intel 8085A предусмотрены следующие команды двоичной арифметики:
1) сложение восьмиразрядных чисел;
2) сложение 16-разрядных чисел;
3) вычитание восьмиразрядных чисел;
4) инкремент;
5) декремент.
Все арифметические операции с восьмиразрядными операндами предполагают, что один из операндов размещается в регистре-аккумуляторе, а другой – либо в регистре, либо в памяти (при этом адрес ячейки задается в регистровой паре HL), либо является непосредственным числом, заданным в самой команде. Вычитание производится всегда из регистра-аккумулятора. Результат арифметической операции пересылается в регистр-аккумулятор. Кроме того по результату арифметических операций сложения и вычитания устанавливаются биты признаков: S – знака, Z – нуля, A – вспомогательного переноса, P – четности, С – переноса.
Команды сложения 16-разрядных чисел, так называемые команды двойного сложения, предусматривают, что один из операндов находится в регистровой паре HL, а второй – либо в DE, либо в BC. Результат записывается в HL. Кроме того по результату операции устанавливается либо сбрасывается бит переноса – C.
Команды инкремента увеличивают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Команда инкремент регистра и памяти изменяет биты признаков: Z, S, A, P, C. Инкремент регистровой пары не затрагивает биты признаков.
Команды декремента уменьшают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Затрагиваемые биты признаков аналогичны команде инкремента.
Индивидуальное задание № 14. 1
Составить алгоритм, написать на языке Ассемблер для МП
Intel 8085A с адреса 2000 h и выполнить линейную программу, реализующую последовательность арифметических операций в соответствии с заданным вариантом (таблица 14.1):
M2 = (M1) + (E) – (A) + 1
До выполнения программы вычислить и записать в отчет ожидаемый результат (см. пример в методических указаниях к лабораторной работе №12).
При загрузке исходных данных в ячейку памяти М1 (в команде указывать М) по адресу 2022 h рекомендуется использовать косвенную адресацию, а при загрузке результата в ячейку памяти М2 по адресу 2024 h – прямую адресацию. Программу записать в таблицу, аналогичную по форме таблице 12.4.
Таблица 14.1 – Исходные данные к индивидуальному заданию № 14.1
Номер варианта | Исходные данные | Номер варианта | Исходные данные | ||||
(M1) | (E) | (A) | (M1) | (E) | (A) | ||
1A | B5 | A1 | 4C | ||||
2A | B4 | 1A | B2 | 5E | |||
3B | E1 | 2B | C4 | 2F | 3E | ||
0A | F7 | 4C | BF | 4D | 7D | ||
3C | B4 | BE | 3A | 5B | |||
4D | FE | DC | 4B | 6A | |||
3A | D5 | 7A | A7 | 8F | 4B | ||
Примечания 1 «M1» - ячейка памяти по адресу 2022 h. 2 «M2» - ячейка памяти по адресу 2024 h. |
Результаты выполнения программы записать в таблицу 14.2. Сравнить полученный результат с ожидаемым и сделать выводы о содержимом регистров, адресных ячеек памяти и значениях признаков.
Таблица 14.2 – Результаты выполнения индивидуального задания № 14.1
Номер варианта | Результат (Р = 16) | Содержимое регистров (P = 16) | Значения признаков | ||||||||||||
(М2) | (A) | (B) | (C) | (D) | (E) | (H) | (L) | (SP) | (PC) | S | Z | A | P | C | |
Индивидуальное задание № 14. 2
Составить алгоритм, написать на языке Ассемблер для МП Intel 8085A с адреса 2000 h и выполнить линейную программу заполнения массива памяти 2020 h …2024 h данными соответственно 0A h…0E h, используя команды загрузки и инкремента регистра и пары регистров (MVI r, b2; LXI rp, b3, b2; INR r; INX rp), f также пересылки (MOV M, r). Программу записать в таблицу, аналогичную по форме таблице 12.4.
Результаты выполнения записать в таблицу 14.3 и сделать выводы.
Таблица 14.3 – Результаты выполнения индивидуального задания № 14.2
Результат – содержимое ЯП по адресу 2020 h…2024 h (P = 16) | Содержимое регистров (P = 16) | Значения признаков | ||||||||||||||||
(M1) | (M2) | (M3) | (M4) | (M5) | (A) | (B) | (C) | (D) | (E) | (H) | (L) | (SP) | (PC) | S | Z | A | P | C |
Индивидуальное задание № 14. 3
Составить алгоритм, написать на языке Ассемблер для МП Intel 8085A с адреса 2000 h и выполнить циклическую программу суммирования пяти чисел, находящихся в памяти в соответствии с индивидуальным заданием № 2. Счетчик циклов организовать на регистре B. Результат суммирования загрузить в регистр D. Программу записать в таблицу, аналогичную по форме таблице 12.4.
До выполнения программы вычислить и записать в отчет ожидаемый результат суммирования (см. пример в методических указаниях к лабораторной работе № 12).
Результаты выполнения записать в таблицу 14.4 и сделать выводы.
Таблица 14.4 – Результаты выполнения индивидуального задания № 14.3
Результат (P = 16) | Содержимое ЯП по адресу 2020 h…2024 h (P = 16) | Содержимое регистров (P = 16) | Значения признаков | ||||||||||||
(D) | (M1) | (M2) | (M3) | (M4) | (M5) | (A) | (B) | (H) | (L) | (PC) | S | Z | A | P | C |
ЛАБОРАТОРНАЯ РАБОТА № 15
ЛОГИЧЕСКИЕ КОМАНДЫ И КОМАНДЫ СДВИГА
Цель работы
1 Изучить приемы составления программ на языке Ассемблер для МП Intel 8085A (K1821BM85A), содержащих логические команды и команды сдвига.
2 Приобрести практические навыки ввода, отладки и выполнения программ на языке Ассемблер, содержащих логические команды, на симуляторе МП Sim8085 Microprocessor Simulator.