Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1-2009 ДГЦУиМП

.pdf
Скачиваний:
10
Добавлен:
26.03.2016
Размер:
1.53 Mб
Скачать

Перед выполнением этой команды предварительно запол­ ните массив памяти 800Н-83ЕН[ данными 55Н и подсчитайте контрольную сумму этого массива. Должно получиться 40Н.

Для выполнения команды ПЕРЕМЕЩЕНИЕ МАССИВА ПАМЯТИ:

а) нажмите клавишу ПМ; б) введите начальный адрес массива 800Н;

в) нажмите клавишу РАЗДЕЛИТЕЛЬ; г) введите конечный адрес перемещаемого массива -

83ЕН; д) нажмите клавишу РАЗДЕЛИТЕЛЬ;

е) введите начальный адрес массива* куда осуществляется перемещение 900Н;

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

Для проверки правильности выполнения команды пере­ мещения подсчитайте контрольную сумму нового массива (900Н-93РН). Она должна совпадать с контрольной суммой перемещаемого массива (800Н - 83Ш ) = 40Н.

1.4. Работа в УМК в пошаговом режиме Существуют два режима работы УМК по шагам: а) режим работы по машинным циклам; б) режим работы УМК по командам.

Режим работы УМК по машинным циклам используется для изучения процесса выполнения команды в микропроцес­ соре.

Режим работы УМК по командам используется для изуче­ ния команд и отладки программ.

1.4.1. Режим работы УМК по машинным циклам Для установки режима работы УМК по машинным циклам

необходимо выполнить следующие действия:

а) включить и привести в рабочее состояние УМК; б) нажать клавишу РБ/ШГ; в) нажать клавишу КМ/ЦК.

9

Затем записать в память исследуемую программу с нужно­ го адреса, например, 800Н. запустить программу с адреса 800Н (СТ 800Н). На шине адреса (см. светодиодный индикатор) появится адрес 800Н на шине данных код команды (произош­ ло чтение кода команды). После нажатия клавиши ШГ микро­ процессор выполняет команду, если она состоит из одного цикла, для команды, состоящей из двух и более циклов, перей­ дет к выполнению второго цикла команды.

Таким образом, нажимая клавишу ШГ, можно проследить ход выполнения введенной последовательности команд по циклам.

Чтобы закончить процесс отладки программы нужно на­ жать клавишу СБРОС, УМК перейдет в режим приема команд.

1.4.2. Режим работы УМК по командам

Для установки режима работы УМК по командам необхо­ димо выполнить следующие действия:

а) включить и привести в рабочее состояние УМК; б) нажать клавишу РБ/1ИГ; в) отжать клавишу КМ/ЦК.

Затем записать в память исследуемую программу с нужно­ го адреса, например 800Н. Запустить программу с адреса 800Н (СТ 800 ВП). На шине адреса появится адрес 800Н, на шине данных машинный код команды. После нажатия клавиши ШГ микропроцессор выполнит команду и перейдет к выполнению второй команды. Таким образом, нажимая клавишу ШГ, мож­ но просмотреть ход выполнения введенной последовательно­ сти команд. Для завершения выполнения программы нажмите кнопку СБРОС.

2. ЛАБОРАТОРНЫЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ

2.1. Используя команду ПРОСМОТР и МОДИФИКАЦИ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ, введите последова­

10

тельно в ячейки памяти с адреса 900Н данные· 1, 2, 3, 4, 5, 6, 7, 8, 9,А, В, С, Б, Е, Б. Проверьте правильность ввода информа­ ции в память.

2.2. Установить значение регистров:

А-ООН

РН -07Н

В -0 1

Н

P L -08H

С -0 2

Н

SH -09H

D -0 3 H

SL -O A H

Е -0 4

Н

F -F F H

Н -0 5

Н

 

L -0 6 H

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

2.3.Запишите в ячейки памяти (830Н - 83ЕН) - код пустой команды NOP - ООН. Затем выполните команду СТАРТ про­ граммы полностью и с установкой двух точек остановки 835Н

и839Н.

2.4.Заполните и проверьте массив памяти с адресами 840Н

-84FH данными - 8 Н.

2.5.Заполните массив памяти (850Н - 870) данным 02Н. подсчитайте контрольную сумму.

2.6.Заполните массив памяти (850Н —870Н) данным 02Н. подсчитайте контрольную сумму. Переместите этот массив в область с начальным адресом 950Н. Проверьте правильность выполнения команды перемещения, подсчитав его контроль­ ную сумму.

2.7.Запишите в память, начиная с адреса 800Н, коды ука­ занной в таблице последовательности команд (используя ко­ манду монитора ПРОСМОТР и МОДИФИКАЦИЯ СОДЕР­ ЖИМОГО ЯЧЕЙКИ ПАМЯТИ).

11

Ад­

Команда

Машинный

рес

код

 

800

1>1 В, 940 Н

01 40 09

803

Ьх1Б, 960 Н

11 60 09

806

МУ1Ь, ЮН

2Е 10

808

