Ім'я файлу: Лабораторна робота №7 ПР (2).DOCX
Розширення: docx
Розмір: 32кб.
Дата: 02.12.2020
скачати

ЛАБОРАТОРНА РОБОТА № 7

Тема: пам’ять учбової мікропроцесорної лабораторії, дослідження виконання програм в покроковому i автоматичному режимах


Мета: навчитися здійснювати введення програми і її виконання в автоматичному i покроковому режимах.

КОРОТКА ІНФОРМАЦІЯ


В мікропроцесорних ЕОМ використовуються нуль- i одноадреснi команди, в яких разом з кодом операції (КОП) передається або адреса операнда або операнд відсутній. В останньому випадку операнд вже є розміщений в одному з регістрів i його місцезнаходження закодоване в КОП. Крім адреси, разом з КОП може передаватись безпосередньо операнд (безпосереднє дане), необхідний для виконання цієї команди. Формати команд i КОП для різних мікропроцесорів різні. Розглянемо різновиди команд МП КР580ик80.

Передачі КОП, адрес i безпосередніх даних з пам’яті здійснюється по 8-бітній шині. Адреса має 16 двійкових розрядів (бітів), тому передача адреси здійснюється двома однобайтними словами. Безпосереднє дане i КОП має по 8 біт i передається кожне одним словом (байтом). З урахуванням сказаного МП мікролабораторії оперує з командами трьох форматів (рис. 2.1).


КОП













Б1














КОП

Безпосередньо дане або адреса ПВВ




Б1




Б2








КОП




Безпосередньо адреса або 2-байтне дане

Б1




Б2




Б3


Рис. 2.1. Формати команд МП КР580ВМ80А

(КОП — код операції; Б1, Б2, Б3 — 1-ий, 2-ий та 3-ій байти команди відповідно; ПВВ — пристрій введення / виведення).

Програма послідовно команда за командою розмащується у вічках пам’яті. У зв’язку з різними форматами команд вони можуть займати від одного до трьох сусідніх адрес. Мiкропрограмний пристрій керування МП за зчитаним КОП, визначає, скільки ще байтів необхідно для повного зчитування команди, i здійснює цю процедуру, автоматично збільшуючи адресу на шині на одиницю при кожному звертанню до ЗП. Після закінчення виконання поточної команди збільшується вміст програмного лічильника (РС) на одиницю, тобто вміст РС показує адресу КОП наступної команди. Команди безумовного переходу i переходу до підпрограм закінчуються занесенням в РС адреси переходу. При виконанні умовних переходів адреса переходу в РС завантажується при виконанні умови, що перевіряється.

Якщо в трибайтній команді міститься адреса або двобайтне дане, наприклад 1284, то молодші дві цифри складають В2, а старші дві цифри – В3 коду команди. Про це необхідно пам’ятати при складанні програми в кодах i при аналізі виконання програми в покроковому режимі.

Так як КОП, адреса i дані кодуються однаково, важливим елементом роботи мiкро-ЕОМ є пуск програми з правильної початкової адреси, яка повинна вказувати на байт В1 (КОП) першої команди програми, інакше зчитаний байт (це може бути один з байтів адреси або безпосередньо операнд) буде інтерпретований МП як код деякої команди i вона буде виконана. Ймовірність правильного виконання програми користувачем при цьому дорівнює нулю.

Для розміщення програм в пам’яті необхідно знати фактичні області адрес, доступні для читання (ПЗП) i двонапрямленої передачі (ОЗП). Пам’ять мікролабораторії розміщена в областях адресного простору (рис. 2.2).

Адреса

Ємність пам’яті

ПЗП / ОЗП

Призначення

FFFF8400

31 K




Невикористовувана область

83FF83C7

57

ОЗП

Робоча область монітору

83C68000

967

ОЗП

Область користувача

7FFF0600

30,5 K




Невикористовувана область

05FF0400

512

ПЗП

Область користувача

03FF0300

256

ПЗП

Додаткова область монітору

02FF0000

768

ПЗП

Область монітору

Рис. 2.2. Карта пам’яті мікро лабораторії

Очевидно, що програма користувача, яка знаходиться на етапі вiдлагодження, може бути розміщена тільки в ОЗП в області адрес з 8000 до 83С6. Наступні 57 вічок ОЗП також програмно доступні, але вони використовуються монітором мікролабораторії для спеціальних цілей. Якщо не передбачується робота з монітором, то ці вічка можуть бути відведені під команди програми користувача. Підготовлена до виконання програма може бути перезаписана в ПЗП. При цьому необхідно пам’ятати, що перенос програми із однієї області пам’яті в іншу супроводжується зміною адрес команд переходів i iдентифiкаторiв, тому переміщення програми при ручному програмуванні пов’язане з можливістю виникнення непередбачених помилок. Запис в ПЗП (ППЗП в цьому випадку) може бути здійснений тільки на зовнішньому устаткуванні.

Для правильного кодування i декодування команд необхідна таблиця кодів операції, за допомогою якої легко прослідкувати за виконанням програми.

Завантаження програми здійснюється за вже знайомою послідовністю дій в ОЗП мікролабораторії (лаб. роб. № 1). Якщо програма буде виконуватись в автоматичному режимі, то перемикач «ШАГ–АВТ» треба встановити в положення «АВТ». Після занесення програми в пам’ять, необхідно на ІАР встановити пускову адресу. Для виконання програми треба натиснути кнопку «Пуск».

