Цифровые и микропроцессорные устройства

ЦИФРОВЫЕ И МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА

Лабораторный практикум

для учащихся специальностей

2-45 01 03 – Сети телекоммуникаций

2-45 01 02 – Системы радиосвязи, радиовещания и телевидения

В 4 частях

Часть 3

Минск

УДК 81.332

ББК 32.97

Ц75

Рекомендовано к изданию

кафедрой информатики и вычислительной техники

«19» июня 2012 г., протокол № 10

Составитель

В. И. Богородов, преподаватель высшей категории кафедры информатики и вычислительной техники

Рецензент

Е. В. Новиков, доцент кафедры информатики и вычислительной техники, канд. техн. наук

  Ц75 Цифровые и микропроцессорные устройства : лабораторный практикум для учащихся специальностей 2-45 01 03 – Сети телекоммуникаций, 2-45 01 02 – Системы радиосвязи, радиовещания и телевидения. В 4 ч. Ч.3 / сост. В. И. Богородов. – Минск : ВГКС, 2012. - 97с. ISBN   Приводятся методические указания к лабораторным работам № 12…20 по микропроцессорной технике , в которых рассматриваются основы программирования на языке Ассемблер для восьмиразрядных микропроцессоров и микроконтроллеров. Предназначено для учащихся и преподавателей колледжа.     УДК 81.332 ББК 32.97

© Учреждение образования

«Высший государственный

колледж связи», 2012

ВВЕДЕНИЕ

Методические указания к лабораторным работам №12…20 предполагают использование восьмиразрядных микропроцессоров КР580ВМ80 либо K1821ВМ85А. В первом случае задания выполняются на учебной микроЭВМ УМК-80 либо с использованием эмулятора микропроцессора КР580ВМ80. Во втором случае следует использовать эмулятор микропроцессора K1821ВМ85А Sim8085 Microprocessor Simulator и при подготовке в лабораторным работам использовать [3] или [4].

Пример выполнения задания на эмуляторе Sim8085 Microprocessor Simulator приведен в приложении А.

ЛАБОРАТОРНАЯ РАБОТА № 12

СОСТАВЛЕНИЕ ЛИНЕЙНЫХ И ЦИКЛИЧЕСКИХ ПРОГРАММ

НА ЯЗЫКЕ АССЕМБЛЕР

Цель работы

1 Изучить приемы программирования последовательных и циклических вычислительных процессов в микропроцессорных системах (МПС), построенных на микропроцессоре (МП) К1821ВМ85А.

2 Приобрести практические навыки составления линейных и циклических программ на языке Ассемблер для МП К1821ВМ85А.

Подготовка к выполнению работы

1 Повторить по [4] систему команд микропроцессора К1821ВМ85А, форматы данных и команд, способы адресации.

2 Изучить по [4] примеры составления линейной программы инвертирования содержимого ячейки памяти и циклической программы суммирования однобайтных двоичных чисел на языке Ассемблер.

3 Подготовить ответы на вопросы для самоконтроля.

Вопросы для самоконтроля

1 Поясните, как формируется адрес следующей команды в линейных программах?

2 Поясните, как формируется адрес следующей команды в циклических программах при выполнении команд условных переходов на примере команды JC 0A10H, если условие перехода выполняется либо не выполняется?

3 Поясните, что понимают под способом адресации? Укажите, какие способы адресации используются в МП К1821ВМ85А и поясните их сущность?

4 Укажите выполняемую операцию, способы адресации, формат, число циклов и тактов, машинный код, а также действия МП в каждом машинном цикле для следующих команд:

а) MOV C,D; б) ANA M; в) SUB 10H;

г) MVI A, 10H; д) JNZ 0B50H; е) CALL 0950H;

е) CALL 0950H; ж) RET; з) CNC 0900H;

и) LXI B, 0920H.

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

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса.

