Professional Documents
Culture Documents
ООФК ЛР4
ООФК ЛР4
Звіт
з лабораторної роботи № 4
з дисципліни: «Організація та функціонування
комп’ютерів» на тему:
«Дослідження інструкцій логічних операцій і виконання
арифметичних операцій навчального комп’ютера – симулятора
DeComp»
Виконав:
ст. гр. КІ-110
Куцах Т.
Прийняв: Дячок
Р.В.
Львів 2023
Тема:
Дослідження інструкцій логічних операцій і виконання арифметичних операцій
навчального комп’ютера – симулятора DeComp.
Мета:
● Вивчити призначення логічних операцій;
● Навчитись створювати і використовувати "фільтри" за допомогою логічних
операцій;
● Вивчити правила кодування додатних і від’ємних двійкових чисел для
здійснення арифметичних операцій у комп’ютерах;
● Навчитися кодувати двійкові числа із знаком у інструкціях навчального
комп’ютера – симулятора DeComp.
Теоретичні відомості
Логічна операція – операція, що полягає у логічній обробці операндів, які
приймають у ній участь. До них відносяться операції порівняння, визначення модуля,
визначення ознак результатів арифметичних операцій та ін. До них часом відносять
операції зсуву праворуч або ліворуч.
Точна, певна послідовність операцій або програма, яка потрібна для виконання
певної задачі на комп’ютері, формується на основі математичної теорії, відомої як алгебра
логіки. Створив алгебру логіки британський математик Джордж Буль (1815 – 1864). Тому
її називають також алгеброю Буля. Алгебра логіки отримала значний розвиток завдяки
роботам таких вчених як Е. Пост, К. Шеннон, В. Глушков, С. Яблонський та ін. Основним
поняттям алгебри логіки є висловлювання.
Під час вивчення звичайної алгебри розглядають залежності типу А = f(x1, x2, …xn),
де x1, x2, …xn – аргументи, а А – функція. Аргументи і функція при цьому можуть набувати
найрізноманітніших числових значень: додатних і від’ємних, цілих і дробових. У алгебрі
логіки вивчають залежності аналогічного вигляду А = f(x1, x2, …xn), але такі, в яких
аргументи і функція можуть набувати тільки двох значень: 1 і 0. Практичне використання
таких функцій є формальним (математичним) описом логіки людського мислення в
процесі виконання якоїсь задачі.
Вся діяльність людини так або інакше пов’язана з різними висловлюваннями. Будь-
яке вимовлене твердження, зауваження є певним висловлюванням. У алгебрі логіки саме
висловлювання є змінною (аргументом), яка може набувати одного з двох можливих
значень - істина чи фальш, так чи ні, правдиво чи не правдиво і над якою можна
виконувати деякі дії. Подібно до аргументів у звичайній алгебрі, висловлювання
позначають буквами якого-небудь алфавіту, наприклад, X, Y,Z або а, в, с. . .
За змістом висловлювання поділяють на прості і складні. Наприклад, прості: “вікно
відчинене”, “у квартирі холодно”, “Микола вчиться в національному університеті
“Львівська політехніка”, “Микола йде на стадіон”. З простих висловлювань за допомогою
слів - сполучників І, АБО, НЕ, ЯКЩО-ТО та ін. утворюють складні. Наприклад, речення:
„Вікно відчинене і у квартирі холодно”, „Микола піде у парк або на стадіон”.
Будь-яке висловлювання може відповідати або не відповідати дійсності. У
першому випадку його називають істинним (правдивим, true) і позначають як 1, а в інших
– помилковим (хибним, false) і позначають як 0.
Особливістю виконання логічних операцій є порозрядність, тобто операції
виконуються над кожною парою розрядів числа окремо і при цьому переповнення розрядної
сітки не відбувається. У обчислювальній техніці логічні операції використовуються
надзвичайно широко.
1. Вивчити і записати у звіт призначення логічних операцій AND, OR, NOT і XOR.
Логічна операція AND – кон’юкція або логічне множення. Результат операції буде
рівний 1 тільки тоді, коли два біта будуть рівні 1, якщо ж хоча б 1 з бітів дорівнює 0, то і
результат буде 0.
Логічна операція OR – диз’юнкція або логічне додавання. Результат операції
дорівнює 1, коли хоча б один з бітів дорівнює 1, і 0, коли обидва біта дорівнюють 0.
Логічна операція NOT – заперечення. Результатом операції є інвертування усіх
розрядів числа і запис назад до акумулятора, тобто заміна 1 на 0 і 0 на 1. На відміну від
інших операцій, ця – безадресна.
Логічна операція XOR – сума за модулем 2. Результат операції дорівнює 1, коли
тільки один з бітів дорівнює 1. Якщо бітів більше, ніж 2, то для непарної кількості бітів
результат дорівнює 1, а для парної 0. Іншими словами результатом операції є молодший
розряд суми.
Мій варіант 13. Згідно з умовою 1-ої лабораторної роботи, мої числа: 1410 і
4210. Спочатку переведемо ці числа у двійкову систему числення:
1410 = 0000 1110 0000 11102;
4210 = 0010 1010 0010 10102.
Заношу перше число A у 20-ту комірку, а друге B у 21. Пишу програму в інструкціях:
Мнемонічний
№ комірки Двійковий код
запис Коментар
пам’яті інструкції
інструкції
Завантажити дані 20-ої комірки
0000 0000 0000 0000 0000 0001 0100 LOAD 20;
(число A) до Акумулятора
0000 0000 0001 0100 0000 0001 0101 AND 21; A&B
0000 0000 0010 0001 0000 0001 0110 STORE 22; Записати число в 22 комірку
0000 0000 0011 0000 0000 0001 0100 LOAD 20; Завантажити дані 20-ої комірки
(число A) до Акумулятора
0000 0000 0100 0101 0000 0001 0101 OR 21; A|B
Записати результат операції в 23
0000 0000 0101 0001 0000 0001 0111 STORE 23;
комірку
завантажити число A до
0000 0000 0110 0000 0000 0001 0100 LOAD 20;
Акумулятора
0000 0000 0111 0110 0000 0001 0101 XOR 21; A⊕B
0000 0000 1000 0001 0000 0001 1000 STORE 24; Записати число в 24 комірку.
0000 0000 1001 0000 0000 0001 0100 LOAD 20: Завантажити число A до
Акумулятора
0000 0000 1010 0111 0000 0000 0000 NOT; Інвертоване число А
0000 0000 1011 0001 0000 0001 1001 STORE 25; Записати число в 25 комірку.
0000 0000 1100 0000 0000 0001 0101 LOAD 21; Завантажити число B до
Акумулятора
0000 0000 1101 0111 0000 0000 0000 NOT Інвертоване число B
0000 0000 1110 0001 0000 0001 1010 STORE 26; Завантажити число в 26 комірку
0000 0000 1111 0111 1100 0000 0000 HALT; Зупинити програму
Запускаю програму і досліджую її у покроковому режимі:
РА РД А РІ ЛАІ РО
1 0000 0001 0100 0000 1110 0000 1110 0000 1110 0000 1110 0000 0000 0001 0100 0000 0000 0001 000
2 0000 0001 0101 0010 1010 0010 1010 0000 1010 0000 1010 0100 0000 0001 0101 0000 0000 0010 000
3 0000 0001 0110 0000 1010 0000 1010 0000 1010 0000 1010 0001 0000 0001 0110 0000 0000 0011 000
4 0000 0001 0100 0000 1110 0000 1110 0000 1110 0000 1110 0000 0000 0001 0100 0000 0000 0100 000
5 0000 0001 0101 0010 1010 0010 1010 0010 1110 0010 1110 0101 0000 0001 0101 0000 0000 0101 000
6 0000 0001 0111 0010 1110 0010 1110 0010 1110 0010 1110 0001 0000 0001 0111 0000 0000 0110 000
7 0000 0001 0100 0000 1110 0000 1110 0000 1110 0000 1110 0000 0000 0001 0100 0000 0000 0111 000
8 0000 0001 0101 0010 1010 0010 1010 0010 0100 0010 0100 0110 0000 0001 0101 0000 0000 1000 000
9 0000 0001 1000 0010 0100 0010 0100 0010 0100 0010 0100 0001 0000 0001 1000 0000 0000 1001 000
10 0000 0001 0100 0000 1110 0000 1110 0000 1110 0000 1110 0000 0000 0001 0100 0000 0000 1010 000
11 0000 0000 1010 0111 0000 0000 0000 1111 0001 1111 0001 0111 0000 0000 0000 0000 0000 1011 010
12 0000 0001 1001 1111 0001 1111 0001 1111 0001 1111 0001 0001 0000 0001 1001 0000 0000 1100 010
13 0000 0001 0101 0010 1010 0010 1010 0010 1010 0010 1010 0000 0000 0001 0101 0000 0000 1101 010
14 0000 0000 1101 0111 0000 0000 0000 1101 0101 1101 0101 0111 0000 0000 0000 0000 0000 1110 010
15 0000 0001 1010 1101 0101 1101 0101 1101 0101 1101 0101 0001 0000 0001 1010 0000 0000 1111 010
16 0000 0000 1111 0111 1100 0000 0000 1101 0101 1101 0101 0111 1100 0000 0000 0000 0000 1111 010
Для кращої наочності узагальнимо результати:
● Результат операції AND: A & B: 0000 1010 0000 10102, РО: 0002;
● Результат операції OR: A | B: 0010 1110 0010 11102, РО: 0002;
● Результат операції XOR: A ⊕ B: 0010 0100 0010 01002, РО: 0002;
● Результат операції NOT для першого числа: А: 1111 0001 1111 00012, РО: 0102;
● Результат операції NOT для другого числа: B: 1101 0101 1101 01012, РО: 0102.
групи.