Ю АХ В

О А

809

БТАХБ

12

80А

Ш ХВ

03

80В

Ш Х Б

13

80С

ВСЮ ,

80D

Ж Р 800Н

СЗ 00 08

Комментарий

Загр. ВС = 940Н Загр.БЕ = 960Н Загр.Ь = ЮН Загр. А = М по адр.ВС

ЗП. М = А по адр.БЕ ВС = ВС + 1 БЕ = БЕ + 1 Ь - Е - 1

Переход на адр.800Н

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

3. ОФОРМЛЕНИЕ ОТЧЕТА

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

1.Описание последовательности действий при выполне­ нии лабораторных заданий 2.1 - 2.7.

2.Таблицы результатов просмотра программы, приведен­ ной в табл.2 в пошаговом режиме.

2.Выводы.

4.ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

1.Как осуществляется включение и запуск УМК?

12

2.Назовите все команды системного монитора УМК.

3.Перечислите последовательность действий оператора при выполнении команд ПРОСМОТР и МОДИФИКАЦИЯ СОДЕРЖДИМОГО ЯЧЕЙКИ ПАМЯТИ, ПРОСМОТР И МОДИФИКАЦЯ СОДЕРЖИМОГО РЕГИСТРОВ.

4.Перечислите последовательность действий оператора при выполнении команд С1АРТ ПРОГРАММЫ и ЗАПОЛНЕ­ НИЕ МАССИВА ПАМЯТИ.

5.Перечислите последовательность действий оператора при выполнении команд ПОДСЧЕТЫ КОНТРОЛЬНОЙ СУММЫ и ПЕРЕМЕЩЕНИЕ МАССИВА ПАМЯТИ.

6.Объясните, как обеспечить работу УМК в пошаговом режиме.

Лабораторная работа № 2

ИЗУЧЕНИЕ КОМАНД РАБОТЫ С РЕГИСТРАМИ МИКРОПРОЦЕССОРА И ПАМЯТЬЮ

1. ОБЩИЕ УКАЗАНИЯ

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

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

Используемое оборудование

Учебный микропроцессорный комплект на базе ЮР 580ВМ80А (УМК).

2. ДОМАШНИЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ

2.1. Ознакомьтесь с языком программирования и структу рой команд загрузки регистров, команд пересылки и команд работы с памятью МП БИС КР580ИК80. Приложение 1. /1, 2/.

13

2.2. Составьте на АССЕМБЛЕРе и в машинных кодах пр грамму загрузки регистров общего назначения А, В, С, Б, Е, Н, Ь соответственно числами 1,2, 3,4, 5 ,6 ,7 Н. ;

Для выполнения задания необходимо использовать коман­ ды загрузки регистров общего пользования, общий вид кото­ рых МУ1 Я, В, где Я - идентификатор регистра: Б, В, С, Б, Е, V, Ь; В ~ непосредственный операнд, байтовое число.

Для примера составим программу записи числа 5 в регист­

ры А, В.

 

 

 

Адрес

Команда

Машинный код

Комментарий

800

MVI А, 5

ЗЕ 05

Загр.рег. А -= 05Н

802

MVI В, 5

06 05

Загр.рег. В ==05Н

2.3. Составьте программу загрузки для регистров ВС, DE, HL соответственно 16-разрядными данными 2122Н, 222ЗН, 2324Н.

Для выполнения задания необходимо использовать коман­ ды манипуляции 16-разрядными данными, общий вид которых Lxl R, BHBL, где R - идентификатор регистра: В, D, Н;

ВН - старший байт 16-разрядного операнда; BL - младший байт 16-разрядного операнда.

Для примера составим программу записи числа 4856 в па­ ры регистров ВС й DE.

Адрес

Команда

Машинный

Комментарий

 

 

код

 

805

Lxl В, 4856

01 56 48

Загр.пары per. ВС=4856

808

Lxl D, 4856

11 56 48

Загр.пары per. DE=4856

2.4. Составьте программу загрузки регистра указателя сте­ ка и счетчика команд данными 0891Н, 0924Н, 09АСН. Задание

14

по загрузке регистра указателя стека выполнить двумя спосо­ бами с использованием команды непосредственной загрузки

Ь х IБР, ВНВЬ,

где ВНВЬ - значение операнда; ВН - старший байт; ВЬ - младший байт

и с использованием команды косвенной загрузки БРНЬ. В пер­ вом случае программа загрузки числа ОВАЗН будет иметь вид

Адрес

Команда

Машинный

Комментарий

 

 

код

 

810

