Лабораторная работа по дисциплине теория и проектирование ЭВМ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ )

ФАКУЛЬТЕТ ВМС

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

ЛАБОРАТОРНАЯ РАБОТА Nо 2

ПО

ДИСЦИПЛИНЕ

ТЕОРИЯ И ПРОЕКТИРОВАНИЕ ЭВМ

СТУДЕНТЫ: Львов А. Н. и Чернецкий М. В.

ГРУППА: ВВ-61-96

РУКОВОДИТЕЛЬ: Иванов Е. Л.

МОСКВА

2000

Задача N 0 1.

Составить программу для вычисления выражения : N= aаi= а1 +а2 + … + an, где n=10 ,ai – числа натурального ряда “1”. РОНы использовать следующим способом :

С – под счетчик циклов,

L – под текущее значение аi,

C и D – под константы.

Результат вычислений разместить в ячейке 080Е.

С – количество циклов; C=0А

L – текущее значение константы; L=0А

Aдрес Коды Мнемоника Комментарий

0010 85 ADD L арифметическая операция A(A) +(Ri)

0011 2D DCR L отрицательное приращение регистра

0012 0D DCR C отрицательное приращение регистра

0013 C2 JNZ adr условный переход

0014 – 10 –

0015 – 00 –

0016 26 MVI H непосредственная загрузка регистра

0017 – 08 –

0018 2E MVI L непосредственная загрузка регистра

0019 – 0E –

001A 77 MOV M, А команда пересылки

001B 76 HLT останов

Задача No 2.

Составить программу для вычисления того же выражения. Константы ai расположить в ОЗУ в ячейках с адресами 0900 , 0901, … . РОНы использовать аналогичным способом. Для вычисления текущего значения N пользоваться командой ADD M. Результат вычислений записать в ОЗУ в ячейку 0850. Константы ai задать произвольно.

С – счетчик циклов,

H, L – адрес ячейки, где находится текущее значение константы.

Адрес Коды Мнемоника Комментарий

0900 – 01 –

0901 – 02 –

0902 – 03 –

0903 – 04 –

0904 – 05 –

0905 – 06 –

0906 – 07 –

0907 – 08 –

0908 – 09 –

0909 – 10 –

0010 86 ADD M A(A) +(Ri)

0011 2D DCR L отрицательное приращение регистра

0012 0D DCR C отрицательное приращение регистра

0013 C2 JNZ adr условный переход

0014 10 –

0015 00 –

0016 26 MVI H непосредственная загрузка регистра

0017 08 –

0018 2E MVI L непосредственная загрузка регистра

0019 50 –

001А 77 MOV M, A команда пересылки

001В 76 HLT останов

Задание No 3.

Cоставить программу для пересылки массива данных, расположенных в памяти ячейки ОЗУ, начиная с 0900, в ячейки, начиная 0970.Данные выбрать произвольно. Команды расположить в ячейках, начиная с 0800 .

C=05;

D=09;

E=10;

H=09;

L=00.

Адрес Коды Мнемоника Комментарий

0800 86 ADD M A(A)+(Ri)

0801 EB XCHG обмен между DE и HL

0802 77 MOV M, A команда пересылки

0803 3E MVI A непосредственная загрузка регистра

0804 – 00 –

0805 EB XCHG обмен между DE и HL

0806 2C INR L положительное приращение регистра

0807 1C INR E положительное приращение регистра

0808 0D DCR C отрицательное приращение регистра

0809 C2 JNZ adr условный переход

080А – 00 –

080В – 08 –

0800С 76 HLT останов

Задача No 4.

Cоставить программу для варианта задания 3 таким образом, чтобы последний операнд массива записывался в ячейку 0970 , предпоследний – в ячейку 0971 и т. д.

C=05;

H=09;

L=04;

D=09;

E=10.

Адрес Коды Мнемоника Комментарий

0800 86 ADD M A(A)+(Ri)

0801 EB XCHG обмен между DE и HL

0802 77 MOV M, A команда пересылки

0803 3E MVI A непосредственная загрузка регистра

0804 00 – –

0805 EB XCHG обмен между DE и HL

0806 2D DCR L отрицательное приращение регистра

0807 1C INR E положительное приращение регистра

0808 0D DCR C отрицательное приращение регистра

0809 C2 JNZ adr условный переход

080A 00 – –

080B 08 – –

080C 76 HLT останов

Задание Nо 5.

Составить программу для пересылки массива данных из одной области памяти в другую в соответствии со следующей схемой :

Адресное пространство ОЗУ

0800

Программа 100 ячеек

Массив данных 150

Операндов

BFF

Направление пересылки

Перед составлением программы необходимо вычислить начальные адреса каждой области ОЗУ.

C=05;

D=08;

E=FA;

H=08;

L=64.

Адрес Код Мнемоника Комментарий

0800 86 ADD M A(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 –

Задание No 6.

Cоставить программу умножения однобайтных двоичных чисел, используя любой алгоритм умножения.

D=05;

E=02.

Адрес Коды Мнемоника Комментарий

0010 06 MVI B непосредственная загрузка регистра

0011 – 00 –

0012 0E MVI C непосредственная загрузка регистра

0013 – 00 –

0014 3E MVI A непосредственная загрузка регистра

0015 – 01 –

0016 A7 ANA A A(A)L(Ri)

0017 F5 PUSH PSW обращение к стеку

0018 A3 ANA E A(A)L(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 останов

Задание No 7.

Cоставить программу для вычисления следующего выражения : N=(a+b)-(c*d) .

Числа однобайтные. При составлении программы использовать команду обращения к подпрограммам и программу умножения, разработанную в задании 6.

B=45;

C=25;

D=05;

E=02.

Адрес Коды Мнемоника Комментарий

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)L(Ri)

0020 F5 PUSH PSW ввод (А) и (F) в стек

0021 A3 ANA E A(A)L(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 возврат из подпрограммы

В СЕ ПРАВА ЗАЩИЩЕНЫ. Н ЕЛЕГАЛЬНОЕ КОПИРОВАНИЕ ПРЕСЛЕДУЕТСЯ ПО ЗАКОНУ.


Лабораторная работа по дисциплине теория и проектирование ЭВМ