Дослідження виконання окремих команд і простих програм мікропроцесора КР580ИК80

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2001
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесорні засоби та системи
Група:
МЕ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти України національний університет Львівська політехніка’ Кафедра електроприводу Лабораторна робота №4 на тему: « Дослідження виконання окремих команд і простих програм мікропроцесора КР580ИК80 » з дисципліни « Мікропроцесорні засоби та ситеми » Львів 2001 Мета роботи: ознайомитися з командами МП КР580ИК80А , дослідити виконання окремих команд Асемблера, вивчити способи адресації , складання , написання та реалізації програм. Програма роботи: 1. Перевірити виконання команд переміщення даних. Для цього задану послідовність команд записати за формою, наведеною в табл..30 для конкретних реєстрів і адрес. Приклад запису програми поданий для перших двох команд. Як видно з прикладу, команди необхідно розмістити в оперативній пам’яті, починаючи з адреси 8200Н, записати їх війкові і шістнадцяткові коди і дати потрібні пояснення. Виконати програму в кроковому режимі (натискаючи клавішу STEP), перевіряючи результати виконання перших трьох команд перевірити вміст реєстрів R1, R2, і R3: MVI R1,D8 MOV R2,R1 MOV R3,R2 LHLD ADR1 SHLD ADR2 LXI D,ADR3 XCHG MOV R,M HLT Адреса 16-й Мнемокод Пояснення  8200 06 MVI B, 3A B3AH (B=3A, REG B - перевірка).  8201 3A    8202 48 MOV C, B СB (C=3A, REG C - перевірка).  8203 79 MOV A, C AC (A=3A, REG A - перевірка).  8204 2A LHLD 0150 L(0150) ,H(0151) (за адресою 0150 чи-сло B2, а за 0151 – C2, відповідно L=B2, a H=C2).  8205 50    8206 01    8207 22 SHLD 8403 (8403) L, (8404) H (за адресою 8403 запишеться B2, а за 8404 - C2).  8208 03    8209 84    820A 11 LXI D,8503 D85, E03 (D=85, E=03).  820B 03    820C 85    820D EB XCHG HD, LE.  820E 46 MOV B, M B(HL) (B=(8503))  820F 76 HLT STOP   2. Перевірити виконання команд керування стеком. Налагодити стек, для чого в реєстр-покажчик стека командою LXI SP B2 B3 занести адресу вершини стека 83ЕОН. Попередньо з клавіатури, користуючись МОНІТОРОМ, занести в реєстрові пари ВС і DЕ будь-які двобаштові операнди. Після цього записати програму, яка складається з команд запису в стек вмісту реєстрових пар ВС і DЕ і читання зі стека, виконати її, контролюючи проміжні результати:LXI SP B2 B3 PUSH B PUSH D (контроль вмісту SР і стека) РОР Н РОР В (контроль вмісту НL, ВС і SР). Адреса 16-й Мнемокод Пояснення  8200 31 LXI SP SP=83E0  8201 E0 833E0   8202 83    8203 C5 PUSH B (SP-1)B, (SP-2)C (83DF)=11, (83DE)=22  8204 D5 PUSH D (SP-3)D, (SP-4)E (83DD)=33, (83DC)=44  8205 E1 POP H L(SP-4), H(SP-3) L=44, H=33  8206 D1 POP D E(SP-2), D(SP-1) E=22, D=11  8207 76 STOP    3. Скласти і дослідити таку програму: налагодити стек 83ЕОН, завантажити в НL двобайтовий операнд, після цього переслати його в стек, додати вміст SP і HL, проконтролювати результати в HL і стека. Адреса 16-й Мнемокод Пояснення  8200 31 LXI SP SP=83E0  8201 E0 833E0   8202 83    8203 21 LXI HL HL=01A0  8204 A0 01A0   8205 01    8206 E5 PUSH H (SP-1)H, (SP-2)L  8207 39 DAD SP HLHL+SP  8208 76  STOP   4. Дослідити програму (табл..31) додавання без перенесення і віднімання без позичання однобайтових операндів (ADR 4), (ADR5), (ADR 6), тобто (ADR4) + (ADR5) – (ADR6), а результат записати за адресою ADR7. Перед виконанням програми з операнди записати в пам’ять з клавіатури. Проконтролювати окремо: результат додавання і вмісту реєстру ознак, віднімання і вмісту реєстру ознак. Програму виконати в кроковому режимі (“ОТЛАДКА”) і автоматичному (“ПРОГОН”). Під час виконання програми в автоматичному режимі замість команди зупинки HLT – код 76Н користуватися командою RST – код Е7Н. Адреса 16-й Мнемокод Пояснення  8200 3A LDA 000B A(000B),A=83, F=56  8201 0B    8202 00    8203 21 LXIH 0130 HL0130, (0130)=CD  8204 30    8205 01    8206 86 ADD M AA+(HL), A=50, F=17  8207 21 LXIH 0101 HL0101, (0101)=CB  8208 01    8209 01    820A 96 SUB M AA-(HL), A=85, F=83  820B 92 STA 8415 (8415) A , (8415)=85  820C 15    820D 82    820E 76 HLT STOP    S Z 0 C1 0 P 1 C  F = 0 1 0 1 0 1 1 0   10000011 +11001101 101010000 C=1, P=1, Z=0, S=0, C1=1. F=17H  S Z 0 C1 0 P 1 C  F = 0 0 0 1 0 1 1 1   0 1 0 1 0 0 0 0 -1 1 0 0 1 0 1 1 -1 0 0 0 0 1 0 1 C=1, P=0, Z=0, S=1, C1=0. F=17H  S Z 0 C1 0 P 1 C  F = 1 0 0 0 0 0 1 1   5. Дослідити програму (табл.32) додавання двох N – значних десяткових чисел NA і NB, виразивши їх у двійково – десятковому коді, а результат додавання записати за адресою числа NA. Нагадуємо, що для зображення десяткових чисел двійково – десятковим кодом кожну десяткову цифру необхідно замінити тетрадою (тетра – чотири) війкових чисел, наприклад : 27D 0010 0111. Значення доданків NA і NB наведено в табл.34. Доданки (операнди) розмістити в пам’яті побайтно: NA – починаючи з молодших розрядів з адреси 8400Н і вище, тобто 8400 – А0 , 8401 – А1 і т.п. NB – аналогічно, починаючи з адреси 8408. Програма додавання закінчується командою десяткової корекції результату (див. табл..32). Цю програму дослідити в кроковому і неперервному режимах, пам’ятаючи, що в неперервному режимі ННП працює без МОНІТОРа. Щоб після виконання програми в цьому режимі відбулося переривання і звернення до МОНІТОРа, який вмикає індикатор, замість команди HLT (код 76) треба використати команду RST (код Е7). Інакше під час зупинки за командою HLT МОНІТОР не буде викликаний і відповідна закінченню виконання програми інформація на індикацію не буде виведена. Щоб виконати програму в неперервному режимі, необхідно встановити перемикач режиму в стан “ПРОГОН” задати початкову адресу програми – ADDR NNNN запустити програму на виконання клавішею RUN. Адреса 16-й M Мнемокод Пояснення Адреса Число  8200 11  LXI D,8400 DE8400  NA       8400 96  8201 00    8401 13  8202 84    8402 27  8203 21  LXI H,8408 HL8408 8403 51  8204 08    8404 78  8205 84    8405 19  8206 0E  MVI C,08 C08 8406 36  8207 08    8407 00  8208 AF  XRA A AAA (Cбіт=0)  NB       8408 91  8209 1A M1 LDAX D A(DE) 8409 12  820A 8E  ADC M AA+(HL)+ Cбіт 840A 55  820B 27  DAA Десяткова корекція 840B 41  820C 12  STAX D (DE)A 840C 43  820D 13  INX D DEDE+1 840D 89  820E 23  INX H HLHL+1 840E 91  820F 15  DCR C CC-1 840F 00  8210 C2  INZ M1 If Zбіт=0, go to M1  8211 09     8212 82     8213 76  HLT STOP   Результати: 8400 87 (96+91=1|87) 8404 21 (78+43+0=1|21)  8401 26 (13+12+1=0|26) 8405 09 (19+89+1=1|09)  8402 82 (27+55+0=0|82) 8406 28 (36+91+1=1|28)  8403 92 (51+41+0=0|92) 8407 01 (00+00+1=01)   6. Дослідити програму (табл.33) множення двох однобайтових чисел МА і МВ (варіанти значень чисел наведені в табл.34). Початкова адреса програми 8200 множник МА завантажити в реєстр D, а МВ – в Е. Результат множення записується в реєстрову пару ВС, тобто результат двобайтовий. У програмі використовується стек, але налагоджувати його не потрібно, бо він налагоджується МОНІТОРОМ на адресу 83ЕО. Програму дослідити в кроковому та автоматичному режимах. Навести у звіті перевірку отриманого добутку множенням співмножників у десятковій системі числення та множенням цих співмножників згідно з алгоритмом, який реалізований у програмі (табл.33). Адреса 16-й M Мнемокод Пояснення  8200 01  LXI B, 0000 Bc0000  8201 00     8202 00     8203 3E  MVI A, 01 A01  8204 01     8205 A7  ANA A AAA  8206 F5 M1 PUSH PSW (SP-2) F, (SP-1)A, SPSP-2  8207 A3  ANA E AAE  8208 78  MOV A,B A B  8209 CA  JZ M2 If Z=1 go to M2  820A 0D     820B 82     820C 82  ADD D AA+D  820D 1F M2 RAR Зсув А праворуч  820E 47  MOV B, A BA  820F 79  MOV A, C AC  8210 1F  RAR Зсув А праворуч  8211 4F  MOV C, A  C A  8212 F1  POP PSW F(SP),A(SP+1), SPSP+1  8213 17  RAL Зсув А ліворуч  8214 D2  JNC M1 If C=0 go to M1  8215 06     8216 82     8217 76  HLT STOP   Перевірка: 1010 REG C (C=90), REG B (B=00) 1001 1010 1010 1011010 = 90H
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!