[З ^ Р , ОВАЗН

31 АЗ ОВ

 

Во втором случае при использовании команды БРНЬ в указатель стека загружается содержимое регистровой пары НЬ. Поэтому, чтобы в указатель стека загрузить, например число 12АЗ, его предварительно надо загрузить в регистровую пару НЬ.

Адрес

Команда

Машинный

Комментарий

 

 

код

 

815

1>1Н, 12АЗ

21 АЗ 12

Загр.НЬ =12АЗН

818

, 8РНЬ

Р9

Загр. 8Р = НК

Для записи числа в счетчиках команд необходимо исполь­ зовать команду РСНЦ по которой в счетчик команд записыва­ ется содержимое пары регистров НЬ, например

15

Ад­

Команда

Машинный

рес

 

код

81А

Lxl Н, ОВАЗ

21 A3 OB

81D

PCHL

Е9

Комментарий

Загр.НЕ = ОВАЗ : Загр.сч. команд PC=HL. Перех. на адрес ОВАЗ.

2.5. Составьте программу перехода числа АА из аккумул тора А последовательно в регистры В, С, Б, Е, Н, Ь.

Для выполнения задания используются команды пересыл­ ки, общий вид которых

МОУ 111,112,

где Ш - идентификатор регистра получателя А,В,С, О, Е, Н, Ь; Д2 - идентификатор регистра источника:А, В,С, Б, Е, Н, Ь. Например, программа пересылки числа 22 из аккумулято­

ра в регистры В, С будет иметь вид

Адрес

Команда

Машинный

Комментарий

 

 

код

 

820

MVI А,22

ЗЕ 22

Загр.рег. А = 22

822

MOV В,А

47

Пересылка В <—А

823

MOV С,В

48

Пересылка С <- В

2.6. Составьте программу загрузки числа 55Н в ячейки па мяти с адресами 900, 901, 902, 903.

Существуют две команды непосредственной записи в па­ мять: STA AHAL запись в память по непосредственному адре­ су AHAL содержимого регистра А, SHLD AHAL запись в па­ мять содержимого регистровой пары HL, причем по адресу AHAL будет записано содержимое регистра L, а по адресу AHAL+I будет записано содержимое регистра Н, например

16

Адрес

Команда

Машинный

Комментарий

 

 

код

 

810

STA 910Н

32 10 09

Запись в память сод.

 

 

 

per. А по адресу 910Н

815

SHLD

22 10 09

Запись в память сод.

 

91ОН

 

per. L по адресу 9ЮН,

 

 

 

сод.рег.Н по адресу 911

2.7. Составьте программы загрузки регистров D, С, D, Е, Н, L числами соответственно 01, 02, 03, 04, 05, 06, используя команды чтения из памяти LDA ARAL - чтение памяти по не­ посредственному адресу AHAL в регистр А и LHLD AHAL - чтение памяти по непосредственному адресу AHAL в регист­ ровую пару HL. При этом в регистре L будет записано содер­ жимое ячейки с .адресом AHAL , в регистре Н содержимое ячейки с адресом AHAL+1. Например, программа чтения в ре­ гистры А, Н, L содержимого ячеек памяти 860Н, 870Н и 871Н будет иметь вид

Ад­

Команда

Машин­

Комментарий

рес

 

ный код

 

810

LDA 860Н

ЗА 60 08

Чтение в рег.А содержи­

 

 

 

мого ячейки с адр. 860Н

813

LHL D870H

2A 70 08

Чтение в per. L сод. ячей­

 

 

 

ки с адр. 870Н, в рег.Н

 

 

 

сод. ячейки с адр. 871Н

2.8. Составьте программы записи и чтения содержимого регистров А, В, С,Б, Е, используя команды чтения/записи па­ мяти при адресации через регистровую пару НЕ. Общий вид команды:

МОУ М, К - запись в память содержимого регистра; МОУ Я, М - загрузка регистра из памяти, где Я - регистр общего пользования: А, В, С, Ь, Е.

17

При составлении программы надо иметь в виду, что пред­ варительно необходимо записать в регистровую пару HL адрес ячейки памяти, в которую производится запись-чтение дан­ ных. Например, программа записи в ячейки памяти с адресом 900Н содержимого регистра А будет иметь вид

Адрес

Команда

Машинный

Комментарий

 

 

КОД

 

800

L*I Н, 900Н

21 00 09

загр. HL=900H, адр.М

803

MOV М, А

77

ЗП. М=А, по адр. HL

Программа чтения данных из ячейки памяти с адресом

900Н в регистр А будет иметь вид

 

Адрес

Команда

Машинный

Комментарий

 

 

код

 

800

Lxl Н, 900Н

21 00 09

загр. HL=900H, адр.М

803

MOV А, М

Чт. А=М по адр.НЬ

3. ЛАБОРАТОРНЫЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ

3.1.Запишите в память программу загрузки регистров об­ щего пользования А, В, С, О, Е, Н, Ь соответственно числам 1, 2, 3, 4, 5, 6, 7, Н. Выполните эту программу, используя коман­ ду СТ. Используя команду ПРОСМОТР и-МОДИФИКАЦИЯ РЕГИСТРОВ, просмотрите содержимое регистров общего на­ значения.

3.2.Запишите в память программу загрузки пар регистров ВС, ЭЕ, НЬ соответственно 16-разряднымй данными 2122Н, 2223Н, 2324Н. Выполните эту программу и проверьте пра­ вильность записи данных в регистры общего назначения.

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]