Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ (украинская) ДРУК.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.86 Mб
Скачать

6. Лабораторна робота № 5. Стекова організація пам'яті і робота із стеком

Мета роботи

Ознайомиться із стековою організацією пам'яті, і навчитися працювати із стеком.

Загальні відомості

У обчислювальній техніці широко використовується стекова організація оперативної пам'яті, яка працює за алгоритмом: останній прийшов – перший вийшов.

У мікропроцесорі Intel-8080 для стекової організації пам'яті виділений спеціальний 16-розрядний регістр (покажчик стека). Завантаження в стек і вивантаження із стека проводиться 16-розрядними числами, для передачі і прийому яких використовуються регістрові пари (НL), (BC), (DE), а також (PSW), яка включає акумулятор і регістр стану.

Стекова пам'ять може бути організована в будь-якій ділянці ОЗП, шляхом завантаження в покажчик стека (SP) відповідної адреси (верхівки стека). Для завантаження покажчика стека використовується команда:

LXI SP, <B3B2>, де третій і другий байт команди, в яких

знаходиться адреса ОЗП (верхівки стека).

Завантаження стека проводиться завжди у бік молодших адрес, а вивантаження – у бік старших.

Для завантаження стека використовуються команди:

PUSH B, PUSH D, PUSH H, PUSH PSW.

Вміст 16-розрядної регістрової пари зберігається на дідянці ОЗП, на яку указує покажчик стека SР, тобто в комірках з адресами (SР)–1 – старший байт і (SР)–2 – молодший байт.

Для вивантаження стека використовуються команди:

POP B, POP D, POP H, POP PSW

16-розрядна регістрова пара завантажується вмістом верхівки стека, тобто комірок ОЗП з адресами (SP) і (SP)+1 (покажчик стека потім знову збільшується на 1).

Порядок виконання роботи

Увімкнути ПЕВМ. Увійти до робочого середовища Windows під своїм паролем. Для запуску емулятора завантажте програму k120.bat з директорії c:\Program files\int8080.

Виконати наступні обов'язкові завдання

Завдання 5.1. Написати програму для вирішення такого завдання:

(6.1)

Розрахувати суму масиву А, ОЗП, що складається з десяти чисел і розташованого в комірках (2110)…(2119). Лістинг програми з докладними коментарями приведений в таблиці 6.1.

Результат роботи програми показати викладачеві.

Таблиця 6.1

Адреса

Код

Мітка

Мнемоніка

Коментар

2200

31 10 21

LXI SP, 2110H

2100H→(SP)

2203

06 05

MVI B, 05H

C5H→(B)

2205

AF

XRA A

(A)=0

2206

D1

L1:

POP D

(SP)(SP+1)→(DE)

2207

82

ADD D

(A)+(D)→(A)

2208

83

ADD E

(A)+(E)→(A)

2209

05

DCR B

(B)-1→(B)

220A

C2 06 22

JNZ L1

якщо (B)>0→L1

220D

32 00 21

STA 2100H

(A)→(2100)

2210

76

HLT

зупинення

Завдання 5.2. Самостійно написати програму для вирішення математичного виразу згідно варіанту (таблиця 6.2).

Де Ai – масив, що складається з десяти чисел, розташованого в межах ОЗП (2110)…(2119).

Таблиця 6.2

варіанту

Завдання

1

Знайти суму

2

Обнулити всі елементи масиву до максимального

3

Знайти суму

4

Знайти суму

5

Знайти номер першого елемента масиву що дорівнює нулю

6

Знайти номер першого парного елемента

7

Знайти максимальний елемент масиву

8

Знайти мінімальний елемент масиву

9

Знайти суму максимального і мінімального елементів масиву

10

Знайти суму першого і максимального елементів масиву

11

Знайти суму першого і мінімального елементів масиву

12

Знайти суму

13

Знайти номер першого непарного елемента масиву

14

Знайти суму

де - максимальний елемент масиву

15

Знайти суму

де - мінімальний елемент масиву

Продовження таблиці 6.2

16

Знайти кількість непарних елементів масиву

17

Знайти кількість парних елементів масиву

18

Знайти кількість елементів масиву рівних 15Н

19

Знайти суму

20

Парні елементи масиву поділити на 2, а непарні - помножити на 2

21

До парних елементів масиву додати 10, а до непарних 13

22

Усі елементи масиву що дорівнюють нулю замінити на максимальний

23

Максимальний і мінімальний елементи масиву поміняти місцями

24

Знайти суму парних елементів масиву

25

Знайти суму непарних елементів масиву

26

Знайти суму елементів розташованих за парними адресами

27

Знайти суму елементів розташованих за непарними адресами

28

Від парних елементів масиву відняти 25, а до непарних – додати 15

29

Максимальний елемент масиву розділити на мінімальний

30

Знайти кількість елементів між мінімальним і максимальним

Зміст звіту

Тема, мета роботи.

Лістинги програм написаних самостійно і перевірка.

Висновки.

Контрольні запитання

Як встановлюється верхівка стека.

Як реалізується завантаження інформації в стек.

Як реалізується вивантаження інформації із стека.

Який метод адресації використаний при роботі із стеком.

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