2 Выполнить индивидуальное задание № 1. Составить схему алгоритма и программу линейного вычислительного процесса на языке Ассемблер для МП К1821ВМ85А, которая реализует последовательности арифметических или логических операций согласно варианту, заданному в таблице 1 (номер варианта выбирается в зависимости от номера учащегося в списке учебного журнала группы).

Таблица 1 – Исходные данные к индивидуальному заданию № 1

№ варианта Последовательность операций Значения операндов (P = 16)
(A) (B) (C) (D) (E) (M1) (M2)
M2 = 2((C) + (D)) – (M1) 1A
M1 = ( цифровые и микропроцессорные устройства - student2.ru ) цифровые и микропроцессорные устройства - student2.ru (A) цифровые и микропроцессорные устройства - student2.ru (M2) F0
M2 = ((M1) – (A)) : 2 + 05H 15H 25H
M1 = (( цифровые и микропроцессорные устройства - student2.ru ) цифровые и микропроцессорные устройства - student2.ru (M2)) цифровые и микропроцессорные устройства - student2.ru (A) 2D E1
M2 = (D) – 2 (M1) + 10 H
M1 = ( цифровые и микропроцессорные устройства - student2.ru ) цифровые и микропроцессорные устройства - student2.ru (A) цифровые и микропроцессорные устройства - student2.ru ( цифровые и микропроцессорные устройства - student2.ru ) 1F
M2 = ((C) – (A)) : 4 – (M1) 2D
M1 = ( цифровые и микропроцессорные устройства - student2.ru ) цифровые и микропроцессорные устройства - student2.ru ((A) цифровые и микропроцессорные устройства - student2.ru (M2)) 1E A0
M2 = 4((D) – (M1)) + (A) 10H 0A
M1 = ((B) цифровые и микропроцессорные устройства - student2.ru ( цифровые и микропроцессорные устройства - student2.ru )) цифровые и микропроцессорные устройства - student2.ru ( цифровые и микропроцессорные устройства - student2.ru ) 2F
Примечания 1 M1 – ячейка памяти по адресу 09XXH, где XX – номер по списку в учебном журнале в шестнадцатеричной системе счисления. 2 M2 – ячейка памяти по адресу 0AXXH. 3 Начальный адрес программы 08XXH.


2.1 Составить алгоритм решения задачи с учетом программной загрузки исходных данных. При составлении алгоритма следует помнить, что в МП КР51821ВМ85А умножение и деление на 2 выполняется с помощью команд циклического сдвига влево RLC и вправо RRC соответственно.

2.2 Составить программу на языке Ассемблер в виде таблицы (таблица 2).

Таблица 2 – Линейная программа на языке Ассемблер

Адрес Метка Команда Операнд Машинный код Комментарий
           
           
           
           

2.3 Определить ожидаемый результат вычисления. Для этого при выполнении арифметических операций следует подставить в заданное уравнение значения переменных в десятичной системе счисления и выполнить указанные арифметические операции в десятичной системе счисления. Порядок расчета и ожидаемый результат записать в отчет в десятичной и шестнадцатеричной системах счисления.

Логические операции следует выполнять в двоичной системе счисления поразрядно, при этом следует помнить, что логические операции обладают приоритетом. Порядок расчета и ожидаемый результат записать в отчет в двоичной и шестнадцатеричной системах счисления.

3 Выполнить индивидуальное задание № 2. Составить программу циклического вычислительного процесса на языке Ассемблер для МП К1821ВМ85А, которая реализует умножение двух восьмиразрядных двоичных чисел без учета знака (кодовое умножение) согласно варианту, заданному в таблице 3.

Таблица 3 – Исходные данные к индивидуальному заданию № 2

Номер варианта Значения операндов (P = 16) Начальный адрес программы
(DE) (A)
00A3 B2
00B4 C3
00D5
00E6
00F1 DA
00D4
00B2
00C3 5B
00B3
00D2 A3 080A

