Дослідження виконання арифметичних операцій у форматі з рухомою комою
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №6
з дисципліни: організація та функціонування комп’ютерів на тему:
Дослідження виконання арифметичних операцій у форматі з рухомою комою»
Виконав:
ст.гр. КІ-11
Cаноцький М.Т.
Прийняв:
ст..викл.
Кудрявцев О.Т.
Львів 2010
Мета роботи:
Ознайомитися з поданням чисел у нормальній формі. Засвоїти порядок нормалізації чисел з рухомою комою. Ознайомитися з поняттям “характеристика” для чисел з рухомою комою.
Вивчити правила додавання (віднімання) двійкових чисел з рухомою комою.
Розробити алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп'ютера - симулятора DeComp.
1. Теоретична частина
1.1 Подання чисел з рухомою комою
число рухомий кома алгоритм
У форматі з рухомою комою, який звичайно називають нормальною формою запису, числа записуються наступним чином:
A = М * d Р ,
де p – ціле число, яке називається порядком числа А;
d – основа системи числення;
М – мантиса числа А (звичайно |M| < 1).
При нормальній формі запис одного числа може приймати різний вигляд у залежності від обмежень, що накладаються на його форму. Фактично місце коми у мантисі М визначається величиною порядку р. Із зміною порядку р у більшу або меншу сторону кома відповідно переміщується ліворуч або праворуч, тобто рухається (“плаває”) у зображені мантиси. Наприклад:
23410 = 234 * 100 = 0,234 * 103 = 0,0234 * 104 = 2,34 * 102 ;
1011012 = 101101 * 100 = 0,101101 * 10110 = 0,00101101 * 101000 .
Можна зауважити, що хоча числа у наведених прикладах однакові за абсолютною величиною, проте мантиса потребує різної кількості розрядів. Для цього, щоб запобігти цьому, звичайно уводять деякі обмеження. Найбільш розповсюдженим і зручним для подання у комп’ютерах обмеженням є наступне:
d-1 M 1.
Числа, що записані у такій формі називаються нормалізованими. Іншими словами, у нормалізованих числах у мантисі першою цифрою перед комою стоїть 0, а перша цифра після коми – це цифра відмінна від нуля. Для двійкової системи числення вона дорівнює 1.
Таким чином, мантису розглядають як число менше одиниці, а порядок – як ціле число.
Операція нормалізації виконується шляхом зсуву мантиси вліво із зменшенням порядку, або вправо із збільшення порядку на величину, яка дорівнює кількості розрядів, на яку була зсунута мантиса.
Приклад: нормалізувати наступні числа:
0,00237 * 105 = 0,237 * 103 – мантиса зсувається на два розряди вліво, тобто – збільшується, а порядок зменшується на дві одиниці.
10101,0112 * 1010 = 0,10101011 * 10 111 - мантиса зсувається вправо на 5 розрядів, тобто – зменшується, а порядок збільшується на 5 одиниць.
Нормалізоване подання чисел дозволяє зберігати у розрядній сітці комп’ютера більшу кількість цифр, що мають значення, тому точність обчислень підвищується. Зазвичай у комп’ютерах нормалізація здійснюється автоматично як при вводі чисел, так і у процесі обчислень (після виконання чергової операції). При цьому мантиса зсувається ліворуч на необхідну кількість розрядів і виконується відповідне зменшення порядку, тобто виконується “нормалізація вліво”.
При виконанні операції додавання або віднімання нормалізованих чисел з різними порядками одно з них “денормалізується” до вирівнювання порядків, а сума (або різниця) знову нормалізується.
У розрядній сітці комп’ютерів фіксуються знак числа, знак порядку, порядок числа і числовий вираз мантиси.
0
1
2
...
...
...
...
...
...
m+n+1
0
0
1
2
...
m
1
2
...
n
Знак
мантиси
Знак
порядку
Порядок
Мантиса
У комп’ютерах із рухомою комою можливе переповнення розрядної сітки, так само, як і у комп’ютерах із фіксованою комою. Наприклад, переповнення може виникнути при додаванні нормалізованих чисел одного знаку з однаковими порядками. У цьому випадку з’являється “1” ліворуч від коми. Такого роду переповнення коригується зсувом мантиси вправо на один розряд і збільшенням порядку на одиницю, тобто виконується “нормалізація вправо”.
1.2 Правила додавання (віднімання) двійкових чисел з рухомою комою
Додавання і віднімання чисел з рухомою комою виконується у декілька етапів.
Вирівнювання порядків;
Як відомо, реальна величина (вага) Ni одиниці і-го розряду мантиси визначається не тільки позицією даного розряду, але й порядком р числа, тобто
Ni = d p-і,
де і – номер позиції, рахуючи вправо від коми.
При додаванні (відніманні) необхідно, щоб ваги однойменних розрядів мантис чисел були однаковими. Для цього мантиси зсувають одна щодо одної так, щоб їх порядки вирівнялися. Щоб при вирівнюванні порядків не отримати мантиси більшої за одиницю, їх потрібно вирівнювати від меншого до більшого порядку. Мантиса з меншим порядком зсувається вправо (у бік молодших розрядів) на кількість розрядів, що дорівнює різниці порядків і одночасно коректується порядок (збільшується до значення спільного порядку).
Додавання мантис;
Додавання мантис із вирівненими порядками виконується згідно правил додавання чисел з фіксованою комою. Зазвичай використовується модифікований доповнювальний код. (Пригадайте правила подання від’ємних чисел з використанням доповнювального або оберненого модифікованого коду).
3. Переведення результату додавання мантис у прямий код.
У результаті додавання мантис може виникнути один з трьох випадків:
а). Виникає переповнення розрядної сітки комп’ютера (порушення нормалізації вправо). Ознакою переповнення є невизначенність знакових розрядів, коли результат неможливо віднести ні до додатних, ні до від’ємних чисел (код 01 або 10). У цьому випадку необхідно виконати корекцію результату додавання мантис шляхом його зсуву вправо на один розряд і одночасного збільшення порядку на 1.
Наприклад, після додавання мантис отримуємо число 01,00001. Нормалізуємо його зсувом вправо на один розряд і одночасно збільшуємо порядок на 1. В результаті отримуємо:
(А + В)доп = 00,100001 * 10к+1
Переводимо у прямий код: (А + В)пр = 00,100001 * 10к+1.
Внаслідок корекції результату шляхом зсуву вліво точність його погіршилася.
б). Результат від’ємний. Переведення результату додавання мантис у прямий код віконується шляхом виконання другого доповнення (тобто, виконується інверсія результату і до отриманого коду додається 1 у молодший розряд) або другого обертання (тобто, виконується інверсія результату);
в). Результат додатний. У прямому коді додатний результат залишається без змін;
4. Нормалізація результату.
Виконується тоді, коли після переведення у прямий код у отриманому результаті відбувається порушення нормалізації вправо, тобто з правого боку від коми є один або декілька нулів. Це порушення коректується зсувом мантиси результату вліво і одночасне зменшення порядку на кількість розрядів зсуву мантиси до повної нормалізації мантиси.
Остаточний результат додавання двох чисел з рухомою комою: сума мантис – це мантиса результату, порядок результату – вирівняний порядок доданків, із врахуванням всіх проведених корекцій. .
Розглянемо приклади виконання операції додавання двійкових чисел з рухомою комою. Всі арифметичні дії будемо виконувати у модифікованому доповнювальному коді.
Приклад 1: Додати A = - 0,1101 * 10101 i B = + 0,1100 * 10011.
а) Вирівнюємо порядки.. Спочатку, визначаємо арифметичну різницю між порядками, віднімаючи від значення порядку числа А значення порядку числа В. При цьому операцію віднімання замінюємо операцією додавання у доповнювальному модифікованому коді.
рА – рВ = рА + (– рВ) = (pA доп(м) = 00,101) + (pB доп(м) = 11,101) = 00,010 – різниця порядків
Аналіз отриманої різниці:
знак різниці показує, що порядок числа А більше порядку числа В;
порядки відрізняються на дві одиниці.
Через те, що рА > pB, зсуваємо мантису числа В вправо на два розряди, тобто
МВ пр= 00,001100 і Впр= 00,001100 * 10101.
Розряди мантиси числа В, які вийшли за межі розрядної сітки процесора, будуть втрачені, що погіршить точність обчислень.
б) Переводимо мантиси обох чисел у модифікований доповнювальний код (в межах 4-х розрядів):
МА пр = 11,1101 МА доп(М) =.11,0011
МВ пр = 00,0011 МВ доп(М) =.00,0011
в) Додаємо модифіковані доповнювальні коди мантис чисел А та В і отримуємо результат у модифікованому доповнювальному коді:
(А + В)доп (М) = 11,0011 + 00,0011 = 11,0110
г) Аналіз результату додавання мантис починається із знакових розрядів. Знакові розряди показують, що переповнення розрядної сітки у нас не виникло. Результат – від'ємний, тому переводимо мантису результату у прямий код шляхом виконання другого доповнення і дописуємо спільний порядок:
(А + В)пр (М) = (11,1001 + 00,0001) * 10 101 = 11,1010 * 10101 - остаточний результат.
При переведенні у прямий код знак результату не міняється.
Подальший аналіз показує, що порушення нормалізації результату вправо немає.
Приклад 2. : Додати двійкові числа: А = + 0,10100 * 10101 та В = - 0,10110 * 10100 .
а) Для вирівнювання порядків доданків необхідно із порядку числа А відняти порядок числа В. Віднімання замінимо додаванням у модифікованому доповняльному коді.
(рА доп(м)= 00,101) + (рВ доп(м) = 11,100) = ,101 – 00,100 = 00,101 + (- 00,100) = 00,101 + (11,011 + 00,001) = 00,101 + 1,100 = 00,001
Через те, що рА > pB на +1, виконуємо зсув мантиси числа В вправо на 1 розряд.
МВ пр = 11,010110 і В = 11,010110 * 10101.
б) Переведемо мантиси доданків у модифікований доповняльний код.
МА пр = 00,10100 МА доп(М) = 00,10100.
МВ пр = 11,010110 МВ доп(М) = 11,101010.
в) Додаємо мантиси чисел А і В у модифікованих доповняльних кодах:
(МА доп(М) = 00,10100) + (МВ доп(М) = 11,10101) = 00,01001
г) Переводимо результат у прямий код (виконуємо друге доповнення). У нашому випадку прямий код суми мантис збігається з доповнювальним кодом суми мантис, тому що результат є число додатне.
(МА + МВ) пр(м) = 00,01001
Як видно, виникло порушення нормалізації вправо, тому що вправо від коми розряд дорівнює 0.
д) Виконуємо нормалізацію результату, тобто зсув мантиси ліворуч на 1 розряд з одночасним відповідним зменшенням порядку:
(А + В)пр = 0,1001 * 10100 – остаточний результат.
2.Хід роботи:
Розробити алгоритм і написати програму додавання довільних (додатних і від’ємних) двійкових чисел із рухомою комою у модифікованому доповнювальному коді в інструкціях симулятора DeComp. Числа подаються у форматі:
Знак порядку
Знак мантиси
Порядок
Мантиса
2 розряди
2 розряди
4 розряди
8 розрядів
У алгоритмі передбачити аналіз отриманого результату на:
переповнення розрядної сітки (порушення нормалізації вліво);
наявність порушення нормалізації вправо;
від'ємний результат
Передбачити відповідні заходи з корекції результату.
Блок-схема написаної програми
Попередньо в такі комірки заношу такі дані:
350
хххх хххх хххх хххх
Число а
351
хххх хххх хххх хххх
Число b
352
1100 0000 0000 0000
Маска для знаку порядку
353
0000 1111 0000 0000
Маска для порядку
354
0000 0000 0000 0000
Порядок числа а
355
0000 0000 0000 0000
Знак порадка числа а
356
0000 0000 0000 0000
Порядок числа b
357
0000 0000 0000 0000
Знак порядку числа b
358
0000 0000 0000 0000
Порядок зі знаком числа a
359
0000 0000 0000 0000
Порядок зі знаком числа b
360
0000 0000 0000 0001
Одиниця для додавання
361
0000 0000 0000 0010
Нормалізація порядку
362
0011 1100 0000 0000
Маска для нормалізації інвертації порядка
363
0000 0000 0000 0000
Мантиса числа a
364
0000 0000 0000 0000
Мантиса числа b
365
0000 0000 0000 0000
Знак мантиси числа a
366
0000 0000 0000 0000
Знак мантиси числа b
367
0011 0000 0000 0000
маска для відокремлення знаку мантиси
368
0000 0000 1111 1111
Маска для відокремлення мантиси
369
0000 0000 0000 0000
Мантиса зі знаком числа a
370
0000 0000 0000 0000
Мантиса зі знаком числа a
371
0000 0000 0000 0000
Різниця порядків
372
0011 1110 0000 0000
Маска для взяття різниці порядків
373
1011 1111 1111 1111
Обернена маска для взяття модуля різниці
374
0000 0000 0000 1001
Нормалізація різниці порядків
375
0000 0000 0000 0101
Підготовка мантиси
376
0000 0000 0000 0101
Підготовка мантиси
377
0000 0000 0000 0010
Нормалізація порядку
378
0000 0000 1111 1111
Маска для виділення мантиси
379
1000 0000 0000 0000
Відновлення знаку мантиси
380
0000 0000 0000 0000
Сума двох чисел
381
0000 0000 0000 0000
Мантиса результату
382
0000 0000 0000 0000
Знак мантиси результату
383
0000 0000 0000 0000
Порядок результату
384
0000 0000 0000 0000
Знак порядоку результату
385
0011 1111 1110 0000
Маска для вибору мантиси результату
386
0000 0000 0000 0110
Зсув мантиси до молодших розрядів
387
0000 0000 0000 0000
Результат (Зн. П, Зн.М, Порядок, Мантиса)
388
0000 0100 0000 0000
Додавання одиниці для переведення порядку
389
0000 0010 0000 0000
Одиниця для переведення різниці порядків
390
0000 0000 0010 0000
Додавання одиниці для переведення мантиси
Код програми:
0
0000 0001 0101 1110
LOAD 350
Виділення порядка 1-го числа
1
0100 0001 0110 0001
AND 353
2
0001 0001 0110 0010
STORE 354
Переміщення порядку до старших розрядів
3
0000 0001 0110 0010
LOAD 354
4
1111 0010 0000 0000
LSL
5
0001 0001 0110 0010
STORE 354
6
0000 0001 0110 1001
LOAD 361
7
0011 0001 0110 1000
SUB 360
8
0001 0001 0110 1001
STORE 361
9
1000 0000 0000 0011
JNZ 3
10
0000 0001 0101 1110
LOAD 350
Виділення знаку порядку 1-го числа
11
0100 0001 0110 0000
AND 352
12
0001 0001 0110 0011
STORE 355
13
1111 1100 0000 0000
LSL
Перевірка на відємність порядка 1-го числа
14
1100 0000 0001 0100
JNC 20
15
0000 0001 0110 0010
LOAD 354
Якщо порядок 1-го числа відємний інвертуєм порядок перевести в доповняльний код
16
0111 0000 0000 0000
NOT
17
0100 0001 0110 1010
AND 362
18
0010 0001 1000 0100
ADD 388
19
0001 0001 0110 0010
STORE 354
20
0000 0001 0110 0010
LOAD 354
Обєднання знаку і порядку в одне число
21
0010 0001 0110 0011
ADD 355
22
0001 0001 0110 0110
STORE 358
23
0000 0001 0101 1111
LOAD 351
Виділення порядка 2-го числа
24
0100 0001 0110 0001
AND 353
25
0001 0001 0110 0100
STORE 356
26
0000 0001 0110 0100
LOAD 356
Переміщення порядку до старших розрядів
27
1111 0010 0000 0000
LSL
28
0001 0001 0110 0100
STORE 356
29
0000 0001 0110 1001
LOAD 377
30
0011 0001 0110 1000
SUB 360
31
0001 0001 0110 1001
STORE 377
32
1000 0000 0001 1010
JNZ 26
33
0000 0001 0101 1111
LOAD 351
Виділення знаку порядку 2-го числа
34
0100 0001 0110 0000
AND 352
35
0001 0001 0110 0101
STORE 357
36
1111 1100 0000 0000
LSL
Перевірка на відємність порядка 2-го числа
37
1100 0000 0010 1011
JNC 43
38
0000 0001 0110 0100
LOAD 356
Якщо порядок 2-го числа відємний інвертуєм порядок
39
0111 0000 0000 0000
NOT
40
0100 0001 0110 1010
AND 362
41
0010 0001 1000 0100
ADD 388
42
0001 0001 0110 0100
STORE 356
43
0000 0001 0110 0100
LOAD 356
Обєднання знаку і порядку в одне число
44
0010 0001 0110 0101
ADD 357
45
0001 0001 0110 0111
STORE 359
46
0000 0001 0101 1110
LOAD 350
Виділення мантиси
47
0100 0001 0111 0000
AND 368
48
0001 0001 0110 1011
STORE 363
49
0000 0001 0101 1110
LOAD 350
Виділення і нормалізація знаку
50
0100 0001 0110 1111
AND 367
51
1111 1100 0000 0000
LSL
52
1111 1100 0000 0000
LSL
53
0001 0001 0110 1101
STORE 365
54
0000 0001 0101 1111
LOAD 351
Виділення мантиси
55
0100 0001 0111 0000
AND 368
56
0001 0001 0110 1100
STORE 364
57
0000 0001 0101 1111
LOAD 351
Виділення і нормалізація знаку
58
0100 0001 0110 1111
AND 367
59
1111 1100 0000 0000
LSL
60
1111 1100 0000 0000
LSL
61
0001 0001 0110 1110
STORE 366
62
0000 0001 0110 0110
LOAD 358
Визначення різниці порядків
63
0010 0001 0110 0111
ADD 359
64
0001 0001 0111 0011
STORE 371
65
1011 0000 0100 1100
JM 76
Визначення знаку різниці
66
1111 0010 0000 0000
LSR
Корекція результату
67
0100 0001 0111 0100
AND 372
68
0001 0001 0111 0011
STORE 371
69
0000 0001 0111 0011
LOAD 371
Нормалізація різниці порядків
70
1111 0010 0000 0000
LSR
71
0001 0001 0111 0011
STORE 371
72
0000 0001 0111 0110
LOAD 374
73
0011 0001 0110 1000
SUB 360
74
0001 0001 0111 0110
STORE 374
75
1000 0000 0100 0101
JNZ 69
76
0000 0001 0111 0011
LOAD 371
77
0010 0001 0110 1000
ADD 360
78
0001 0001 0111 0011
STORE 371
79
0000 0001 0110 0111
LOAD 359
Збільшення меншого порядку на величину різниці
80
0010 0001 0111 0011
ADD 371
81
0001 0001 0110 0111
STORE 359
82
0000 0001 0111 0011
LOAD 371
Зсув мантиси на величину різниці порядків
83
0011 0001 0110 1000
SUB 360
84
1001 0000 0101 1010
JZ 90
85
0001 0001 0111 0011
STORE 371
86
0000 0001 0110 1100
LOAD 364
87
1111 0010 0000 0000
LSR
88
0001 0000 0110 1100
STORE 364
89
1110 0000 0101 0010
JMP 82
90
1111 0010 0000 0000
LSR
Корекція результату
91
0100 0001 0111 0101
AND 373
92
0001 0001 0111 0011
STORE 371
93
0100 0001 0111 0100
AND 372
Переведення числа в прямий код
94
0111 0000 0000 0000
NOT
95
0010 0001 1000 0101
ADD 389
96
0000 0001 0110 0110
LOAD 358
Збільшення меншого порядку на величину різниці
97
0010 0001 0111 0011
ADD 371
98
0001 0001 0110 0110
STORE 358
99
0001 0001 0111 0011
STORE 371
Нормалізація різниці порядків
100
0000 0001 0111 0011
LOAD 371
101
1111 0010 0000 0000
LSR
102
0001 0001 0111 0011
STORE 371
103
0000 0001 0111 0110
LOAD 374
104
0011 0001 0110 1000
SUB 360
105
0001 0001 0111 0110
STORE 374
106
1000 0000 0110 0011
JNZ 99
107
0000 0001 0111 0011
LOAD 371
Зсув мантиси на величину різниці порядків
108
0011 0001 0110 1000
SUB 360
109
1001 0000 0111 0011
JZ 115
110
0001 0001 0111 0011
STORE 371
111
0001 0001 0110 1011
LOAD 363
112
1111 0010 0000 0000
LSR
113
0000 0001 0110 1011
STORE 363
114
1110 0000 0110 1011
JMP 107
115
0000 0001 0110 1101
LOAD 365
Переведення числа в доповняльний код
116
1111 1100 0000 0000
LSL
117
1100 0000 0110 1110
JNC 110
118
0001 0000 0110 1011
LOAD 363
119
0111 0000 0000 0000
NOT
120
0010 0001 0110 1000
ADD 360
121
0100 0001 0111 1010
AND 378
122
0000 0000 0110 1011
STORE 363
123
0000 0001 0110 1110
LOAD 366
Переведення числа в доповняльний код
124
1111 1100 0000 0000
LSL
125
1100 0000 0111 0110
JNC 118
126
0000 0000 0110 1100
LOAD 364
127
0111 0000 0000 0000
NOT
128
0010 0001 0110 1000
ADD 360
129
0100 0001 0111 1010
AND 378
130
0001 0001 0110 1100
STORE 364
131
0001 0001 0110 1011
LOAD 363
Зсув мантиси до старших розрядів
132
1111 1100 0000 0000
LSL
133
0001 0001 0110 1011
STORE 363
134
0000 0001 0111 1101
LOAD 375
135
0011 0001 0110 1000
SUB 360
136
0001 0001 0111 1101
STORE 375
137
1000 0000 1000 0011
JNZ 131
138
0000 0001 0110 1100
LOAD 364
Зсув мантиси до старших розрядів
139
1111 1100 0000 0000
LSL
140
0001 0001 0110 1100
STORE 364
141
0000 0001 0111 1110
LOAD 376
142
0011 0001 0110 1000
SUB 360
143
0001 0001 0111 1110
STORE 376
144
1000 0000 1000 1010
JNZ 138
145
0001 0001 0110 1011
LOAD 363
Обєднання знаку і мантиси в одне число 1-го числа
146
0010 0001 0110 1101
ADD 365
147
0001 0001 0111 0001
STORE 369
148
0000 0001 0110 1100
LOAD 364
Обєднання знаку і мантиси в одне число 2-го числа
149
0010 0001 0110 1110
ADD 366
150
0001 0001 0111 0010
STORE 370
151
0000 0001 0111 0001
LOAD 369
Додавання мантис двох чисел
152
0000 0001 0111 0001
ADD 370
153
1011 0000 1001 1100
JM 156
Збереження результату при додатньому результаті
154
1111 1100 0000 0000
LSL
155
0001 0001 0111 1100
STORE 380
156
1111 1100 0000 0000
LSL
Збереження результату при відємному результаті
157
0010 0001 0111 1011
ADD 379
158
0111 0000 0000 0000
NOT
Переведення відємного результату в прямий код
159
0100 0001 1000 0001
AND 385
160
0010 0001 1000 0110
ADD 390
161
0010 0001 0110 0000
ADD 352
162
0001 0001 0111 1100
STORE 380
163
0000 0001 0110 0010
LOAD 354
Збереження порядку результату
164
1111 0010 0000 0000
LSR
165
1111 0010 0000 0000
LSR
166
0001 0001 0111 1111
STORE 383
167
0000 0001 0110 0011
LOAD 355
Збереження знаку порядку результату
168
0001 0001 1000 0000
STORE 384
169
0000 0001 0111 1100
LOAD 380
Перевірка денормалізації в право і корекція результату
170
0100 0001 1000 0001
AND 385
171
1111 1100 0000 0000
LSL
172
1111 1100 0000 0000
LSL
173
1111 1100 0000 0000
RCL
174
1101 0000 1011 0110
JC 182
175
1111 1100 0000 0000
RCL
176
1101 0000 1011 0110
JC 182
177
0000 0001 0111 1111
LOAD 383
178
0010 0001 0110 1000
ADD 360
179
0001 0001 0111 1111
STORE 383
180
0000 0001 0111 1101
LOAD 381
181
1110 0000 1010 1001
JMP 169
182
1111 1110 0000 0000
RCR
183
0001 0001 0111 1101
STORE 381
184
0000 0001 0111 1101
LOAD 381
Збереження мантиси результату
185
1111 0010 0000 0000
LSR
186
0001 0001 0111 1101
STORE 381
187
0000 0001 1000 0010
LOAD 386
188
0011 0001 0110 1000
SUB 360
189
0001 0001 1000 0010
STORE 386
190
1000 0000 1011 1000
JNZ 184
191
0000 0001 0111 1100
LOAD 380
Збереження знаку мантиси результату
192
0100 0001 0110 0000
AND 352
193
1111 0010 0000 0000
LSR
194
1111 0010 0000 0000
LSR
195
0001 0001 0111 1110
STORE 382
196
0000 0001 0111 1101
LOAD 381
Формування результату
197
0010 0001 0111 1110
ADD 382
198
0010 0001 0111 1111
ADD 383
199
0010 0001 1000 0000
ADD 384
200
0001 0001 1000 0011
STORE 387
201
0111 1100 0000 0000
HALT
Завершення програми
Висновки
На даній лабораторній роботі - ознайомився з поданням чисел у нормальній формі. Засвоїв порядок нормалізації чисел з рухомою комою. Ознайомився з поняттям “характеристика” для чисел з рухомою комою.
-вивчив правила додавання (віднімання) двійкових чисел з рухомою комою.
-розробив алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп'.ютера - симулятора DeComp.

Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