Министерство образования и науки Украины

Севастопольский национальный технический университет

Кафедра автоматизации

технологических

процессов и производств

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине «Микропроцессорная техника»

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

Исследование функциональных возможностей встроенного монитора учебного

микропроцессорного комплекта.

для студентов специальностей 7.09025

«Автоматизация и компьютерно-интегрированные технологии»

дневной и заочной формы обучения

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

и утверждены на заседании кафедры

АТПП протокол N от 2003г.

Севастополь

2003

В методическом указании рассмотрены функциональные возможности встроенного монитора учебного микропроцессорного комплекта, построенного на базе микропроцессора серии КР580.

Методические указания предназначены для студентов направления подготовки 6.0925.

Образовательно-квалификационный уровень-бакалавр.

Методические указания разработал доцент

1.Цель и задачи работы.

Цель:- ознакомиться с программой "монитор" УМК.

Задачи-изучить директивы программы "монитор" УМК, научиться пользоваться УМК для разработки и выполнения программ.

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

1. Подготовить УМК к работе (п.3).

2. Изучить форматы всех директив программы «монитор» УМК.

3. Изучить и выполнить индивидуальное задание.

4. Разработать отчет по лабораторной работе.

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

3.Подготовка микро-ЭВМ к работе.

1. Открыть крышку чемодана.

НЕ нашли? Не то? Что вы ищете?

2. Установить кнопку" ~ " в отжатое состояние.

3. Подключить микро-ЭВМ к сети переменного тока.

4. Включить микро-ЭВМ, нажав кнопку" ~ ".

5. Нажать кнопку "СБ". В крайней левой позиции дисплея появится знак "-". Лабораторная установка готова к работе.

Повторное включение микро-ЭВМ можно производить не ранее чем через 30 с.

после выключения. При заполнении программы допускается использовать адреса в пределах 0800-0ВС9.

4. Индикация и изменение содержимого оперативного

запоминающего устройства (ОЗУ).

Режим исследования и модификация содержимого памяти УМК осуществляется нажатием директивной клавиши "П". Выполнение директивы общения с памятью ведется в диалоговом режиме.

Последовательность выполнения команд при исследовании содержимого ячейки памяти с заданным (желаемым) адресом:

а) нажимается клавиша "П"; знак "-" в левой крайней позиции исчезает;

б) последовательным нажатием информационных клавиш вводится шестнадцатеричный адрес первой из исследуемых ячеек памяти (доступные адреса ОЗУ от 0800 до 0ВС9), по мере нажатия клавиш на дисплее на четырех левых индикаторах высвечиваются цифры, соответствующие адресу ячейки памяти ОЗУ; (при неверном наборе адреса ячейки памяти необходимо продолжить набор требуемого адреса, на дисплее зафиксируются последние четыре из набираемых цифр адреса);

в) нажимается директивная клавиша "└─┘" (пробел), на двух правых индикаторах (5-м и 6-м ) индуцируется в шестнадцатеричном коде содержимое ячейки памяти, адрес которой обозначен на левых четырех (1...4) индикаторах дисплея;

г) для исследования содержимого последующих по возрастанию адреса, ячеек памяти, нажимается клавиша "└─┘", каждое нажатие клавиши "└─┘" выводит на дисплей в шестнадцатеричном коде адрес следующей ячейки памяти ОЗУ (в четырех левых разрядах дисплея );

д) при необходимости изменения содержимого в шестнадцатеричном коде вводится новое содержимое ячейки памяти, замена индицируется на 5-м и 6-м индикаторах дисплея; для фиксации нового содержимого необходимо нажать клавишу "└─┘", это фиксирует новое содержимое ячейки памяти и вызывает переход к следующей ячейке памяти, индикацию ее адреса (1...4 индикаторы) и ее содержимого (5 и 6 индикаторы );

е) если необходим переход к следующей ячейке памяти без изменения ее содержимого, нажимается клавиша "└─┘";

ж) если необходимо прекратить исследование и модификацию содержимого памяти, нажимается клавиша "ВП".

Пример: Исследовать содержимое ячеек памяти с адресами 0804; 0805; 0806; 080С; 08АВ и записать в ячейку памяти 08AC число 2С.

Последовательность нажатия клавиш и выдачи сообщения на дисплее приведена в таблице 1.

Таблица 1.

Нажимаемая клавиша

Индикаторы дисплея

Комментарий

1

2

3

4

5

6

СБ

_

Сброс

П

_

Вызов директивы работы с памятью

0

8

0

4

└─┘

0

0

0

8

8

0

8

0

0

0

8

0

4

4

С*

3*

Индикация содержимого ячейки памяти 0804 (в ячейке памяти 0804 записано число С3)

└─┘

0

8

0

5

4*

6*