Пусть множимое хранится в паре регистров DE, где оно занимает младший регистр E, старший регистр D пары регистров установлен в нуль. Множитель хранится в аккумуляторе A. 16-разрядное произведение будем формировать в паре регистров HL. Счетчик числа повторений цикла организуем на регистре B.

Процесс умножения организуем следующим образом. Будем анализировать разряды множителя, начиная с его старшего разряда. Поэтому частичные произведения будут формироваться, начиная со старшего частичного произведения. Накопление суммы частичных произведений будем производить в паре регистров HL, т.е. к содержимому предварительно сброшенной в нуль пары регистров HL вначале прибавим восьмое частичное произведение. Затем, сдвинув на один разряд влево содержимое пары регистров HL, прибавим седьмое частичное произведение и так далее, пока не будут просуммированы все частичные произведения.

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

Алгоритм решения задачи представлен на рисунке 1.

Блок 1(рисунок 1) производит загрузку множимого в пару регистров DE и множителя в регистр A. Блок 2 производит загрузку нулевого значения в пару регистров HL. Блок 3 устанавливает в регистре B (счетчике циклов) начальное значение 8. Блок 4 производит сдвиг на один разряд влево содержимого пары регистров HL. Эта операция выполняется путем удвоения содержимого пары регистров: HL (HL) + (HL). Блок 5 предназначен для анализа очередного разряда множителя. Для этого содержимое аккумулятора сдвигается влево, в результате чего очередной разряд множителя пересылается в триггер TC регистра признаков. Блок 6 производит разветвление (условный переход) по содержимому триггера TC. При (TC) = 1 в блоке 7 выполняется операция суммирования множимого к сумме предыдущих частичных произведений в паре регистров HL. При (TC) = 0 операция суммирования не выполняется, по команде условного перехода JNC M1 осуществляется переход к команде блока 8. Блок 8 производит вычитание единицы из содержимого регистра B, после чего блок 9 выполняет условный переход по содержимому триггера TZ регистра признаков. Если (TZ) = 0 (содержимое регистра B не равно нулю), то команда условного перехода JNZ M2 производит переход к команде блока 4, вызывая очередное повторение выполнения тела цикла. Если (TZ) = 1 (содержимое регистра B равно нулю), то происходит выход из цикла и переход к очередной команде.

цифровые и микропроцессорные устройства - student2.ru цифровые и микропроцессорные устройства - student2.ru цифровые и микропроцессорные устройства - student2.ru цифровые и микропроцессорные устройства - student2.ru

Рисунок 1 – Схема алгоритма кодового умножения восьмиразрядных двоичных чисел

3.1 Составить циклическую программу умножения восьмиразрядных двоичных чисел на языке Ассемблер в форме таблицы 2.

3.2 Определить время выполнения операции умножения для тактовой частоты равной 2 МГц. Для этого определить количество тактов, требуемое для однократного прохождения цикла алгоритма и полученный результат умножить на восемь. Суммарное число тактов умножить на длительность тактового периода (0,5 мкс).

4 Ответить на контрольные вопросы.

5 Оформить отчет и сдать зачет.

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

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

1 Наименование и цель лабораторной работы.

2 Выполненные индивидуальные задания № 1, 2 (условия, алгоритмы и программы).

3 Расчет ожидаемого результата выполнения линейной программы.

4 Расчет времени выполнения операции умножения двух восьмиразрядных двоичных чисел.

5 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните, как проверить переполнение разрядной сетки при выполнении операции суммирования в МП К1821ВМ85А?

2 Поясните, как умножить на два в К1821ВМ85А?

3 Поясните, как выполнить суммирование двух 16-разрядных двоичных чисел в МП К1821ВМ85А? Укажите необходимую команду и ее особенности.

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащийся должен знать:

– систему команд МП К1821ВМ85А;

– приемы составления линейных и циклических программ.

Должен уметь:

– составлять линейные и циклические программы на языке Ассемблер;

– расшифровывать команды МП К1821ВМ85А;

– определять время выполнения программы.

