Міністерство освіти і науки
Національний університет „Львівська політехніка”
Кафедра СКС
Звіт
з лабораторної роботи № 5
з дисципліни: “ Організація та функціонування комп’ютерів ” на тему:
“ Дослідження виконання арифметичних операцій з числами у форматі з
фіксованою комою у симуляторі DeComp. ”
Тема: Дослідження виконання арифметичних операцій з числами у форматі з фіксованою
комою у симуляторі DeComp.
Мета роботи:
1. Вивчити форми подання і застосування додатних та від’ємних чисел у арифметиці
з фіксованою комою;
2. Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях
процесора навчального комп'ютера DeComp виконання арифметичних операцій
додавання та віднімання над двійковими числами з фіксованою комою у
модифікованих кодах;
3. Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях
процесора навчального комп'ютера DeComp виконання арифметичної операціїмноження двійкових чисел без знаку.
Теоретичні відомості
Відомо, що одним з можливих шляхів виконання операції віднімання є заміна знаку числа, яке віднімається, на протилежний і додавання його до зменшуваного.
А - В = А + ( - В)
Таким чином операцію арифметичного віднімання замінюють операцією алгебраїчного додавання, яку можна виконати за допомогою двійкових суматорів. Нагадаємо, що від’ємні числа у комп’ютері подаються у прямому, доповняльному і оберненому кодах. Числа зберігаються у прямому коді, перед виконанням обчислень перетворюються у потрібний – доповняльний або обернений - код і після виконання обчислень знову перетворюються у прямий код.
При додаванні двох двійкових чисел, за абсолютною величиною менших одиниці, код суми може за абсолютною величиною перевищити одиницю або стати рівним їй. У такому випадку відбудеться переповнення розрядної сітки, що призведе до неправильного результату.
Переповнення розрядної сітки при додавання модифікованих кодів може бути лише у випадках, коли доданки мають однакові знаки. Таке переповнення виявляється способом порівняння знакових розрядів отриманої суми. Признаком переповнення є неспівпадіння цифр, які створюються у двох знакових розрядах суми, тобто результат неможливо віднести до жодного з модифікованих кодів.
Операція множення двох чисел зводиться до послідовного виконання сукупності операцій множення множеного на розряди множника і зсуву проміжних добутків та множника. Нагадаємо, що у цьому процесі у дійсності застосовуються тільки два правила множення одного двійкового числа на двійкову цифру:
якщо ця цифра множника дорівнює 1, то двійкове число (множник) просто копіюється;
якщо цей розряд множника дорівнює 0, то проміжний добуток дорівнює 0.
При створенні кожного нового проміжного добутку він зсувається вліво на один розряд по відношенню до попереднього проміжного добутку. Наступний проміжний добуток зсувається вліво на один розряд від попереднього і у тому випадку, коли він дорівнює 0. Цей процесс продовжується до тих пір, поки не будуть використані всі розряди множника. Отримані проміжні добутки додаються і їх сума дає остаточний результат.
Алгоритми виконання операції множення для різних форм подання чисел відрізняються незначно. Головні відмінності полягають у визначенні величини порядку добутку при множенні чисел з рухомою комою і місця коми при множенні чисел з фіксованою комою.
Крім необхідності враховувати знаки співмножників для визначення знаку добутку, потрібно враховувати вплив їх знаків на достовірність результату. Від’ємними можуть бути як множене, так і множник. Якщо від’ємний знак подається одиницею перед старшим розрядом модуля двійкового числа, це сприймається комп’ютером як старший розряд числа. Тоді результат операції множення, коли множене або множник від’ємний, буде хибний і величина похибки залежить від того, яке з двох чисел (або обидва) є від'ємним.
Таким чином, крім операції додавання для отримання добутку необхідна операція зсуву. При цьому з'являється можливість зсувати множене або суму проміжних добутків, що дає підставу для різних методів реалізації операції множення.
М е т о д 1. Нехай А – множене (А > 0), В – множник (В > 0), С – добуток. Тоді у випадку подання чисел у формі з фіксованою комою отримаємо:
А = 0, а1 а2 а3 . . . аn;
В = 0, b1 b2 . . .bn = b12-1 + b22-2 + . . . + bn2-n.
Звідси
С = А * В = 0, а1 а2 а3 . . . аn(b12-1 + . . . + bn2-n) =
= (2-1 * 0, a1 a2 . . . an )b1 + (2-2 * 0, a1 a2 . . .an )bn + . . . + (2-n * 0, a1 a2 . . . an )bn .
Множник 2-n означає зсув на n розрядів вправо числа, яке знаходиться у дужках, тобто у даному випадку зсувається вправо множене і множення починається із старших розрядів.
М е т о д 2. Нехай А = 0, а1 а2 а3 . . . аn – множене і В = 0, b1 b2 . . .bn – множник.
Множник легко перетворити, використовуючи метод Горнера:
В = (. . .((bn * 2-1 + bn-1)2-1 + bn-2) * 2-1 + . . . b2) * 2-1 + b1) * 2-1 .
Тоді
С = А * В = (. . .((b * 0, a1 a2 . . . an) * 2-1 + bn-1 0, a1 a2 . . .an )2-1 + b1 0, a1 a2 . . .an )2-1 .
У цьому випадку множення починається з молодшиз розрядів і зсувається вправо сума проміжних добутків.
М е т о д 3. Нехай А = 0, а1 а2 а3 . . . аn – множене і В = 0, b1 b2 . . .bn – множник.
Множник, використовуючи метод Горнера, можна записати таким чином:
В = 2-n (b1 * 2n-1 + b2* 2n-2 + bn-1* 21 + bn * 20) = 2n-1 (. . . ((b1 * 21 * b2) 21 + . . . + b n-1) 21 + bn).
У цьому випадку
С = А * В = 2-n (bn * 0, a1 a2 . . . an + (21 * 0, a1 a2 . . . an) bn-1 + . . . + (2n-1 * 0, a1 a2 . . . an)b1),
що означає: множення починається з молодших розрядів, і множене зсувається вліво на один розряд у кожному такті.
М е т о д 4. Нехай А = 0, а1 а2 а3 . . . аn – множене і В = 0, b1 b2 . . .bn – множник.
Якщо множник В записати за методом Горнера:
С = А * В = 2-n (. . .(21 (b1 * 0, a1 a2 . . . an) + b2* 0, a1 a2 . . . an) 21 + . . .
. . . + bn-1* 0, a1 a2 . . . an) 21 + bn* 0, a1 a2 . . . an),
то множення починається із старшого розряду і у кожному такті зсувається вліво сума проміжних добутків.
Крім згаданих вище існують і інші методи та алгоритми. Взагалі множення двійкових чисел може здійснюватися:
- послідовним способом – при цьому одночасно аналізується тільки один розряд множника і формуються часткові добутки множеного на один розряд множника. Ці добутки послідовно сумуються;
паралельним способом – при цьому одночасно аналізуються всі розряди множника і одразу формується кінцевий результат – добуток множеного на усі розряди множника;
проміжним способом – при цьому одночасно аналізуються декілька розрядів множника і формуються часткові добутки множеного на декілька розрядів множника, ці добутки послідовно сумуються.
Завдання та хід виконання роботи
1.Розробити алгоритм і написати програму додавання довільних 16-розрядних двійкових чисел із знаком, поданих у форматі з фіксованою комою у модифікованому доповняльному коді у інструкціях навчального комп’ютера DeComp
Адреса комірки
Код інструкції
Мнемонічний запис
Коментар
0
0000 0000 0100 0000
LOAD 64
Перевірка знаку числа а за допомогою зсуву.
Якщо число додатне, то перехід до інструкції з адресою 810
1111 1100 0000 0000
RCL
1100 0000 0000 1000
JNC 8
0000 0000 0100 0000
LOAD 64
Переведення числа а в модіфікований код за допомогою інверсії та додавання 1
0111 0000 0000 0000
NOT
0010 0000 0100 0101
ADD 69
0110 0000 0100 0110
XOR 70
0001 0000 0100 0000
STORE 64
0000 0000 0100 0001
LOAD 65
Перевірка знаку числа а за допомогою зсуву.
Якщо число додатне, то перехід до інструкції з адресою 1610
1111 1110 0000 0000
RCR
1100 0000 0001 0000
JNC 16
0000 0000 0100 0001
LOAD 65
Переведення числа b в модіфікований код за допомогою інверсії та додавання 1
0111 0000 0000 0000
NOT
0110 0000 0100 0110
XOR 70
0100 0000 0100 0110
AND 70
0001 0000 0100 0001
STORE 65
0000 0000 0100 0000
LOAD 64
d = a + b
0010 0000 0100 0001
ADD 65
0001 0000 0100 0010
STORE 66
1111 1100 0000 0000
RCL
Перевірка старшого розряду.
1100 0000 0001 0111
JNC 23
0000 0000 0100 0101
LOAD 69
f = 1
0001 0000 0100 0011
STORE 67
0000 0000 0100 0010
LOAD 66
Перевірка передостаннього розряду.
1111 1100 0000 0000
RCL
1111 1100 0000 0000
RCL
1100 0000 0001 1101
JNC 29
0000 0000 0100 0101
LOAD 69
g = 1
0001 0000 0100 0100
STORE 68
0000 0000 0100 0100
LOAD 68
Перевірка переповнення розрядної сітки
0011 0000 0100 0011
SUB 67
1001 0000 0010 0111
JZ 39
0001 0000 0100 0011
LOAD 67
Перевірка знаку d
1000 0000 0010 0111
JNZ 39
0000 0000 0100 0010
LOAD 66
Переведення числа d у прямий код .
0111 0000 0000 0000
NOT
0010 0000 0100 0101
ADD 69
0110 0000 0100 0110
XOR 70
0001 0000 0100 0010
STORE 66
0111 1100 0000 0000
HALT
Завершення програми
2. Виконати дослідження програми, розробленої у пункті 1, у покроковому режимі.
Підготуємо необхідні дані
Aдр.64→ 510
Aдр.65→ -210
Адр.66→010
Адр.67→010
Адр.68→010
Адр.69→110
Адр.70→1100 0000 0000 0000
ЛАІ → Адр.0
Дослідимо дану програму у покроковому режимі
Крок
РА
РД
А
0000 0100 0000
0000 0000 0000 0101
0000 0000 0000 0101
0000 0000 0001
1111 1100 0000 0000
0000 0000 0000 1010
0000 0000 0010
1100 0000 0000 1000
0000 0000 0000 1010
0000 0100 0001
1100 0000 0000 0
1100 0000 0000 0010
0000 0000 1001
1111 1110 0000 0000
1000 0000 0000 0100
0000 0000 1010
1100 0000 0001 0000
1100 0000 0000 0010
0000 0100 0001
1100 0000 0000 0010
1100 0000 0000 0010
0000 0000 1100
0111 0000 0000 0000
0011 1111 1111 1101
0000 0100 0101
0000 0000 0000 0001
0011 1111 1111 1110
0000 0100 0110
1100 0000 0000 0000
1111 1111 1111 1110
0000 0100 0010
1111 1111 1111 1011
1111 1111 1111 1110
0000 0100 0000
0000 0000 0000 0101
0000 0000 0000 0101
0000 0100 0001
1111 1111 1111 1110
0000 0000 0000 0011
0000 0100 0010
0000 0000 0000 0011
0000 0000 0000 0011
0000 0001 0011
1111 1110 0000 0000
0000 0000 0000 0110
0000 0001 0100
1100 0000 0001 0111
0000 0000 0000 0110
0000 0100 0010
0000 0000 0000 0110
0000 0000 0000 0110
0000 0001 1000
1111 1110 0000 0000
0000 0000 0000 1100
0000 0001 1001
1111 1110 0000 0000
0000 0000 0001 1000
0000 0001 1010
1100 0000 0001 1101
0000 0000 0001 1000
0000 0100 0100
0000 0000 0000 0000
0000 0000 0000 0000
0000 0100 0011
0000 0000 0000 0000
0000 0000 0000 0000
0000 0100 0100
1001 0000 0010 0111
0000 0000 0000 0000
0000 0100 0011
0000 0000 0000 0000
0000 0000 0000 0000
0000 0010 0001
1000 0000 0010 0111
0000 0000 0000 0000
0000 0010 0111
0111 1100 0000 0000
0000 0000 0000 0000
Крок
РІ
ЛАІ
РО
0000 0000 0100 0000
0000 0000 0000
000
1111 1100 0000 0000
0000 0000 0001
000
1100 0000 0000 1000
0000 0000 0010
000
0000 0000 0100 0001
0000 0000 1000
100
1111 1110 0000 0000
0000 0000 1001
101
1100 0000 0001 0000
0000 0000 1010
100
0000 0000 0100 0001
0000 0000 1011
100
0111 0000 0000 0000
0000 0000 1100
000
0010 0000 0100 0101
0000 0000 1101
000
0110 0000 0100 0110
0000 0000 1110
100
0001 0000 0100 0001
0000 0000 1111
100
0000 0000 0100 0000
0000 0001 0000
0000
0010 0000 0100 0001
0000 0001 0001
000
0001 0000 0100 0010
0000 0001 0010
000
1111 1110 0000 0000
0000 0001 0011
000
1100 0000 0001 0111
0000 0001 0100
000
0000 0000 0100 0010
0000 0001 0111
000
1111 1110 0000 0000
0000 0001 1000
000
1111 1110 0000 0000
0000 0001 1001
000
1100 0000 0001 1101
0000 0001 1010
000
0000 0000 0100 0100
0000 0001 1101
000
0011 0000 0100 0011
0000 0001 1110
000
1001 0000 0010 0111
0000 0001 1111
000
0001 0000 0100 0011
0000 0010 0000
000
1000 0000 0010 0111
0000 0010 0001
000
0111 1100 0000 0000
0000 0010 0111
000
3. Розробити алгоритм і написати програму множення довільних двійкових чисел
без знаку. Метод множення 1.
Адреса комірки
Код інструкції
Мнемонічний запис
Коментар
0
0000 0000 0001 0001
LOAD 33
Визначення молодшого розряду множника та перевірка його значення
1
1111 1110 0000 0000
RCR
2
0001 0000 0001 0001
STORE 33
3
1100 0000 0000 0110
JNC 6
4
0000 0000 0001 0010
LOAD 34
d = d + a
5
0010 0000 0001 0000
ADD 32
6
0000 0000 0001 0010
LOAD 34
Циклічний зсув СДП вправо
7
1111 1010 0000 0000
ROR
8
0001 0000 0001 0010
STORE 34
9
0000 0000 0001 0011
LOAD 35
Перевірка умови для завершення програми
10
0011 0000 0001 0100
SUB 36
11
1000 0000 0000 0000
JNZ 0
12
0111 1100 0000 0000
HALT
Завершення програми
4. Виконати дослідження програми, розробленої у пункті 3, у покроковому режимі.
Підготуємо необхідні дані
Aдр.32→ 1010
Aдр.33→ 510
Aдр.34→ 010
Aдр.35→ 1610
Aдр.36→ 110
ЛАІ → Адр.0
Дослідимо дану програму у покроковому режимі
Крок
РА
РД
А
0000 0001 0001
0000 0000 0000 0101
0000 0000 0000 0101
0000 0000 0001
1111 1110 0000 0000
0000 0000 0000 0010
0000 0001 0001
0000 0000 0000 0010
0000 0000 0000 0010
0000 0000 0011
1100 0000 0000 1000
0000 0000 0000 0010
0000 0001 0010
0000 0000 0000 0000
0000 0000 0000 0000
0000 0001 0000
0000 0000 0000 1010
0000 0000 0000 1010
0000 0001 0010
0000 0000 0000 0010
0000 0000 0000 1010
0000 0000 0110
1111 1010 0000 0000
0000 0000 0000 0101
0000 0001 0010
0000 0000 0000 0101
0000 0000 0000 0101
0000 0001 0011
0000 0000 0001 0000
0000 0000 0001 0000
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1111
0000 0001 0011
0000 0000 0000 1111
0000 0000 0000 1111
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1111
0000 0001 0001
1000 0000 0000 0010
0000 0000 0000 0010
0000 0000 0001
1111 1110 0000 0000
1000 0000 0000 0001
0000 0001 0001
1000 0000 0000 0001
1000 0000 0000 0001
0000 0000 0011
1100 0000 0000 1000
1000 0000 0000 0001
0000 0001 0010
0000 0000 0000 0101
0000 0000 0000 0101
0000 0000 0111
1111 1010 0000 0000
1000 0000 0000 0010
0000 0001 0010
1000 0000 0000 0010
1000 0000 0000 0010
0000 0001 0011
0000 0000 0000 1111
0000 0000 0000 1111
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1110
0000 0001 0011
0000 0000 0000 1110
0000 0000 0000 1110
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1110
0000 0001 0001
1000 0000 0000 0001
1000 0000 0000 0001
0000 0000 0001
1111 1110 0000 0000
0100 0000 0000 0000
0000 0001 0001
0100 0000 0000 0000
0100 0000 0000 0000
0000 0000 0011
1100 0000 0000 1000
0100 0000 0000 0000
0000 0001 0010
1000 0000 0000 0010
1000 0000 0000 0010
0000 0001 0000
0000 0000 0000 1010
1000 0000 0000 1100
0000 0001 0010
1000 0000 0000 1100
1000 0000 0000 1100
0000 0000 0110
1111 1010 0000 0000
0100 0000 0000 0110
0000 0001 0010
0100 0000 0000 0110
0100 0000 0000 0110
0000 0001 0011
0000 0000 0000 1110
0000 0000 0000 1110
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1101
0000 0001 0011
0000 0000 0000 1101
0000 0000 0000 1101
0000 0000 1011
0000 0000 0000 1101
0000 0000 0000 1101
0000 0001 0001
0100 0000 0000 0000
0100 0000 0000 0000
0000 0000 0001
1111 1110 0000 0000
1010 0000 0000 0000
0000 0001 0001
1010 0000 0000 0000
1010 0000 0000 0000
0000 0000 0011
1100 0000 0000 1000
1010 0000 0000 0000
0000 0001 0010
0100 0000 0000 0110
0100 0000 0000 0110
0000 0000 0111
1111 1010 0000 0000
0010 0000 0000 0011
0000 0001 0010
0010 0000 0000 0011
00100 0000 0000 0011
0000 0001 0011
0000 0000 0000 1101
0000 0000 0000 1101
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1100
0000 0001 0011
0000 0000 0000 1110
0000 0000 0000 1110
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1110
0000 0001 0001
1010 0000 0000 0000
1010 0000 0000 0000
0000 0000 0001
1111 1110 0000 0000
0101 0000 0000 0000
0000 0001 0001
0101 0000 0000 0000
0101 0000 0000 0000
0000 0000 0011
1100 0000 0000 1000
0101 0000 0000 0000
0000 0001 0010
0010 0000 0000 0011
0010 0000 0000 0011
0000 0000 0111
1111 1010 0000 0000
1001 0000 0000 0001
0000 0001 0010
1001 0000 0000 0001
1001 0000 0000 0001
0000 0001 0011
0000 0000 0000 1100
0000 0000 0000 1100
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1011
0000 0001 0011
0000 0000 0000 1011
0000 0000 0000 1011
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1011
0000 0001 0001
0101 0000 0000 0000
0101 0000 0000 0000
0000 0000 0001
1111 1110 0000 0000
0010 1000 0000 0000
0000 0001 0001
0010 1000 0000 0000
0010 1000 0000 0000
0000 0000 0011
1100 0000 0000 1000
0010 1000 0000 0000
0000 0001 0010
1001 0000 0000 0001
1001 0000 0000 0001
0000 0000 0111
1111 1010 0000 0000
1100 1000 0000 0000
0000 0001 0010
1100 1000 0000 0000
1100 1000 0000 0000
0000 0001 0011
0000 0000 0000 1011
0000 0000 0000 1011
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1010
0000 0001 0011
0000 0000 0000 1010
0000 0000 0000 1010
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1010
0000 0001 0001
0010 1000 0000 0000
0010 0100 0000 0000
0000 0000 0001
1111 1110 0000 0000
0001 0100 0000 0000
0000 0001 0001
0001 0100 0000 0000
0001 0100 0000 0000
0000 0000 0011
1100 0000 0000 1000
0001 0100 0000 0000
0000 0001 0010
1100 1000 0000 0000
1100 1000 0000 0000
0000 0000 0111
1111 1010 0000 0000
0110 0100 0000 0000
0000 0001 0010
0110 0100 0000 0000
0110 0100 0000 0000
0000 0001 0011
0000 0000 0000 1010
0000 0000 0000 1010
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1001
0000 0001 0011
0000 0000 0000 1001
0000 0000 0000 1001
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1001
0000 0001 0001
0001 0100 0000 0000
0001 0100 0000 0000
0000 0000 0001
1111 1110 0000 0000
0000 1010 0000 0000
0000 0001 0001
0000 1010 0000 0000
0000 1010 0000 0000
0000 0000 0011
1100 0000 0000 1000
0000 1010 0000 0000
0000 0001 0010
0110 0100 0000 0000
0110 0100 0000 0000
0000 0000 0111
1111 1010 0000 0000
0011 0010 0000 0000
0000 0001 0010
0011 0010 0000 0000
0011 0010 0000 0000
0000 0001 0011
0000 0000 0000 1001
0000 0000 0000 1001
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 1000
0000 0001 0011
0000 0000 0000 1000
0000 0000 0000 1000
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 1000
0000 0001 0001
0000 1010 0000 0000
0000 1010 0000 0000
0000 0000 0001
1111 1110 0000 0000
0000 0101 0000 0000
0000 0001 0001
0000 0101 0000 0000
0000 0101 0000 0000
0000 0000 0011
1100 0000 0000 1000
0000 0101 0000 0000
0000 0001 0010
0011 0010 0000 0000
0011 0010 0000 0000
0000 0000 0111
1111 1010 0000 0000
0001 1001 0000 0000
0000 0001 0010
0011 0010 0000 0000
0001 1001 0000 0000
0000 0001 0011
0000 0000 0000 1000
0000 0000 0000 1000
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0111
0000 0001 0011
0000 0000 0000 0111
0000 0000 0000 0111
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0111
0000 0001 0001
0000 0101 0000 0000
0000 0101 0000 0000
0000 0000 0001
1111 1110 0000 0000
0000 0010 1000 0000
0000 0001 0001
0000 0010 1000 0000
0000 0010 1000 0000
0000 0000 0011
1100 0000 0000 1000
0000 0010 1000 0000
0000 0001 0010
0011 0010 0000 0000
0011 0010 0000 0000
0000 0000 0111
1111 1010 0000 0000
0001 1001 0000 0000
0000 0001 0010
0001 1001 0000 0000
0001 1001 0000 0000
0000 0001 0011
0000 0000 0000 0111
0000 0000 0000 0111
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0110
0000 0001 0011
0000 0000 0000 0110
0000 0000 0000 0110
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0110
0000 0001 0001
0000 0010 1000 0000
0000 0010 1000 0000
0000 0000 0001
1111 1110 0000 0000
0000 0001 0100 0000
0000 0001 0001
0000 0001 0100 0000
0000 0001 0100 0000
0000 0000 0011
1100 0000 0000 1000
0000 0001 0100 0000
0000 0001 0010
0001 1001 0000 0000
0001 1001 0000 0000
0000 0000 0111
1111 1010 0000 0000
0000 1100 1000 0000
0000 0001 0010
0000 1100 1000 0000
0000 1100 1000 0000
0000 0001 0011
0000 0000 0000 0110
0000 0000 0000 0110
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0101
0000 0001 0011
0000 0000 0000 0101
0000 0000 0000 0101
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0101
0000 0001 0001
0000 0001 0100 0000
0000 0001 0100 0000
0000 0000 0001
1111 1110 0000 0000
0000 0000 1010 0000
0000 0001 0001
0000 0000 1010 0000
0000 0000 1010 0000
0000 0000 0011
1100 0000 0000 1000
0000 0000 1010 0000
0000 0001 0010
0000 1100 1000 0000
0000 1100 1000 0000
0000 0000 0111
1111 1010 0000 0000
0000 0110 0100 0000
0000 0001 0010
0000 0110 0100 0000
0000 0110 0100 0000
0000 0001 0011
0000 0000 0000 0101
0000 0000 0000 0101
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0100
0000 0001 0011
0000 0000 0000 0100
0000 0000 0000 0100
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0100
0000 0001 0001
0000 0000 1010 0000
0000 0000 1010 0000
0000 0000 0001
1111 1110 0000 0000
0000 0000 0101 0000
0000 0001 0001
0000 0000 0101 0000
0000 0000 0101 0000
0000 0000 0011
1100 0000 0000 1000
0000 0000 0101 0000
0000 0001 0010
0000 0110 0100 0000
0000 0110 0100 0000
0000 0000 0111
1111 1010 0000 0000
0000 0011 0010 0000
0000 0001 0010
0000 0011 0010 0000
0000 0011 0010 0000
0000 0001 0011
0000 0000 0000 0100
0000 0000 0000 0100
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0011
0000 0001 0011
0000 0000 0000 0011
0000 0000 0000 0011
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0011
0000 0001 0001
0000 0000 0101 0000
0000 0000 0101 0000
0000 0000 0001
1111 1110 0000 0000
0000 0000 0010 1000
0000 0001 0001
0000 0000 0010 1000
0000 0000 0010 1000
0000 0000 0011
1100 0000 0000 1000
0000 0000 0010 1000
0000 0001 0010
0000 0011 0010 0000
0000 0011 0010 0000
0000 0000 0111
1111 1010 0000 0000
0000 0001 1001 0000
0000 0001 0010
0000 0001 1001 0000
0000 0001 1001 0000
0000 0001 0011
0000 0000 0000 0011
0000 0000 0000 0011
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0010
0000 0001 0011
0000 0000 0000 0010
0000 0000 0000 0010
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0010
0000 0001 0001
0000 0000 0001 0100
0000 0000 0001 0100
0000 0000 0001
1111 1110 0000 0000
0000 0000 0000 1010
0000 0001 0001
0000 0000 0000 1010
0000 0000 0000 1010
0000 0000 0011
1100 0000 0000 1000
0000 0000 0000 1010
0000 0001 0010
0000 0000 1100 1000
0000 0000 1100 1000
0000 0000 0111
1111 1010 0000 0000
0000 0000 0110 0100
0000 0001 0010
0000 0000 0110 0100
0000 0000 0110 0100
0000 0001 0011
0000 0000 0000 0010
0000 0000 0000 0010
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0001
0000 0001 0011
0000 0000 0000 0001
0000 0000 0000 0001
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0001
0000 0001 0001
0000 0000 0000 1010
0000 0000 0000 1010
0000 0000 0001
1111 1110 0000 0000
0000 0000 0000 0101
0000 0001 0001
0000 0000 0000 0101
0000 0000 0000 0101
0000 0000 0011
1100 0000 0000 1000
0000 0000 0000 0101
0000 0001 0010
0000 0000 0110 0100
0000 0000 0110 0100
0000 0000 0111
1111 1010 0000 0000
0000 0000 0011 0010
0000 0001 0010
0000 0000 0011 0010
0000 0000 0011 0010
0000 0001 0011
0000 0000 0000 0001
0000 0000 0000 0001
0000 0001 0100
0000 0000 0000 0001
0000 0000 0000 0000
0000 0001 0011
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 1011
1000 0000 0000 0000
0000 0000 0000 0000
0000 0000 1101
0111 1100 0000 0000
0000 0000 0000 0000
Крок
РІ
ЛАІ
РО
0000 0000 0001 0001
0000 0000 0000
000
1111 1110 0000 0000
0000 0000 0001
000
0001 0000 0001 0001
0000 0000 0010
000
1100 0000 0000 0110
0000 0000 0011
000
0000 0000 0001 0010
0000 0000 0100
000
0010 0000 0001 0000
0000 0000 0101
000
0000 0000 0001 0010
0000 0000 0110
000
1111 1010 0000 0000
0000 0000 0111
000
0001 0000 0001 0010
0000 0000 1000
000
0000 0000 0001 0011
0000 0000 1001
000
0011 0000 0001 0100
0000 0000 1010
000
0001 0000 0001 0011
0000 0000 1011
000
1000 0000 0000 0000
0000 0000 1100
000
0000 0000 0001 0001
0000 0000 0000
000
1111 1110 0000 0000
0000 0000 0001
010
0001 0000 0001 0001
0000 0000 0010
010
1100 0000 0000 0110
0000 0000 0011
010
0000 0000 0001 0010
0000 0000 0110
000
1111 1010 0000 0000
0000 0000 0111
000
0001 0000 0001 0010
0000 0000 1000
000
0000 0000 0001 0011
0000 0000 1001
000
0011 0000 0001 0100
0000 0000 1010
000
0001 0000 0001 0011
0000 0000 1011
000
1000 0000 0000 0000
0000 0000 1100
000
0000 0000 0001 0001
0000 0000 0000
010
1111 1110 0000 0000
0000 0000 0001
000
0001 0000 0001 0001
0000 0000 0010
000
1100 0000 0000 0110
0000 0000 0011
000