Индикация содержимого ячейки памяти 0805 (в ячейке памяти 0805 записано число 46)

└─┘

0

8

0

6

А*

7*

Индикация содержимого ячейки памяти 0806 (в ячейке памяти 0806 записано число А7)

ВП

_

Конец директивы

П

_

Вызов директивы работы с памятью

0

8

0

С

└─┘

0

0

0

8

8

0

8

0

0

0

8

0

С

С

2*

d*

Индикация содержимого ячейки памяти 0804 (в ячейке памяти 080C записано число 2D)

ВП

_

Конец директивы

П

_

Вызов директивы работы с памятью

0

8

А

B

└─┘

0

0

0

8

8

0

8

A

A

0

8

A

B

B

b*

4*

Индикация содержимого ячейки памяти 08AB (в ячейке памяти 08AB записано число B4)

└─┘

0

8

A

C

2

F

Индикация содержимого ячейки памяти 08AC (в ячейке памяти 08AC записано число 2F)

A

E

0

0

8

8

A

A

C

C

F

A

A

E

Модификация (изменение) содержимого ячейки памяти 08AC (в ячейке памяти 08AC необходимо записать число AE)

ВП

_

Конец директивы

Формат директивы работы с памятью: СБ П адр └─┘……ВП

5.Идентификация и изменение содержимого регистров.

Идентификаторами регистров являются символы, определяющие регистры микропроцессора (табл.2).

Таблица 2.

Идентификатор

Клавиша

Наименование и разрядность регистра

A

A

A - (8 бит) аккумулятор

B

B

B - (8 бит)

C

C

C - (8 бит)

D

D

D - (8 бит)

E

E

E - (8 бит)

H

8/H

H - (8 бит)

L

9/L

L - (8 бит)

F

F

F - (8 бит) –регистр флагов

SPL

7/SL

- (8 бит) – младший байт указателя стека

SPH

6/SH

- (8 бит) – старший байт указателя стека

PCL

5/PL

- (8 бит) – младший байт счетчика команд

PCH

4/PH

- (8 бит) – старший байт счетчика команд

Процедура индикации содержимого или состояния регистров используется при пошаговой отладке программы. В частности, когда на определенном шаге необходимо установить содержимое интересующего регистра и далее изменения в регистрах по ходу отработки программы. Для индикации содержимого регистра нажимают директивную клавишу "РГ", а затем - информационную с идентификатором соответствующего регистра. В ответ на дисплее высвечивается идентификатор регистра и его содержимое в шестнадцатеричном коде. Для изменения содержимого регистра с помощью информационных клавиш набирают его новое требуемое значение. В качестве нового содержимого регистра фиксируются две последние введенные цифры. После этого нажимают директивную клавишу "└─┘". Информация на дисплее исчезает и можно вводить идентификатор следующего регистра. Если изменять содержимое регистра не нужно, то после нажатия клавиши "└─┘"необходимо нажать клавишу с идентификатором следующего регистра, при этом на дисплее высветится идентификатор следующего регистра и его содержимое в шестнадцатеричном коде. Для завершения директивы необходимо нажать клавишу "ВП".

Пример 2.Необходимо исследовать содержимое всех регистров процессора и записать в регистры B, C,D числа: соответственно FA, 6D, 2E.

Последовательность нажатия клавиш и выдачи сообщений на дисплее приведена в таблице 3

Таблица 3

Нажимаемая клавиша

Индикаторы дисплея

Комментарий

1

2

3

4

5

6

СБ

_

Сброс

РГ

_

Вызов директивы работы с регистрами

A

A

_

A

A

Регистр А очищен

└─┘

Пробел

В

F

A

b

b

b

_

_

_

b

b

F

b

F

A

Регистр B очищен

Запись числа FA в регистр В

└─┘

Пробел

C

6

D

C

C

C

_

_

_

C

C

6

C

6

d

Регистр C очищен

Запись числа 6D в регистр C

└─┘

Пробел

D

2

E

d

d

d

_

_

_

d

d

2

d

2

E

Регистр D очищен

Запись числа 2E в регистр D

└─┘

Пробел

E

E

-

E

E

Регистр E очищен

└─┘

Пробел

H

H

-

H

H

Регистр H очищен

└─┘

Пробел

L

L

-

L

L

Регистр L очищен

└─┘

Пробел

H

H

-

H*

H*

Регистр H очищен

└─┘

Пробел

7/SL

S

P

L

-

B*

C*

Содержимое младшего байта указателя стека

└─┘

Пробел

7/SH

S

P

H

-

1*

F*

Содержимое старшего байта указателя стека

└─┘

Пробел

7/PL

P

C

L

-

F*

B*

Содержимое младшего байта счетчика команд

└─┘

Пробел

7/PH

P

C

H

-

