
Лабораторна робота № 2
Тема «Циклічна пересилка даних з DSEG і CSEG в RAM».
Мета роботи: отримати навики пересилки масиву кодів із пам'яті програм і пам'яті даних за допомогою команд умовного переходу спочатку DJNZ, а потім CJNE.
В результаті виконання роботи студент повинен:
- знати команди передачі управління, способи організації циклів за допомогою команд умовного переходу DJNZ і CJNE;
- уміти програмувати і відладжувати задачі пересилки масиву кодів.
Завдання до лабораторної роботи:
Нехай у пам'яті CSEG або DSEG, починаючи з комірки ADR2, розташований блок кодів довжиною N.
Записати в кодах КР 1816ВЕ51 програму, яка виконує пересилку даного масиву в RAM, починаючи з адреси ADR3. Програма повинна починатися з комірки ADR1. Вихідні данні знаходяться в табл. 2.
Зміст звіту:
- тема, мета і завдання до лабораторної роботи;
- короткий опис адресних просторів CSEG і DSEG;
- розрахунок початкових умов;
- алгоритм дій у вигляді блок-схеми;
- текст програми з поясненням;
- висновки по роботі.
Контрольні питання і завдання
1. Які є різновиди переходу команд передачі управління залежно від розрядності адреси переходу?
2. Які команди умовного переходу використовуються для організації циклів?
3. Які дії виконуються командами JZ і JNZ?
4. В чому відмінність команди RET і RETI?
5. Які команди використовуються в МК 51 для роботи з підпрограмами?
6. В чому відмінність команди SJMP і AJMP?
7. Написати програму пересилки N кодів, розташованих в пам'яті DSEG, починаючи з адреси ADR1, в порт Р1. Читання даних почати з елемента пам'яті ADR1.
8. Написати програму пересилки N кодів, розташованих в пам'яті СSEG, починаючи з адреси ADR1, в адресний простір DSEG починаючи з ADR2. Читання даних почати з комірки пам'яті ADR1. Програма повинна починатися з ADR3.
9. Чим відрізняються команди JNC і JC?
10. Написати програму очікування збігу інформації на лініях порт Р2 з вмістом комірки CSEG, що розташована за адресою ADR1.
11. Яка команда безумовної передачі управління реалізує непрямий перехід?
12. Опишіть значення бітів регістра стану процесора PSW.
13. Навести фрагмент пам'яті CSEG за вказаною адресою ADR=__ з розташуванням N кодів.
Таблиця 2 – Варіанти завдань до лабораторної роботи:
Номер |
ADR1 |
ADR2 |
N |
ADR3 |
01 |
714 |
431, CSEG |
E |
4F |
02 |
62F |
041, DSEG |
F |
23 |
03 |
53E |
621, CSEG |
D |
45 |
04 |
44A |
011, DSEG |
С |
56 |
05 |
355 |
121, CSEG |
B |
48 |
06 |
266 |
036, DSEG |
А |
4D |
07 |
177 |
345, CSEG |
6 |
4F |
08 |
78A |
054, DSEG |
7 |
3A |
09 |
69D |
568, CSEG |
F |
4C |
10 |
5AF |
077, DSEG |
E |
44 |
11 |
4BA |
781, CSEG |
5 |
23 |
12 |
3C9 |
031, DSEG |
6 |
18 |
13 |
2D8 |
3A1, CSEG |
7 |
4C |
14 |
01E |
072, DSEG |
8 |
5C |
15 |
7E5 |
562, CSEG |
8 |
6F |
16 |
6E6 |
062, DSEG |
9 |
3А |
17 |
5A1 |
7E2, CSEG |
F |
4А |
18 |
4D3 |
06F, DSEG |
А |
5В |
19 |
3C8 |
2E2, CSEG |
B |
4В |
20 |
26F |
052, DSEG |
C |
6В |
21 |
4BE |
782, CSEG |
D |
39 |
22 |
3CA |
032, DSEG |
E |
47 |
23 |
2D3 |
3A2, CSEG |
F |
65 |
24 |
1E7 |
042, DSEG |
8 |
33 |
25 |
7F3 |
5C2, CSEG |
8 |
3D |
26 |
6E5 |
065, DSEG |
9 |
45 |
27 |
1E3 |
2A7, CSEG |
E |
35 |
28 |
E77 |
047, DSEG |
7 |
A5 |
29 |
7D3 |
4C1, CSEG |
B |
2F |
30 |
7A5 |
03A, DSEG |
C |
5C |