ЛАБОРОТОРНАЯ РАБОТА № 13

Цель работы

1 Изучить структуру, назначение органов управления, ввода и индикации учебного микропроцессорного комплекта (УМК) на микропроцессорном комплекте (МПК) серии КР580.

2 Приобрести практические навыки включения и запуска УМК.

3 Приобрести практические навыки выполнения команд системной программы МОНИТОР УМК.

Подготовка к выполнению работы

1 Повторить по [2] структурную схему, форматы данных и команд, способы адресации, принцип работы и систему команд микропроцессора (МП) КР580ВМ80.

2 Подготовить ответы на вопросы для самоконтроля.

Вопросы для самоконтроля

1 Поясните назначение МП БИС КР580ВМ80 (далее по тексту МП БИС).

Кратко опишите назначение узлов, входящих в МП БИС.

2 Поясните процессы в МП БИС после начального запуска (сброса).

3 Поясните процессы в МП БИС при отсутствии сигнала на входе Ready.

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

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.

2 Произвести внешний осмотр УМК и убедиться визуально в отсутствии каких-либо повреждений и дефектов.

3 Помните, что выключение питания УМК в процессе работы вызывает стирание программы, записанной в ОЗУ. Повторное включение УМК допускается не ранее, чем через 20 секунд.

4 Изучить назначение и структурную схему УМК, назначение органов управления, ввода и индикации, а также порядок включения и запуска (см. методические указания к данной лабораторной работе).

5 Подготовить УМК к работе.

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

7 После проверки преподавателем результатов выключить питание УМК, вынуть вилку шнура питания из розетки.

8 Ответить на контрольные вопросы.

9 Оформить отчет и сдать зачет.

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

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

1 Наименование и цели лабораторной работы.

2 Структурную схему УМК.

3 Основные технические данные УМК.

4 Результаты выполнения задания по каждой команде системной программы МОНИТОР.

5 Ответы на контрольные вопросы.

Контрольные вопросы

1 Укажите основные функции системной программы МОНИТОР.

2 Поясните, что означает термин «модификация содержимого ячейки памяти или регистра».

3 Поясните, как осуществляется инициализация системной программы МОНИТОР.

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащиеся должны знать:

- структуру, назначение органов управления и индикации УМК, а также основные технические данные;

- назначение системной программы МОНИТОР;

- возможные режимы работы УМК и условия их обеспечения.

Должны уметь:

- готовить к работе УМК;

- вводить и выполнять команды системной программы МОНИТОР.

Методические указания

Структурная схема УМК

УМК состоит из следующих составных частей:

- микроЭВМ;

- пульта оператора;

- блока питания.

МикроЭВМ является основной составной частью и управляет работой всего УМК. Все обращения к памяти, операции ввода-вывода, вычисления выполняются микроЭВМ или ею же инициируются.

Пульт оператора предназначен для взаимодействия оператора с микроЭВМ.

Блок питания обеспечивает постоянными стабилизированными напряжениями микроЭВМ и пульт.

МикроЭВМ состоит из операционного устройства (ОУ), оперативного запоминающего устройства (ОЗУ), постоянного запоминающего устройства (ПЗУ) и устройства пошагового выполнения программ (рисунок 2).

Пульт оператора состоит из клавиатуры, шестиразрядного дисплея, светодиодных индикаторов и управляющих кнопок сброс "СБ", прерывание "ПР", шаг "ШГ", а также переключателей работа/шаг "РБ/ШГ" и команда/цикл "КМ/ЦК".

Включение и запуск УМК

Для включения УМК необходимо:

а) отжать (выключить) кнопку СЕТЬ, если она была включена;

б) подключить сетевой шнур к сети переменного тока напряжением 220 В и частотой 50 Гц;