E*

1*

Содержимое старшего байта счетчика команд

└─┘

Пробел

F

F

-

F

F

Регистр F очищен

ВП

-

Конец директивы

Примечания: показания индикаторов, отмеченные *, даны условно. При выполнении процедуры возможно появление других символов.

Формат директивы работы с регистрами: СБ РГ имя регистра └─┘…..ВП

6.Заполнение массива памяти константой.

Директива "ЗК" позволяет заполнить массив указанной области памяти заданной константой. Требуемая область памяти задается начальным (АДР.1) и конечным (АДР.2) шестнадцатеричными адресами (напоминаем, доступные адреса ОЗУ от О8ОО до ОВС9).

Формат директивы: СБ ЗК АДР1 └─┘ АДР2 └─┘ "константа" ВП.

Для заполнения массива памяти константой необходимо:

а)-нажать кнопку "СБ"

(в первом разряде индикатора дисплея появится знак "-");

б)-нажать кнопку "ЗК" (знак "-" исчезает);

в)-с помощью информационных клавиш набрать начальный адрес массива (АДР 1), он индицируется на 1...4 индикаторах дисплея ;

г) нажать клавишу "└─┘" (адрес АДР 1 исчезает);

д) с помощью информационных клавиш набрать конечный адрес массива (АДР 2), он индицируется на 1...4 индикаторах дисплея;

е) нажать клавишу "└─┘" (АДР 2 сохраняется);

ж) с помощью информационных клавиш набрать значение константы;

з) нажать клавишу "ВП".

Пример 3. Загрузить константой А2 массив памяти с начальным адресом О8ОО и конечным адресом О81О. Последовательность нажатия клавиш и выдачи сообщений приведена в таблице 4.

Таблица 4.

Нажимаемая клавиша

Индикаторы дисплея

Комментарий

1

2

3

4

5

6

СБ

_

Сброс

ЗК

_

Вызов директивы заполнения константой

0

8

0

0

0

0

8

0

8

0

0

8

0

0

Задание начального адреса 0800 массива (АДР1)

└─┘

Пробел

0

8

1

0

0

0

8

0

8

1

0

8

1

0

Задание конечного адреса 0810 массива (АДР2)

└─┘

Пробел

А

2

0

0

8

8

1

1

0

0

А

А

2

Задание константы А2

ВП

-

Конец директивы

После выполнения директивы "ЗК" с помощью директивы "П" просмотреть область памяти с адресами от 0800 до 0810 и убедиться, что эта область памяти заполнена константой А2.

7.Определение контрольной суммы массива памяти.

Директива "контрольная сумма " вызывается нажатием директивной клавиши "КС" . Контрольная сумма массива представляет сумму содержимых всех ячеек памяти массива по модулю 256 без учета переполнения. После выполнения директивы на дисплее индицируется контрольная сумма массива.

Формат директивы: СБ КС АДР1 └─┘ АДР2 ВП.

Для определения контрольной суммы массива памяти необходимо:

а) нажать клавишу "СБ", на первом индикаторе дисплея появится знак "-";

б) нажать клавишу "КС", знак "-" исчезает;

в) с помощью информационных клавиш набрать начальный адрес (АДР1) массива памяти, на 1...4 индикаторах дисплея последовательно индицируются символы, соответствующие АДР1;

г) нажать клавишу "└─┘", индикация АДР1 исчезнет; адрес (АДР2) массива, контрольная сумма которого, отыскивается. По мере нажатия клавиш идет последовательная индикация символов АДР2;

е) нажать директивную клавишу "ВП", после чего на 5,6 индикаторах дисплея индицируется контрольная сумма массива.

Пример 4. Определить контрольную сумму массива памяти с начальным адресом 0810 и конечным адресом 0830.

Последовательность нажатия клавиш и выдачи сообшений на дисплее приведены в таблице 5.

Таблица 5.

Нажимаемая клавиша

Индикаторы дисплея

Комментарий

1

2

3

4

5

6

СБ

_

Сброс

КС

_

Вызов директивы определения контрольной суммы

0

8

0

0

0

0

8

0

8

1

0

8

1

0

Задание начального адреса 0810 массива (АДР1)

└─┘

Пробел

0

8

1

0

0

0

8

0

8

3

0

8

3

0

Задание конечного адреса 0830 массива (АДР2)

ВП

-

3*

6*

Контрольная сумма массива равна 36.

Конец директивы

Примечания: показания индикаторов, отмеченные *, даны условно. При выполнении процедуры возможно появление других символов.

8.Перемещение массива памяти в адресном пространстве.