Для ознайомлення з можливостями мікролабораторії доцільно скористатись демонстраційною програмою, що записана в ПЗП, починаючи з адреси 0300.

В иконання програми в покроковому режимі здійснюється під керуванням монітору при встановленні перемикача «ШАГ–АВТ» в положення «ШАГ». Кожне натискання на кнопку «Пуск» буде спричиняти виконання чергової команди i зупинці. Цей режим є зручним при відлагоджуванні програм, керування периферійним устаткуванням, оскільки дозволяє проводити модифікацію i нове виконання програми, а також переглядати вміст регістрів МП.

Програма, алгоритм якої показаний на рис. 2.3, містить дві команди: перша (NOP) — не вносить ніяких змін в стан МП i системи; друга (JMP <адреса>) — безумовний перехід на адресу першої команди. Команда NOP - однобайтна, її код — 16-кове число 00. Друга команда - трьохбайтна, її код - C3. Другий i третiй байт цiєї команди є адреса переходу. На символьній мові Асемблера програма має вигляд:

BEG : NOP


JMP BEG

Мітка BEG є позначення на мові Асемблера адреси переходу, тобто адреса команди NOP. Пускову адресу програми встановимо 8000 (адреса першого вічка ОЗП користувача). Програма в кодах МП – на рис. 2.4.

Адреса

Вміст

Команда

8000

00

BEG: NOP

8001

С3

JMP BEG

8002

00




8003

80




Рис. 2.4. Розміщення учбової програми за рис. 2.3. в пам’яті МП.

Послідовність чотирьохзначних адрес — це адреси вічок ОЗП, а вміст — складові кодів команд i адрес переходу, що записані за цими адресами. Розташування байтів даних для команд довжиною в 2 i 3 байта в такій формі утруднює читання великих програм, тому їх записують в іншій формі:


8000

00

BEG:

NOP

8001

C3 00 80




JMP BEG

8004










Якщо б у програмі була ще одна команда, то в стовпці адрес їй би відповідала адреса 8004.

Виконання цієї програми в покроковому режимі при спостеріганні за ІАР та ІРД ілюструє механізм взаємодії МП, пам’яті i системи.
ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ


  1.  Включити живлення мікролабораторії. Натиснути кнопку «Сарос».

  2.  Занести в ІАР початкову адресу демонстраційної програми 0300. Натиснути кнопку «Пуск». Для зупинки програми натиснути кнопку «Сарос».

  3. Занести в пам’ять, починаючи з адреси 8000 учбову програму, що розглянута в теоретичному роздiлi. Двічі виконати її цикли в покроковому режимі. Результати індикації занести в табл. 2.1.

Таблиця 2.1. Результати індикації.

ІАР

ІРД







  1.  Пояснити вміст регістрів ІАР та ІРД.

  2.  Занести в ІАР початкову адресу області ПЗП, відповідний вашому варіанту (табл. 2.2), виконати читання вічок пам’яті до вказаної кінцевої адреси. Результати занести в перші два стовпчика («Адреса ПЗП» і «Вміст») таблиці 3.1.

  1. Здійснити декодування прочитаних кодів i відновити текст програми, зчитаної із заданої області пам’яті. Записати текст програми, оформлений згідно з наведеними в теоретичному роздiлi правилам. Після декодування виконати отриману програму в покроковому режимі i прослідкувати за виконанням команд. Оскільки в числі команд, що виконуються є команди умовних i безумовних переходів, переходів до підпрограм i повернень з них за умовою, то у випадку неочікуваної зміни адреси необхідно повернутись до вихідної програми через введення адреси наступної за програмою команди.

  2. Зробити короткі висновки по роботі.


Таблиця 2.2. Варіанти індивідуальних завдань

Варіант

Адреси

ПЗП

Варіант

Адреси

ПЗП

Варіант

Адреси

ПЗП

1

003B-0065

11

0135-0155

21

0259-027D

2

0040-0082

12

014F-0172

22

0269-028D

3

0084-00B7

13

0162-0187

23

027C-029D

4

009D-00CF

14

0179-01A9

24

0293-02BA

5

00B8-00E6

15

0194-01BA

25

02AB-02CF

6

00CC-00F4

16

01AD-01CF

26

02C5-02E9

7

00DE-00FF

17

01C0-01DC

27

02D7-02F3

8

00EA-010B

18

01F9-021E

28

0300-0328

9

0100-0126

19

0211-0236

29

0329-0343

10

011C-0141

20

022A-0258

30

0350-0389


КОНТРОЛЬНІ ПИТАННЯ


  1. Яка інформація може міститись у другому i третьому байті команди?

  2. Порядок дій при пуску програми в автоматичному i покроковому режимах.

  3. Охарактеризувати послідовність дій стосовно виконання одно-, двох- i трьохбайтної команд.

  4. Що відбудеться, якщо пуск програми здійснити не з B1 першої команди, а, наприклад, з B2 або з B3?

  5. Якщо в покроковому режимі виконання програми відбувся перехід до підпрограми, то як, не виконуючи підпрограми, повернутись в точку повернення? Якщо виконати таке повернення, то чи вірний буде результат програми?

  6. Перша команда демонстраційної програми записана за адресою 0300. Однак, якщо програму запустити на виконання з адреси 0330, то ніяких змін в її роботі спостерігатись не буде. Яка команда є першою в цій програмі.

скачати

© Усі права захищені
написати до нас