Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра СКС
/
ЗВІТ
з лабораторної роботи № 4
з дисципліни «Організація та функціонування комп’ютерів»
на тему: «Дослідження інструкцій логічних операцій і виконання арифметичних операцій навчального комп’ютера – симулятора DeComp»
Львів – 2016
Тема : Дослідження інструкцій логічних операцій і виконання арифметичних операцій навчального комп’ютера – симулятора DeComp
Мета :
Вивчити призначення логічних операцій.
Навчитись створювати і використовувати "фільтри" за допомогою логічних операцій.
Вивчити правила кодування додатних і від’ємних двійкових чисел для здійснення арифметичних операцій у комп’ютерах;
Навчитися кодувати двійкові числа із знаком у інструкціях навчального комп’ютера – симулятора DeComp.
Теоретичні відомості :
Загальні відомості про логічні функції
Усі дії, які виконуються у комп’ютері, повинні бути закодовані попередньо у програмі. За допомогою кожної команди програми кодується одна операція комп’ютера, яка виконується над парою операндів.
Арифметична операція – операція, у якій операнди і результат сприймаються як числа. До них відносяться операції додавання і віднімання, з якими ми познайомилися у попередніх роботах, а також операції множення і ділення. Усі інші операції, наприклад, добування кореня квадратного, піднесення до степеня, дифференцювання та ін., реалізуються у комп’ютері на основі вказаних операцій.
Логічна операція – операція, що полягає у логічній обробці операндів, які приймають у ній участь. До них відносяться операції порівняння, визначення модуля, визначення ознак результатів арифметичних операцій та ін. До них часом відносять операції зсуву праворуч або ліворуч.
Опис логічних інструкцій навчального комп’ютера
Усі дії, які виконуються у комп’ютері, повинні бути закодовані попередньо у програмі. За допомогою кожної команди програми кодується одна операція комп’ютера, яка виконується над парою операндів.
Арифметична операція – операція, у якій операнди і результат сприймаються як числа. До них відносяться операції додавання і віднімання, з якими ми познайомилися у попередніх роботах, а також операції множення і ділення. Усі інші операції, наприклад, добування кореня квадратного, піднесення до степеня, дифференцювання та ін., реалізуються у комп’ютері на основі вказаних операцій.
Логічна операція – операція, що полягає у логічній обробці операндів, які приймають у ній участь. До них відносяться операції порівняння, визначення модуля, визначення ознак результатів арифметичних операцій та ін. До них часом відносять операції зсуву праворуч або ліворуч.
Точна, певна послідовність операцій або програма, яка потрібна для виконання певної задачі на комп’ютері, формується на основі математичної теорії, відомої як алгебра логіки. Створив алгебру логіки англійський математик Дж. Буль (1815 – 1864). Тому її називають також алгеброю Буля. Алгебра логіки отримала значний розвиток завдяки роботам таких вчених як Е. Пост, К. Шеннон, В. Глушков, С. Яблонський та ін. Основним поняттям алгебри логіки є висловлювання.
Під час вивчення звичайної алгебри розглядають залежності типу А = f(x1, x2, …xn), де x1, x2, …xn – аргументи, а А – функція. Аргументи і функція при цьому можуть набувати найрізноманітніших числових значень: додатних і від’ємних, цілих і дробових. У алгебрі логіки вивчають залежності аналогічного вигляду А = f(x1, x2, …xn), але такі, в яких аргументи і функція можуть набувати тільки двох значень: 1 і 0. Практичне використання таких функцій є формальним (математичним) описом логіки людського мислення в процесі виконання якоїсь задачі.
Вся діяльність людини так або інакше пов’язана з різними висловлюваннями. Будь-яке вимовлене твердження, зауваження є певним висловлюванням. У алгебрі логіки саме висловлювання є змінною (аргументом), яка може набувати одного з двох можливих значень (істина чи фальш, так чи ні, правдиво чи не правдиво) і над якою можна виконувати деякі дії. Подібно до аргументів у звичайній алгебрі, висловлювання позначають буквами якого-небудь алфавіту, наприклад, X, Y,Z або а, в, с. . .
За змістом висловлювання поділяють на прості і складні. Наприклад, прості: “вікно відчинене”, “у квартирі холодно”, “Микола вчиться в національному університеті “Львівська політехніка”, “Микола йде на стадіон”. З простих висловлювань за допомогою слів-зв’язок (сполучників) І, АБО, НЕ, ЯКЩО-ТО та ін. утворюють складні. Наприклад, речення: „Вікно відчинене і у квартирі холодно”, „Микола піде у парк або на стадіон”.
Будь-яке висловлювання може відповідати або не відповідати дійсності. У першому випадку його називають істинним (правдивим, true) і позначають як 1, а в інших – помилковим (хибним, false) і позначають як 0.
Особливістю виконання логічних операцій є порозрядність, тобто операції виконуються над кожною парою розрядів числа окремо і при цьому переповнення розрядної сітки не відбувається.
У обчислювальній техніці логічні операції використовуються надзвичайно широко.
Опис логічних інструкцій навчального комп’ютера
Група інструкцій, яку ми будемо досліджувати у даній роботі, присвячена логічним операціям: AND (логічне І), OR (логічне АБО), XOR (логічне Виключне-АБО) та NOT (логічне НЕ).
Хід виконання роботи :
Ввести у симулятор та дослідити у покроковому режимі програму, яка буде виконувати логічні операції І, АБО, Виключне-АБО та НЕ над двома числами. Коди чисел вибрати згідно варіанту, що визначається у 1-й лабораторній роботі, використовуючи всі чотири тетради 16-ти розрядного формату. Наприклад, якщо задане число 1810 = 000100102 , воно записується у вигляді: 00010010 00010010. Виписати результати виконання програми та значення прапорців ознак.
Так як я – 2-ий варіант, то досліджую логічні операції І, АБО, Виключне-АБО та НЕ на числах 25 і 34, записуючи їх, використавши всі чотири тетради 16-ти розрядного формату таким чином :
2510 = 1 10012, отже записую число як 0001 1001 0001 10012.;
3410 = 10 00102, отже записую число як 0010 0010 0010 00102.
Операція І
Підготовка:
Адр 0 → LOAD 3
Адр 1 → AND 4
Адр 2 → HALT
Адр 3 → Число 2510 (на всі тетради)
Адр 4 → Число 3410 (на всі тетради)
ЛАІ → Адр 0
Програма:
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0000 0011
LOAD 3
Завантаження числа до акумулятора
1
0100 0000 0000 0100
AND 4
Логічне множення
2
0111 1100 0000 0000
HALT
Зупинка процесора.
РА
РД
А
РІ
ЛАІ
РО
Крок 1
0000 0000 0011
0001 1001 0001 1001
0001 1001 0001 1001
0000 0000 0000 0011
0000 0000 0001
000
Крок 2
0000 0000 0100
0010 0010 0010 0010
0000 0000 0000 0000
0100 0000 0000 0100
0000 0000 0010
100
Крок 3
0000 0000 0010
0111 1100 0000 0000
0000 0000 0000 0000
0111 1100 0000 0000
0000 0000 0010
100
Результат : число 0000 0000 0000 00002 в А як результат логічної операції І ( логічного множення ). Так як результат = 0, то в РО засвітився прапорець Z (Z=1).
Операція АБО
Підготовка:
Адр 0 → LOAD 3
Адр 1 → OR 4
Адр 2 → HALT
Адр 3 → Число 2510 (на всі тетради)
Адр 4 → Число 3410 (на всі тетради)
ЛАІ → Адр 0
Програма:
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0000 0011
LOAD 3
Завантаження числа до акумулятора
1
0101 0000 0000 0100
OR 4
Логічне додавання
2
0111 1100 0000 0000
HALT
Зупинка процесора.
РА
РД
А
РІ
ЛАІ
РО
Крок 1
0000 0000 0011
0001 1001 0001 1001
0001 1001 0001 1001
0000 0000 0000 0011
0000 0000 0001
000
Крок 2
0000 0000 0100
0010 0010 0010 0010
0011 1011 0011 1011
0101 0000 0000 0100
0000 0000 0010
000
Крок 3
0000 0000 0010
0111 1100 0000 0000
0011 1011 0011 1011
0111 1100 0000 0000
0000 0000 0010
000
Результат : число 0011 1011 0011 10112 в А як результат логічної операції АБО ( логічного додавання ). Жоден прапорець РО не засвітився, так як ознаки числа не змінились.
Операція Виключне-АБО
Підготовка:
Адр 0 → LOAD 3
Адр 1 → XOR 4
Адр 2 → HALT
Адр 3 → Число 2510 (на всі тетради)
Адр 4 → Число 3410 (на всі тетради)
ЛАІ → Адр 0
Програма:
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0000 0011
LOAD 3
Завантаження числа до акумулятора
1
0110 0000 0000 0100
XOR 4
Додавання за модулем 2
2
0111 1100 0000 0000
HALT
Зупинка процесора.
РА
РД
А
РІ
ЛАІ
РО
Крок 1
0000 0000 0011
0001 1001 0001 1001
0001 1001 0001 1001
0000 0000 0000 0011
0000 0000 0001
000
Крок 2
0000 0000 0100
0010 0010 0010 0010
0011 1011 0011 1011
0110 0000 0000 0100
0000 0000 0100
000
Крок 3
0000 0000 0010
0111 1100 0000 0000
0011 1011 0011 1011
0111 1100 0000 0000
0000 0000 0010
000
Результат : число 0011 1011 0011 10112 в А як результат логічної операції Виключне-АБО. Жоден прапорець РО не засвітився, так як ознаки числа не змінились.
Операція НЕ
Підготовка:
Адр 0 → LOAD 7
Адр 1 → NOT
Адр 2 → STORE 7
Адр 3 → LOAD 8
Адр 4 → NOT
Адр 5 → STORE 8
Адр 6 → HALT
Адр 7 → Число 2510 (на всі тетради)
Адр 8 → Число 3410 (на всі тетради)
ЛАІ → Адр 0
Програма:
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0000 0111
LOAD 7
Завантаження числа до акумулятора
1
0111 0000 0000 0100
NOT
Інвертування числа
2
0001 0000 0000 0111
STORE 7
збереження значення числа з акумулятора до 7-ї комірки пам’яті
3
0000 0000 0000 1000
LOAD 8
Завантаження числа до акумулятора
4
0111 0000 0000 0100
NOT
Інвертування числа
5
0001 0000 0000 1000
STORE 8
збереження значення числа з акумулятора до 8-ї комірки пам’яті
6
0111 1100 0000 0000
HALT
Зупинка процесора.
РА
РД
А
РІ
ЛАІ
РО
Крок 1
0000 0000 0111
0001 1001 0001 1001
0001 1001 0001 1001
0000 0000 0000 0111
0000 0000 0001
000
Крок 2
0000 0000 0001
0111 0000 0000 0000
1110 0110 1110 0110
0111 0000 0000 0000
0000 0000 0010
010
Крок 3
0000 0000 0111
1110 0110 1110 0110
1110 0110 1110 0110
0001 0000 0000 0111
0000 0000 0011
010
Крок 4
0000 0000 1000
0010 0010 0010 0010
0010 0010 0010 0010
0000 0000 0000 1000
0000 0000 0100
010
Крок 5
0000 0000 0100
0111 0000 0000 0000
1101 1101 1101 1101
0111 0000 0000 0000
0000 0000 0101
010
Крок 6
0000 0000 1000
1101 1101 1101 1101
1101 1101 1101 1101
0001 0000 0000 1000
0000 0000 0110
010
Крок 7
0000 0000 0110
0111 1100 0000 0000
1110 1011 1110 1011
0111 1100 0000 0000
0000 0000 0110
010
Результат : інвертування чисел
0001 1001 0001 10012 в 1110 0110 1110 01102
0010 0010 0010 00102 в 1101 1101 1101 11012.
Інвертовані числа збережені в комірки, в яких зберігались оброблювані числа. При повторному інвертуванні числа повертаються в свій попередній вигляд. Прапорець S Регістру Ознак засвічується, так як число в знаковому розряді змінюється з 0 на 1.
Дослідити у потактовому режимі інструкції OR та NOT. Виписати результати виконання програми.
Інструкція OR
Підготовка:
Адр 0 → OR 2
Адр 1 → HALT
А→ Число 2510(на всі тетради)
Адр 2 → Число 3410(на всі тетради)
ЛАІ → Адр 0
№
Код, що обробляється
Мнемонічний запис мікрооперації
Коментар
1
0000 0000 0000
ЛАІ ( РА
вибір адреси інструкції і занесення її до РА
2
0101 0000 0000 0010
РА ( РД
вибір коду інструкції з РА і занесення його до РД
3
0101 0000 0000 0010
РД ( РІ
декодування інструкції
4
0000 0000 0010
РІ ( РА
вибір з РІ адреси другого числа
5
0010 0010 0010 0010
РА ( РД
вибір з пам’яті коду другого числа
6
0011 1011 0011 1011
А ( РД ( А
виконання операції АБО і запис результату до А
7
000
ZSC(A) ( PO
встановлення прапорців регістру ознак
8
0000 0000 0001
ЛАІ + 1 → ЛАІ
перехід до наступної інструкції
Результат : число 0011 1011 0011 10112 в А як результат логічної операції АБО ( логічного додавання ). Жоден прапорець РО не засвітився, так як ознаки числа не змінились.
Інструкція NOT
Підготовка:
Адр 0 → NOT
А → Число 2510(на всі тетради)
ЛАІ → Адр 0
№
Код, що обробляється
Мнемонічний запис мікрооперації
Коментар
1
0000 0000 0000
ЛАІ ( РА
вибір адреси інструкції і занесення її до РА
2
0111 0000 0000 0000
Пам.РА ( РД
вибір коду інструкції з РА і занесення його до РД
3
0111 0000 0000 0000
РД ( РІ
декодування інструкції
4
1110 0110 1110 0110
( А
інвертування числа та занесення нового значення в А
5
010
ZSC(A) ( PO
встановлення прапорців регістру ознак
6
0000 0000 0001
ЛАІ + 1 → ЛАІ
перехід до наступної інструкції
Результат - 1110 0110 1110 01102, це інверсія числа 0001 1001 0001 10012
В РО засвітився прапорець S, значення S стало рівне 1
Розробити алгоритм і написати програму, що для довільного числа "А", яке розміщене у комірці пам"яті з адресою "N", підраховує кількість пар "00".
Інформація про вхідні дані і їх попереднє розташування у комірках пам’яті та призначення комірок, що використовуються
Адреса комірки пам’яті у десятковому коді
Дані в двійковому вигляді
Позначення змінної в алгоритмі
Інформація про вхідні дані та призначення комірок, що використовуються.
20
1110 1111 1111 1111
A
Змінна ”A” зберігається в 2010 комірці пам’яті і має початкове значення 11101111111111112
21
0000 0000 0000 0000
S
Змінна ”S” зберігається в 2110 комірці пам’яті і служить для зберігання кількості одиниць змінної ”A”. Змінна ”S” має початкове значення рівне 010
22
0000 0000 0000 0001
-
В 2210 комірці зберігається число 12, яке служить для збільшення змінної ”S” і зменшення змінної ”i”
23
0000 0000 0001 0000
і
Змінна ”i” зберігається в 2310 комірці пам’яті і має початкове значення 1610. В алгоритмі змінна є лічильником циклу. Оскільки ”A” – шістнадцятирозрядне число то цикл повинен виконуватись 1610 разів.
Текст програми
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0001 0100
LOAD 20
Завантаження змінної ”A” до акумулятора
1
1111 1110 0000 0000
RCR
Циклічний зсув вправо через С
2
0001 0000 0001 0100
STORE 20
Запис модифікованої змінної ”A” назад у пам’ять
3
1100 0000 0000 1111
JNC 15
Якщо С=1 (молодший біт змінної ”A” (12) вийшов за межі розрядної сітки акумулятора), то виконується наступні інструкції в іншому разі, коли С=0 (молодший біт змінної ”A” рівний 02) ці інструкції оминаються – відбувається перехід на комірку за адресою 1510
4
0000 0000 0001 0111
LOAD 23
Завантаження змінної ”i” до акумулятора
5
0011 0000 0001 0110
SUB 22
Зменшити ”i” на одиницю: зміна параметрів циклу.
6
0001 0000 0001 0111
STORE 23
Збереження ”i” в пам’яті ЕОМ
7
1001 0000 0001 0011
JZ 19
Перевірка чи досягнуто кінця числа ”A”. Якщо перевірено всі 1610 розрядів тоді відбувається вихід з циклу і зупинка програми.
8
0000 0000 0001 0100
LOAD 20
Завантаження змінної ”A” до акумулятора
9
1111 1110 0000 0000
RCR
Циклічний зсув вправо через С
10
1000 0000 0001 0100
STORE 20
Запис модифікованої змінної ”A” назад у пам’ять
11
1100 0000 0000 1111
JNC 15
Якщо С=1 (молодший біт змінної ”A” (12) вийшов за межі розрядної сітки акумулятора), то виконується наступні інструкції (збільшення “S” на одиницю)в іншому разі, коли С=0 (молодший біт змінної ”A” рівний 02) ці інструкції оминаються – відбувається перехід на комірку за адресою 1510
12
0000 0000 0001 0101
LOAD 21
Завантаження змінної ”S” до акумулятора
13
0010 0000 0001 0110
ADD 22
Збільшення ”S” на одиницю.
14
1000 0000 0001 0101
STORE 21
Запис модифікованої змінної ”S” назад у пам’ять
15
0000 0000 0001 0111
LOAD 23
Завантаження змінної ”i” до акумулятора
16
0011 0000 0001 0110
SUB 22
Зменшити ”i” на одиницю: зміна параметрів циклу.
17
0001 0000 0001 0111
STORE 23
Збереження ”i” в пам’яті ЕОМ
18
1000 0000 0000 0000
JNZ 0
Перевірка чи досягнуто кінця числа ”A”. Якщо перевірено всі 1610 розрядів тоді виконується наступна інструкція – зупинка програми, в іншому випадку відбувається перехід за адресою 0.
19
0111 1100 0000 0000
HALT
Зупинка процесора.
Розробити алгоритм і написати програму, у якій для числа, яке використовується у пункті 4, виконується інвертування пар "11".
Інформація про вхідні дані і їх попереднє розташування у комірках пам’яті та призначення комірок, що використовуються
Адреса комірки пам’яті у десятковому коді
Дані в двійковому вигляді
Позначення змінної в алгоритмі
Інформація про вхідні дані та призначення комірок, що використовуються.
20
0011 0101 1100 0110
A
Змінна ”A” зберігається в 2010 комірці пам’яті і має початкове значення 0011 0101 1100 01102
21
1100 0000 0000 0000
M
Змінна ”M” зберігається в 2110 комірці пам’яті і служить для зберігання маски, яка буде порівнюватися з самою змінною логічною операцією І.
22
0000 0000 0001 0000
I
Змінна ”i” зберігається в 2210 комірці пам’яті і має початкове значення 1610. В алгоритмі змінна є лічильником циклу. Оскільки ”A” – шістнадцятирозрядне число, то цикл повинен виконуватись 1610 разів.
23
0000 0000 0000 0001
-
В 2310 комірці записане число 1 для зменшення змінної “I”
Текст програми
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0001 0100
LOAD 20
Завантаження змінної ”A” до акумулятора
1
0100 0000 0001 0101
AND 21
Логічне множення змінної ”A” на маску “M”
2
0011 0000 0001 0101
SUB 21
Віднімання від результату значення самої маски.
3
1000 0000 0000 1000
JNZ 8
Якщо результат рівний нулю Z=0 то відбувається перехід на 8 комірку: зсув маски і зміна параметрів циклу.
4
0000 0000 0001 0100
LOAD 20
Завантаження змінної ”A” до акумулятора. Інвертування (віднімання значення маски від змінної”A”) пари ”11” на ”00”. Збереження модифікованої змінної назад у пам’ять
5
0011 0000 0001 0101
SUB 21
6
0001 0000 0001 0100
STORE 20
8
0000 0000 0001 0101
LOAD 20
Завантаження змінної ”М” до акумулятора. Зсув маски вліво для подальшого порівняння з наступними регістрами змінної ”A”. Збереження модифікованої маски назад у пам’ять
9
1111 1110 0000 0000
RCR
10
0001 0000 0001 0101
STORE 20
11
0000 0000 0001 0110
LOAD 22
Зміна параметрів циклу
12
0011 0000 0001 0111
SUB 23
13
0001 0000 0001 0110
STORE 22
14
1000 0000 0000 0000
JNZ 0
Перевірка умови виконання циклу.
15
0111 1100 0000 0000
HALT
Зупинка виконання прграми.
Результатом виконання програми буде число (0000 0100 0100 00002), всі пари “11” замінені на “00”. Пари порівнюються зліва-направо.
Розробити алгоритм і написати програму додавання двох від’ємних 16-ти розрядних чисел. Операція виконується у доповняльному коді.
Інформація про вхідні дані і їх попереднє розташування у комірках пам’яті та призначення комірок, що використовуються
Адреса комірки пам’яті у десятковому коді
Дані в двійковому вигляді
Позначення змінної в алгоритмі
Інформація про вхідні дані та призначення комірок, що використовуються.
15
1000 0000 0001 0000
A1
Змінна ”A1” зберігається в 1510 комірці пам’яті і має початкове значення (-1610) 1000 0000 0001 00002
16
1000 0000 0010 0001
A2
Змінна ”A2” зберігається в 1610 комірці пам’яті і має початкове значення (-3310) 1000 0000 0010 00112
17
0000 0000 0000 0000
S
Змінна ”S” зберігається в 1710 комірці пам’яті і служить для зберігання результату віднімання
18
1000 0000 0000 0001
D
Змінна ”D” зберігається в 1810 комірці пам’яті і служить для переведення від’ємних чисел в доповняльний код і навпаки, найстарший (знаковий) і наймолодший розряди рівні 1.
19
0000 0000 0000 0000
A1доп
1910 cлужить для проміжного збереження модифікованої змінної “A1”
Текст програми
Адреса
комірки пам’яті
Код інструкції
(двійковий)
Мнемонічний формат
інструкції
Коментар до груп інструкцій, що відповідають блокам алгоритму програми
0
0000 0000 0000 1111
LOAD 15
Завантаження змінної ”A1” до акумулятора
1
0111 0000 0000 0000
NOT
Інвертування всіх розрядів ”A1”
2
0010 0000 0001 0010
ADD 18
Додавання числа (1000 0000 0000 00012) – тобто встановлення знакового розряду числа і додавання одиниці до числа одночасно
3
0001 0000 0001 0011
STORE 19
Запис модифікованої змінної ”A1” назад у пам’ять
4
0000 0000 0001 0000
LOAD 16
Завантаження змінної ”A2” до акумулятора
5
0111 0000 0000 0000
NOT
Інвертування всіх розрядів ”A2”
6
0010 0000 0001 0010
ADD 18
Додавання числа (1000 0000 0000 00012) – тобто встановлення знакового розряду числа і додавання одиниці до числа одночасно
8
0010 0000 0001 0011
ADD 19
Додавання ”A2” і ”A1” в доповняльному коді. В результаті операції відбудеться переповнення розрядної сітки акумулятора.( С=1 ) Проте це не є суттєво оскільки, це лише зіграє нам на руку при переведенні в прямий код.
9
0111 0000 0000 0000
NOT
Інвертування результату віднімання, початок переведення з доповняльного коду в прямий.
10
0010 0000 0001 0010
ADD 18
Додавання числа (1000 0000 0000 00012) – тобто встановлення знакового розряду числа і додавання одиниці до числа одночасно – завершення переведення з доповняльного коду в прямий.
11
0001 0000 0001 0001
STORE 17
Збереження змінної “S” в память.
12
0111 1100 0000 0000
HALT
Зупинка процесора.
Результатом роботи програми буде число -4910 (1000 0000 0011 00012) записане в 1710 комірці пам’яті в прямому коді.
Висновок :
На цій лабораторній роботі я вивчив призначення логічних операцій, навчився створювати і використовувати «фільтри» за допомогою логічних операцій, вивчив правила кодування додатних і від’ємних двійкових чисел для здійснення арифметичних операцій у комп’ютерах.