Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания_MPT.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
894.98 Кб
Скачать

Лабораторна робота №3

Тема «Команди арифметичних і логічних операцій».

Мета роботи: Отримати навики обробки масиву кодів, розташованих в адресному просторі: CSEG, DSEG і XSEG.

В результаті виконання роботи студент повинен:

- знати команди арифметичних і логічних операцій, способи читання кодів в адресних просторах CSEG, DSEG і XSEG;

- вміти програмувати і відладжувати задачі обробки масиву кодів за допомогою команд арифметичних і логічних операцій.

Завдання до лабораторної роботи

Нехай в пам'яті програм починаючи з комірки ADR2, розташована таблиця кодів довжиною N ( Xi, i=1,2...,N, формат - байт).

Записати в кодах МК К1816ВЕ51 програму, яка виконує обчислення заданої функції над цими кодами. Результат обчислень розмістити в регістрі R3 і R4. Програма повинна починатися з комірки ADR1. Варіанти завдань наведено в табл. 3. У варіантах завдань 14, 15, 30 рекомендується читання поточного коду виконувати за допомогою інкременту регістра DPTR і скидання акумулятора А.

Зміст звіту:

- тема, мета і завдання по лабораторній роботі;

- алгоритм дій у вигляді блок-схеми;

- розрахунок початкових умов;

- текст програми з поясненням;

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

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

1. Які дії виконують команди арифметичних операцій?

2. Які дії виконують команди циклічного зсуву?

3. Які дії виконують команди логічних операцій?

4. Чи є такі логічні операції, що виконуються тільки з використанням акумулятора?

5. С якими числами працює АЛУ МК51?

6. Як виконуються операції складання і віднімання з урахуванням знака операнда?

7. Де і як розташовується результат виконання операції ділення і множення?

8. Написати програму знаходження суми кожного другого коду блоку даних розташованих в DSEG, XSEG,CSEG, за адресою ADR0 завдовжки N байтів.

9. Який код знаходитиметься в акумуляторі в результаті виконання програми:

MOV А #95

MOV R1 #4C

AAD A,@R1

10. Написати програму очищення комірок в пам'яті DSEG, XSEG, починаючи з ADR0 до ADR1.

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

Таблиця 3  Варіанти завдань до лабораторної роботи

Номер

ADR1

ADR2

N

Функція F

01

714

431, CSEG

E

Сума(XiXn)/N

02

62F

541, XSEG

F

Max(Xi)/N

3

345

25, DSEG

А

Min(Xi)/N

04

53E

621, CSEG

D

(Кіль-ть непарних кодів)/X1

05

44A

711, XSEG

C

Сума(Xi>X5) OR X1

06

355

12, DSEG

B

Max(Xi з Xi.7=0) OR X1

07

266

236, CSEG

А

(Кільть парних кодів)/Xn

08

177

345, XSEG

6

Min(Xi з Xi.7=1) OR X1

09

78A

45, DSEG

7

(Кіль-ть за Min(Xi)) OR N

10

69D

568, CSEG

F

Сума(Xi з парними кодами) AND X1

11

5AF

677, XSEG

E

Max(Xi з парними індексами) AND X1

12

4BA

71, DSEG

5

Min(Xi з непарними індексами) AND X1

13

3C9

231, CSEG

6

Сума(Xi  X1)OR Xn

14

2D8

3A1, XSEG

7

Max(Xi) і ADR Max

15

1E4

4B, DSEG

8

Min(Xi) і ADR Min

16

7F5

5C2, CSEG

8

(Max(Xi) - Min(Xi)) OR X1

17

6E6

6D2, XSEG

9

Сума(XiX1) XOR X1

18

5A1

6E, DSEG

F

Max(Xi) XOR X1

19

4D3

1F2, CSEG

А

Min(Xi) XOR X1

20

3C8

2E2, XSEG

B

Сума(Xi з парними індексами) AND Xn

21

26F

4D, DSEG

З

Max(Xi) AND Xn,Xiпарне

22

4BE

782, CSEG

D

Min(Xi) AND Xn,Xiнепарне

23

3CA

232, XSEG

E

(Кіль-ть Xi > X1) OR Xn

24

2D3

32, DSEG

F

Суму(Xi < X1) OR X1

25

1E7

4B2, CSEG

8

Кіль-ть кодів за Max(Xi)

26

7F3

5C2, XSEG

8

(Кіль-ть Xi)=0 AND Xn, Хі  парне

27

6E5

5D, DSEG

9

Сума(Xi) OR Xn, Хі  непарне

28

4C9

331, CSEG

A

Кільть (Xi з Хі.7=0) OR Xn

29

1D8

4A1, XSEG

7

Кільть (Xi з Хі.7=1) OR Xn

30

3E4

52, DSEG

9

ADR Max(Xi)