в) нажать кнопку СЕТЬ, она должна остаться в нажатом состоянии. При этом не должны загораться светодиоды защиты +5В, -5В, +12В. Повторное включение УМК должно производиться не менее, чем через 20 секунд после выключения. В противном случае сработает защита блока питания и загорятся соответствующие светодиоды защиты. В этом случае необходимо выключить УМК и дождаться, когда светодиоды защиты погаснут, и только после этого можно повторно включать УМК.

Для запуска УМК необходимо:

- отжать кнопки РБ/ШГ и КМ/ЦК, тем самым перевести УМК в автоматический режим работы;

- нажать кнопку СБ. При этом в левой части дисплея появится символ "–", что означает, что УМК готов к работе и находится в состоянии приема команд.

Команда СТАРТ ПРОГРАММЫ

Эта команда используется для запуска и отладки программ пользователя. Для выполнения этой команды необходимо предварительно записать в память машинные коды программы, например, коды последовательности пустых команд NOP – 00H:

а) в ячейки памяти с адресами от 800H до 80EH запишите 00H, код команды NOP, используя команду МОНИТОРА ЗАПОЛНЕНИЕ МАССИВА ПАМЯТИ КОНСТАНТОЙ или ПРОСМОТР И МОДИФИКАЦИЯ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ;

б) в ячейку с адресом 80FH запишите FFH, код команды RST7, выполняющей функцию программного прерывания для прекращения выполнения программы;

в) выполните программу с помощью команды СТАРТ ПРОГРАММЫ. Для этого необходимо:

- нажать клавишу СТ;

- ввести стартовый адрес программы – 800H;

- нажать РАЗДЕЛИТЕЛЬ, на дисплее появится символ "–";

- введите конечный адрес программы 80FH;

- нажмите клавишу ВП.

На дисплее появится адрес 80F и символ "–" в разряде данных. Программа выполнена.

Задание:

1 Запишите в ячейки памяти (830H – 83EH) – 00H.

2 Запишите в ячейку памяти 83FH – FFH.

3 Выполните программу.

Цель работы

1 Изучить команды загрузки регистров в микропроцессоре (МП) КР580ВМ80.

2 Приобрести практические навыки составлять программы, содержащие команды загрузки регистров МП КР580ВМ80.

3 Приобрести практические навыки ввода программы в учебный микропроцессорный комплект (УМК), ее отладки и выполнения в автоматическом режиме.

Подготовка к выполнению работы

1 Повторить по [2] команды загрузки регистров.

2 Изучить методические указания к данной лабораторной работе и составить проверочные программы для заданий №1…­­5. Подготовить бланк отчета.

3 Подготовить ответы на вопросы для самоконтроля.

Вопросы для самоконтроля

1 Назовите регистры, входящие в состав МП КР580ВМ80, и укажите их назначение.

2 Поясните назначение разрядов регистра признаков F.

3 Назовите пары регистров в МП КР580ВМ80, которые используются для хранения 16-разрядных данных.

4 Укажите выполняемую операцию для нижеследующих команд:

а) MOV M,A; б) MVI D,10H; в) LXI D, 0900H; г) LXI SP, 0B10H;

д) SPHL; е) PCHL.

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

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса.

2 Включить и привести в рабочее состояние УМК.

3 Установить автоматический режим работы УМК. Для этого отжать клавиши РБ/ШГ и КМ/ЦК.

4 Выполнить поочередно последовательности команд загрузки регистров общего назначения, загрузки пар регистров 16-разрядными данными, загрузки регистра указателя стека, пересылки и загрузки счетчика команд. Вначале следует выполнять контрольную последовательность команд, а затем задание. Методические рекомендации по выполнению этих заданий приведены в методических указаниях к данной лабораторной работе.

5 После проверки преподавателем результатов выключить питание УМК, вынуть вилку шнура питания из розетки.

6 Ответить на контрольные вопросы.

7 Оформить отчет и сдать зачет.

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

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

1 Наименование и цели лабораторной работы.

2 Условия заданий, проверочные программы и результаты выполнения заданий №1…5.

3 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните, для чего используется пара регистров HL при выполнении команд MOV M,A и MVI M,20H в МП КР580ВМ80?