Директива перемещения массива вводит микро-ЭВМ в режим перемещения массива памяти в адресном пространстве УМК. Директива вызывается директивной клавишей "ПМ". При выполнении директивы массив памяти, ограниченный начальным (АДР 1) и конечным (АДР 2) адресами включительно, перемещается в область памяти, начиная с адреса АДР 3. Заметим, что пространство начального расположения перемещаемого массива и область его конечного размещения не должны перекрываться. При не выполнении этого условия происходит потеря информации.

Формат директивы: СБ ПМ АДР 1 └─┘ АДР 2 └─┘ АДР 3 ВП.

Для осуществления перемещения массива памяти необходимо нажать директивную клавишу "ПМ" и затем информационными клавишами задать начальный адрес массива АДР 1. Нажать клавишу "└─┘", затем задать конечный адрес перемещаемого массива АДР 2. Вновь нажать клавишу "└─┘" и задать новый начальный адрес АДР 3 перемещаемого массива.

Пример 5. Массив (начальный адрес О82О, конечный адрес О83О) переместить в адресном пространстве ОЗУ, разместив его, начиная с адреса О842.

Директивой режима работы с памятью проверить правильность выполнения.

Последовательность нажатия клавиш и выдачи сообщений на дисплее приведена в табл.6.

Нажимаемая клавиша

Индикаторы дисплея

Комментарий

1

2

3

4

5

6

СБ

_

Сброс

ПМ

_

Вызов директивы перемещения массива в адресном пространстве

0

8

2

0

0

0

8

0

8

2

0

8

2

0

Задание начального адреса 0820 массива (АДР1)

└─┘

Пробел

0

8

2

0

0

0

8

0

8

3

0

8

3

0

Задание конечного адреса 0830 массива (АДР2)

└─┘

Пробел

0

8

4

2

0

0

8

0

8

4

0

8

4

2

Задание начального адреса 0842 нового массива (АДР3)

ВП

-

Конец директивы

9. Директива передачи управления программе пользователя.

Передача управления от монитора программе пользователя осуществляется нажатием клавиши "СТ".

Формат директивы: СТ АДР1 └──┘ АДР2 ВП

При выполнении директивы "СТ" процессор начинает выполнять программу, записанную в ОЗУ, начиная с адреса АДР1, и останавливается при достижении адреса АДР2. В случае успешного выполнения составленной программы на индикаторах дисплея высвечивается конечный адрес программы и символ "-" в шестом индикаторе дисплея.

10. Контрольное задание.

После освоения приемов работы с УМК необходимо выполнить контрольное задание. Номер контрольного задания соответствует последней цифре номера зачетной книжки.

Содержание контрольного задания

1. Исследовать и зафиксировать в отчете содержимое ячеек памяти с адресами от АДР1 до АДР2.

2. Определить контрольную сумму этого массива.

3. Переместить этот массив в новую область памяти ОЗУ начиная с адреса АДР3.

4. Заполнить массив памяти с адреса АДР4 по АДР5 константой К2.

5. Исследовать и зафиксировать в отчете содержимое всех регистров УМК.

6. Заполнить содержимое всех регистров константой К2.

7. Заполнить область памяти начиная с адреса АДР6 последовательностью шестнадцатеричных чисел начиная с числа К3, количество чисел - N.

Исходные данные для выполнения контрольного задания приведены в табл.7.

Таблица 7.

Операнд

Значение операнда (последняя цифра зачетной книжки)

0

1

2

3

4

5

6

7

8

9

АДР1

0800

0810

0820

0830

0840

0850

0860

0870

0880

0890

АДР1

0820

0830

0830

0840

0850

0860

0870

0880

0890

08A0

АДР1

08В0

0840

0850

0860

0870

0880

0890

08A0

08B0

08C0

АДР1

08С1

0900

0950

0B16

0A01

0A27

0A36

0A59

0A61

0932

АДР1

08СА

090А

0958

0B1F

0A0E

0A2D

0A3F

0A60

0A6E

093F

АДР1

0В02

0А11

09А0

0932

09A8

09B6

0972

0999

0A01

0B03

К1

32

3F

16

34

2E

A1

E8

9D

B6

К2

С3

48

4D

27

3B

4C

13

4F

6A

7F

К3

DF

9D

5A

43

1F

A2

6C

16

1B

2C

N

16

12

14

13

15

25

16

21

21

20

10. Состав отчета по лабораторной работе:

-  титульный лист;

-  цель и задачи лабораторной работы;

-  форматы всех директив программы монитор УМК;

-  результаты выполнения индивидуального задания.

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

1. Как подготовить УМК к работе?

2. В какой последовательности необходимо манипулировать клавишами для индикации и изменения содержимого памяти?

3. В какой последовательности необходимо манипулировать клавишами при заполнении массива памяти константой?

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

5. Как нужно действовать, чтобы обеспечить перемещение массива памяти в адресном пространстве?

6. Как передать управление программе пользователя?