Московський державний інститут радіотехніки, електроніки і
АВТОМАТИКИ (технічний університет) p>
ФАКУЛЬТЕТ ВМС p>
КАФЕДРА обчислювальної техніки p>
ЛАБОРАТОРНА РОБОТА Nо 2 p>
ПЗ p>
ДИСЦИПЛІНИ p>
ТЕОРІЯ І ПРОЕКТУВАННЯ ЕОМ p>
СТУДЕНТИ: Львів А. Н. і
Чернецький М. В. p>
ГРУПА: ВВ-61-96 p>
КЕРІВНИК: Іванов Е. Л. p>
МОСКВА p>
2000
Завдання N 0 1. p>
Скласти програму для обчислення виразу: N = (АI = а1 + а2 + ... + an, де n = 10, ai - числа натурального ряду "1". Рони використовувати таким чином: p>
С - під лічильник циклів, p>
L - під поточне значення АI, p>
C і D - підконстанти.
Результат обчислень розмістити в комірці 080Е. P>
С - кількість циклів; C = 0А
L - поточне значення константи; L = 0А p>
Aдрес Коди Мнемоніка Коментар p>
0010 85 ADD Lарифметична операція A ((A) + (Ri)
0011 2D DCR Lнегативний приріст регістра
0012 0D DCR Cнегативний приріст регістра
0013 C2 JNZ adrумовний перехід
0014 - 10 p>
-
0015 - 00 p>
-
0016 26 MVI Hбезпосередня завантаження регістра
0017 - 08 p>
-
0018 2E MVI Lбезпосередня завантаження регістра
0019 - 0E p>
-
001A 77 MOV M, А командапересилання
001B 76 HLTзупинка p>
Завдання No 2. p>
Скласти програму для обчислення того ж вираження. Константи aiрозташувати в ОЗУ в комірках з адресами 0900, 0901, .... Рони використовуватианалогічним способом. Для обчислення поточного значення N користуватисякомандою ADD M. Результат обчислень записати в ОЗУ в клітинку 0850.
Константи ai задати довільно. P>
С - лічильник циклів,
H, L - адреса комірки, де знаходиться поточне значення константи. P>
Адреса Коди Мнемоніка Коментар p>
0900 - 01 p>
-
0901 - 02 p>
-
0902 - 03 p>
-
0903 - 04 p>
-
0904 - 05 p>
-
0905 - 06 p>
-
0906 - 07 p>
-
0907 - 08 p>
-
0908 - 09 p>
-
0909 - 10 p>
-
0010 86 ADD M
A ((A) + (Ri)
0011 2D DCR Lнегативний приріст регістра
0012 0D DCR Cнегативний приріст регістра
0013 C2 JNZ adrумовний перехід
0014 10 p>
-
0015 00 p>
-
0016 26 MVI Hбезпосередня завантаження регістра
0017 08 p>
-
0018 2E MVI Lбезпосередня завантаження регістра
0019 50 p>
-
001А 77 MOV M, A командапересилання
001В 76 HLT останов p>
Завдання No 3. P>
становити програму для пересилання масиву даних, розташованих в пам'ятікомірки ОЗУ, починаючи з 0900, в комірки, починаючи 0970.Данние вибратидовільно. Команди розташувати в осередках, починаючи з 0800. P>
C = 05;
D = 09;
E = 10;
H = 09;
L = 00. P>
Адреса Коди Мнемоніка
Коментар p>
0800 86 ADD M
A ((A) + (Ri)
0801 EB XCHG обмін між DE і HL
0802 77 MOV M, Aкоманда пересилання
0803 3E MVI A безпосередня завантаження регістра
0804 - 00 p>
-
0805 EB XCHG обмін між DE і HL
0806 2C INR L позитивний приріст регістра
0807 1C INR E позитивний приріст регістра
0808 0D DCR C негативний приріст регістра
0809 C2 JNZ adr умовний перехід
080А - 00 p>
-
080В - 08 p>
-
0800С 76 HLT останов p>
Завдання No 4. P>
становити програму для варіанта завдання 3 таким чином, щоб останнійоперанд масиву записувався в клітинку 0970, передостанній - в клітинку 0971 іт.д. p>
C = 05;
H = 09;
L = 04;
D = 09;
E = 10. P>
Адреса Коди Мнемоніка Коментар p>
0800 86 ADD M
A ((A) + (Ri)
0801 EB XCHGобмін між DE і HL
0802 77 MOV M, Aкоманда пересилання
0803 3E MVI Aбезпосередня завантаження регістра
0804 00 - p>
-
0805 EB XCHGобмін між DE і HL
0806 2D DCR Lнегативний приріст регістра
0807 1C INR Eпозитивний приріст регістра
0808 0D DCR Cнегативний приріст регістра
0809 C2 JNZ adrумовний перехід
080A 00 - p>
-
080B 08 - p>
-
080C 76 HLTзупинка p>
Завдання Nо 5. p>
Скласти програму для пересилання масиву даних з однієї області пам'яті віншу у відповідності з наступною схемою: p>
Адресний простір ОЗУ p>
| |
| |
| 0800 | Програма 100 | Масив даних 150 | | BFF |
| | Осередків | | | |
| | | Операндів | | |
| | P>
Напрямок пересилання p>
Перед складанням програми необхідно обчислити початкові адресикожній області ОЗУ. p>
C = 05;
D = 08;
E = FA;
H = 08;
L = 64. P>
Адреса Код Мнемоніка Коментар p>
0800 86 ADD MA ((A) + (Ri)
0801 EB XCHG обмін між (A) і (F)
0802 77 MOV M, A команда пересилання
0803 3E MVI A безпосередня завантаженнярегістра
0804 - 00 -
0805 EB XCHG обмін між (A) і (F)
0806 23 INX H позитивний прирістпари регістрів
0807 13 INX D позитивний прирістпари регістрів
0808 0D DCR C негативний прирістрегістра
0809 С2 JNZ adr умовний перехід
080A - 00 -
080B - 08 -
080C 76 HLT останов
0864 10 -
0865 20 -
0866 30 -
0867 40 -
0868 50 - p>
Завдання No 6. P>
становити програму множення однобайтних двійкових чисел, використовуючи будь-якийалгоритм множення. p>
D = 05;
E = 02. P>
Адреса Коди Мнемоніка Коментар p>
0010 06 MVI Bбезпосередня завантаження регістра
0011 - 00 p>
-
0012 0E MVI Cбезпосередня завантаження регістра
0013 - 00 p>
-
0014 3E MVI Aбезпосередня завантаження регістра
0015 - 01 p>
-
0016 A7 ANA A
A ((A) ((Ri)
0017 F5 PUSH PSWзвернення до стеку
0018 A3 ANA E
A ((A) ((Ri)
0019 78 MOV A, B командапересилання
001А CA JZ adrумовний перехід
001B - 1E
-
001С - 00
-
001D 82 ADD D
A ((A) + (Ri)
001E 1F RARоперація циклічного зсуву
001F 47 MOV B, A командапересилання
0020 79 MOV A, C командапересилання
0021 1F RARоперація циклічного зсуву
0022 4F MOV C, A командапересилання
0023 F1 POP PSW вибір
(A) і (F) з стека
0024 17 RALоперація циклічного зсуву
0025 D2 JNC adrумовний перехід
0026 - 17
-
0027 - 00
-
0028 76 HLTзупинка p>
Завдання No 7. p>
становити програму для обчислення наступного виразу: N = (a + b) - (c * d).
Числа однобайтние.Прі складанні програми за допомогою команди зверненнядо підпрограм і програму множення, розроблену в завданні 6. p>
B = 45;
C = 25;
D = 05;
E = 02. P>
Адреса Коди Мнемоніка Коментар p>
0010 78 MOV A, B команда пересилання
0011 81 ADD С А ((А) + (Ri)
0012 67 MOV H, A команда пересилання
0013 CD CALL adr виклик підпрограмибезумовний
0014 00 - -
0015 19 - -
0016 7C MOV A, H команда пересилання
0017 91 SUB З A ((A) - (Ri)
0018 76 HLT останов
0019 06 MVI B безпосереднязавантаження регістра
001A 00 - -
001B 0E MVI C безпосереднязавантаження регістра
001C 00 - -
001D 3E MVI A безпосереднязавантаження регістра
001E 01 - -
001F A7 АNA A A ((A) ((Ri)
0020 F5 PUSH PSW введення (А) і (F) в стек
0021 A3 ANA E A ((A) ((Ri)
0022 78 MOV A, B команда пересилання
0023 CA JZ adr умовний перехід
0024 27 - -
0025 00 - -
0026 82 ADD D A ((A) + (Ri)
0027 1F RAR операція циклічногозсуву
0028 47 MOV B, A команда пересилання
0029 79 MOV A, C команда пересилання
002A 1F RAR операція циклічногозсуву
002B 4F MOV C, A команда пересилання
002C F1 POP PSW вибір (А) і (F) з стека
002D 17 RAL операція циклічногозсуву
002E С2 JNZ adr умовний перехід
002F 17 - -
0030 00 - -
0031 C9 RET повернення зпідпрограми p>
ВСІ ПРАВА ЗАХИЩЕНІ. Нелегального копіювання переслідуються за законом. P>
-----------------------< br> p>