2 Поясните назначение указателя стека SP в МП КР580ВМ80.

3 Поясните, какими командами и как загрузить в указатель стека SP число 0B10H?

4 Поясните назначение счетчика команд PC в МП КР580ВМ80.

5 Поясните, какими командами и как загрузить в счетчик команд PC число 0A09H?

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащиеся должны знать:

- систему команд МП КР580ВМ80;

- назначение команд системной программы МОНИТОР.

Должны уметь:

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

- готовить к работе УМК;

- вводить и выполнять программы в автоматическом режиме.

Методические указания

Теоретическое обоснование

В микропроцессоре КР580ВМ80 для программирования доступны следующие регистры:

- 16-разрядный счетчик команд (PC), содержит адрес выполняемой команды;

- 16-разрядный регистр-указатель стека (SP), определяет адрес специализированной области ОЗУ–стека;

- 8-разрядный регистр-аккумулятор (A), используется для хранения и накопления результата в арифметических, логических операциях, а также операциях ввода-вывода и сдвига. Кроме того он может быть использован в качестве регистра общего назначения для хранения данных;

- шесть 8-разрядных регистров общего назначения: B, C, D, E, H, L;

- 8-разрядный регистр признаков (F) содержит биты условий:

C – перенос,

AC – вспомогательный перенос,

S – знак,

Z – нуль,

P – четность,

которые устанавливаются в зависимости от результата операций при выполнении арифметических, логических команд, команд сдвига и сравнения. Распределение битов условий в байте признаков следующее:

7 разряд 0 разряд
S Z AC P C

Регистры общего назначения могут использоваться для манипуляции

16-разрядными данными. Для этого регистры объединяются в пары следующим образом: BC, DE, HL – соответственно, первый регистр используется для хранения старшего байта (например, B), а второй – для хранения младшего байта (C), а также PSW – (F+A).

Команды пересылки

Общий вид команды:

MOV ri, rj,

где ri – идентификатор регистра-приемника: A, B, C, D, E, H, L;

rj – идентификатор регистра-источника: A, B, C, D, E, H, L.

5.1 Записать в память, начиная с адреса 0840H, коды последовательности команд, которые указаны в таблице 9.

Таблица 9 – Контрольная последовательность команд пересылки

Адрес Команда Операнд Машинный код Комментарий
MVI A, 0FH 3E 0F ; Загр. рег. A=0FH
MOV B, A ; Пересылка B (A)
MOV C, B ; Пересылка C (B)
MOV D, C ; Пересылка D (C)
MOV E, D 5A ; Пересылка E (D)
MOV H, E ; Пересылка H (E)
MOV L, H 6C ; Пересылка L (H)
HLT   ; Останов

5.2 Выполнить эту последовательность команд:

СТ0840 0848ВП.

5.3 Проверить содержимое регистров. Их значения должны быть равны 0FH.

Задание 4:

1 Написать и выполнить программу пересылки, предварительно загрузив регистры H (значением 3EH), C (7AH), D (5BH):

B H (3EH), E C (7AH), L D (5BH).

Последовательность команд записать в таблицу, аналогичную по форме таблице 9 (начальный адрес проверочной программы 0940H).

2 Проверить содержимое регистров и записать в отчет.

Цель работы

1 Изучить команды работы с памятью в микропроцессоре (МП) КР580ВМ80.

2 Приобрести практические навыки составлять программы, содержащие команды работы с памятью.

3 Приобрести практические навыки ввода программы в учебный микропроцессорный комплект (УМК), ее отладки и выполнения в автоматическом режиме.

Подготовка к выполнению работы

1 Повторить по [2] команды работы с памятью.

2 Изучить методические указания к данной лабораторной работе и составить проверочные программы для заданий №1…5. Подготовить бланк отчета (см. содержание отчета).

3 Подготовить ответы на вопросы для самоконтроля.

Вопросы для самоконтроля

1 Укажите методы адресации к памяти в МП КР580ВМ80 и поясните их суть.

2 Укажите какие методы адресации используются в нижеуказанных командах:

а) MOV A,M; б) MVI M,10H; в) STA 0910H; г) LDA 0A00H;

д) STAX B; е) LDAX B?

3 Укажите выполняемую операцию для вышеуказанных команд.

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

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.

2 Включить и привести в рабочее состояние УМК.

3 Установить автоматический режим работы УМК. Для этого отжать клавиши РБ/ШГ и КМ/ЦК.

4 Выполнить поочередно последовательности команд работы с памятью. Вначале следует выполнить контрольную последовательность команд, а затем задание для каждого вида команды.

5 После проверки преподавателем результатов выключить питание УМК и вынуть вилку шнура питания из розетки.

6 Ответить на контрольные вопросы.

7 Оформить отчет и сдать зачет.

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

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

1 Наименование и цели лабораторной работы.

2 Условия, проверочные программы и результаты выполнения заданий №1…5 в виде таблиц.

3 Краткие пояснения по ходу выполнения и результатам для каждого задания.

4 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните разницу между командами STA 0B10H и SHLD 0B10H.

2 Поясните разницу между командами LDA 0B10H и LHLD 0B10H.

3 Укажите за сколько циклов и тактов выполняется команда MOV M, A и поясните какие действия выполняет МП в каждом цикле.

4 Поясните разницу между командами STAX B и LDAX B.

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащиеся должны знать:

- систему команд МП КР580ВМ80;

- методы адресации к памяти;

- назначение команд системной программы МОНИТОР УМК.

Должны уметь:

- составлять программы, содержащие последовательности команд работы с памятью;

- готовить к работе УМК;

- вводить и выполнять программы в автоматическом режиме.

Методические указания

Теоретическое обоснование

Память представляется как последовательность ячеек размером в один байт. Каждая ячейка имеет свой адрес в диапазоне от 0 до 65535. Для удобства обычно используется шестнадцатеричное значение адреса, тогда диапазон адресации составляет 0000H…FFFFH.

В микропроцессорной системе применяется два метода адресации к памяти: прямая и косвенная.

При прямой адресации адрес ячейки памяти указывается в самой команде во втором и третьем байтах. В общем виде команда выглядит следующим образом:

КОП <B3B2>,

где КОП – код операции (чтение или запись), первый байт кода команды B1;

<B3B2> – адрес ячейки памяти;

<B3> – ст. байт адреса;

<B2> – мл. байт адреса.

В памяти такая команда будет размещена:

B1 (КОП),

B2,

B3,

т. е. после байта кода операции располагается сначала младший байт адреса, а затем – старший.

Косвенная адресация предполагает, что адрес ячейки памяти будет располагаться в регистровых парах HL, BC, DE. Для каждой конкретной команды работы с памятью закреплена своя регистровая пара. Таким образом, прежде чем выполнить такую команду, необходимо сначала задать адрес в соответствующей регистровой паре. Например:

1 LXI H, 0800H

MOV M, A ; запись в память содержимого регистра A по адресу в HL.

2 LXI D, 0900H

STAX D ; запись в память содержимого регистра A по адресу в DE.

АРИФМЕТИЧЕСКИЕ КОМАНДЫ

Цель работы

1 Изучить по [2] арифметические команды в микропроцессоре (МП) КР580ВМ80.

2 Приобрести практические навыки составления программ, содержащих арифметические команды.

3 Приобрести практические навыки ввода программы в учебный микропроцессорный комплект (УМК), ее отладки и выполнения в автоматическом режиме.

Подготовка к выполнению работы

1 Повторить по [2] арифметические команды в МП КР580ВМ80.

2 Изучить методические указания к данной лабораторной работе и составить проверочные программы для заданий №1…4.

3 Подготовить ответы на вопросы для самоконтроля.

Вопросы для самоконтроля

1 Укажите, какие арифметические операции выполняются в МП КР580ВМ80?

2 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении арифметических операций над 8-разрядными данными?

3 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении сложения 16-разрядных чисел?

4 Укажите выполняемую операцию, машинный код и способ адресации, которые используются в нижеуказанных командах:

а) ADD B; б) ADC M; в) SUB C; г) SBB M;

д) ADI, F0H; е) SUI, 3BH; ж) DAD B; з) DAD D.

5 Укажите, за сколько машинных циклов выполняются команды, указанные выше (см. 4.4), и поясните, какие действия выполняет МП в каждом цикле.

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

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.

2 Включить и привести в рабочее состояние УМК.

3 Установить автоматический режим работы УМК. Для этого отжать клавиши РБ/ШГ и КМ/ЦК.

4 Выполнить программы, содержащие арифметические команды. Вначале следует выполнить контрольную программу, а затем задание для каждого вида команды. Методические рекомендации по выполнению этого задания приведены в методических указаниях к данной лабораторной работе.

5 После проверки преподавателем результатов выключить питание УМК и вынуть вилку шнура питания из розетки.

6 Ответить на контрольные вопросы.

7 Оформить отчет и сдать зачет.

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

1 Наименование и цель работы.

2 Условия, проверочные программы и результаты выполнения заданий № 1…4 в виде таблиц.

3 Ручной расчет ожидаемого результата.

4 Краткие пояснения по ходу выполнения и результатам для каждого задания.

5 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните разницу между командами ADD E и ADC E.

2 Поясните разницу между командами ADI 50H и ACI 50H.

3 Укажите, какой командой выполняется сложение 16-разрядных чисел?

4 Укажите, за сколько циклов и тактов выполняется команда SBB M и поясните, какие действия выполняет МП в каждом цикле?

5 Укажите, за сколько циклов и тактов выполняется команда ACI 0FH и поясните, какие действия выполняет МП в каждом цикле?

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащиеся должны знать:

- систему команд МП КР580ВМ80;

- арифметические команды;

- назначение команд системной программы МОНИТОР УМК.

Должны уметь:

- составлять программы, содержащие арифметические команды;

- готовить к работе УМК;

- вводить и выполнять программы в автоматическом режиме.

Методические указания

Теоретическое обоснование

В микропроцессоре КР580ВМ80 предусмотрены следующие команды двоичной арифметики:

1) сложение 8-разрядных чисел;

2) сложение 16-разрядных чисел;

3) вычитание 8-разрядных чисел;

4) инкремент;

5) декремент.

Все арифметические операции с 8-разрядными операндами предполагают, что один из операндов размещается в регистре-аккумуляторе, а другой – либо в регистре, либо в памяти (при этом адрес ячейки задается в регистровой паре HL), либо является непосредственным числом, заданным в самой команде. Вычитание производится всегда из регистра-аккумулятора. Результат арифметической операции пересылается в регистр-аккумулятор. Кроме того по результату арифметических операций сложения и вычитания устанавливаются биты признаков: С – переноса, Z – нуля, S – знака, P – четности, AC – вспомогательного переноса.

Команды сложения 16-разрядных чисел, так называемые команды двойного сложения, предусматривают, что один из операндов находится в регистровой паре HL, а второй – либо в DE, либо в BC. Результат записывается в HL. Кроме того по результату операции устанавливается либо сбрасывается бит переноса – C.

Команды инкремента увеличивают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Команда инкремент регистра и памяти изменяет биты признаков: Z, S, P, AC. Инкремент регистровой пары не затрагивает биты признаков.

Команды декремента уменьшают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Затрагиваемые биты признаков аналогичны команде инкремента.

Команды двойного сложения

DAD H – сложение HL ← (HL) + (HL);

DAD B – сложение HL ← (HL) + (BC);

DAD D – сложение HL ← (HL) + (DE).

4.1 Записать в память, начиная с адреса 0820H, коды

Наши рекомендации