![](/user_photo/2706_HbeT2.jpg)
- •2. Структура регістра eflags
- •3. Організація оперативної пам’яті. Сегментована модель оперативної пам’яті. Формування адреси в реальному режимі
- •4. Формати і типи даних. Формат машинних команд. Система переривань
- •5. Десяткова арифметика. Форми зображення десяткових чисел
- •7. Ділення ascii-чисел.
- •6. Директиви сегментації. Директиви proc і endp
- •7. Опис простих типів мовою асемблера
- •10. Синтаксис команд мовою асемблера
- •11. Команди передач даних
- •Xchg ax, data1; (data2) в data1, (ax) – початковий стан
- •12. Стекові передачі даних
- •13. Передачі адресних об’єктів, команди введення-виведення і передачі прапорців
- •14. Команди передачі даних movXx. Команда setCc. Команда xlat
- •15. Команди додавання, віднімання і порівняння
- •Inc reg/mem; Розмір 8/16/32.
- •16. Команди множення і ділення
- •20. Команди логічних операцій. Команди зсувів
- •22. Команди операцій з двійковими ланцюжками
- •23. Команди передачі керування (безумовні переходи)
- •24. Команди умовних переходів і команди керування циклами
- •26. Команди переривань і повернення з переривань
- •Загальні поняття.
- •Використання префіксів в ланцюжкових командах.
- •Команда movs.
- •Команда cmps.
- •Команда scas.
- •Команда lods.
- •Команда stos.
- •Команди введення/виведення ланцюжків.
- •29. Команди керування процесором
- •Команди, які впливають на прапорці.
- •Команди синхронізації.
- •Системні команди
- •31. Формати даних, які підтримуються fpu
- •Параметри для трьох форматів в таблиці
- •32. Програмна модель fpu
- •33. Слово стану sw і слово керування cw пристрою fpu.
- •Відповідність між кодом умови і прапорцями
- •34. Команди передач даних fpu: завантаження, збереження, збереження з вибором зі стека, обміну, завантаження сталих.
- •35. Арифметичні команди fpu: додавання, віднімання, множення, ділення.
- •36. Додаткові арифметичні команди fpu.
- •37. Команди порівняння fpu
- •38. Команди трансцендентних функцій. Алгоритми обчислення значень функцій і та логарифмів за будь-якою основою.
- •39. Команди керування пристроєм fpu
- •40. Спеціальні числові значення та особливі обчислювальні ситуації
Параметри для трьох форматів в таблиці
Порядок
задається в зміщеній формі: він дорівнює
істинному порядкові, збільшеному на
значення зміщення
.
Зміщений порядок ще називають
характеристикою – ціле без знакове
число або ціле додатне. Задання
характеристики замість порядку спрощує
операцію порівняння чисел з плаваючою
крапкою, перетворюючи її в операцію
порівняння цілих чисел, а виконання
решти операцій практично не ускладнюється.
Характеристики 00…0b
і 11…1b
зарезервовані для спеціальних значень.
Характеристика у форматі з подвійною
точністю займає 11 бітів і коли співмножники
одинарної точності, добуток одержується
без переповнення і антипереповнення.
Значення числа з плаваючою крапкою дорівнює
,
де
або
,
або
.
Відзначимо наявність
у мантисі біта
одиниць.
Пристрій FPU
підтримує (в основному) подання мантиси
в нормалізованій формі: старший біт
мантиси дорівнює 1. Тому всі числа (крім
нуля) мають мантису у вигляді
,
де
або
,
.
Отже, старші нулі в числах, які менші,
ніж 1, вилучаються, що максимізує кількість
значущих цифр мантиси при її фіксованій
довжині.
У форматах ОТ і ПТ
біт
при передачах чисел і збереженні їх у
пам’яті не фігурує. Отже, в цих форматах
неможливо зобразити числа, які не
нормалізовані. Крім цього, неявний біт
не дає можливості зобразити в цих
форматах нуль і його потрібно кодувати
як спеціальне значення. Реалізувати
неявний біт можна тільки при основі
рівній 2.
Числа в форматі
РТ мають явний біт
.
Десяткове число – 247.375 має двійковий
код – 11110111.011, істинний порядок рівний
7. Зміщений порядок у форматі ОТ дорівнює
134, у форматі ПТ – 1030, у форматі РТ –
16390. Відповідно три зображення цього
числа:
ОТ 1 10000110 111011101100…0
ПТ 1 10000000110 111011101100…0
РТ 1 100000000000110 1111011101100…0.
Числа ОТ і ПТ існують тільки в ОП. При завантаженні їх в FPU автоматично перетворюються у 80-бітовий розширений формат РТ. Дані з регістрів можна перетворити у формат ОТ або ПТ для зберігання їх в ОП. Формат РТ допускає зберігання в ОП і звичайно використовується для проміжних результатів, які неможливо зберігати в регістрах. Тому команди завантаження і збереження в ОП і особливо десяткових чисел є для FPU досить повільними (виконуються довго). Однак, завдячуючи апаратному перетворенню всіх зовнішніх форматів у формат РТ, в прикладних програмах зникає проблема переведення в інші формати.
Дійсне число з
більшою кількістю цифр, ніж допускає
FPU,
зображуватиметься не точно. Абсолютно
точно зображуються в FPU
числа з діапазону
.
Спеціальні числові значення. До них відносяться денормалізовані дійсні числа, нулі, від’ємні і додатні нескінченності, не числа, невизначеність і не підтримувані формати. Всі ці числа подаються у двійковій системі числення.
Денормалізовані дійсні числа – числа, які менші мінімального нормалізованого числа для кожного з підтримуваних форматів. Такі числа мають мінімальну (нульову) характеристику і ненульові мантису. Тобто денормалізовані числа мають такі властивості:
-
зміщений порядок дорівнює нулеві;
-
старші біти мантиси рівні нулеві.
Отже обставина, яка полягає в тому, що старші біти мантиси є нулі, означає розширення діапазону значень чисел за рахунок зменшення їх точності. Як правило дуже малі значення виникають як проміжні, а не остаточні результати. Пристрій FPU може завантажувати, зберігати і обробляти денормалізовані числа при їх появі.
Істинний нуль.
Значення нуль в дійсних і десятковому
форматах є знакове, двійковий нуль –
завжди додатній. В обчисленнях знак
нуля не враховується. Нуль в дійсних
форматах подається як
,
тобто знак нуля, характеристика – нуль,
мантиса – нуль.
Безмежність
(нескінченність).
Дійсні формати підтримують знакові
зображення безмежностей. Їхні коди
.
Знаки безмежностей враховуються і
порівняння можливі. Безмежності завжди
інтерпретуються в афінному розумінні:
.
Не числа.
Є представниками класу спеціальних
значень. Будь-який знак, характеристика
– всі одиниці і довільна мантиса, за
винятком
(така мантиса в
).
Невизначеність.
Спеціальне не число. Формується FPU
як реакція на замаскований особливий
випадок “недійсна операція”. Це не
число має вигляд
,
тобто знак
,
характеристика –
всі одиниці, мантиса –
.
Дане значення передбачене для такого
випадку, коли людина змушена говорити
“не знаю”.
Не підтримувані формати. Решта не чисел створюється або програмістом, або одержується зі значень, визначених програмістом. Використовуються для прискорення налагодження програм. Формат РТ має досить багато двійкових наборів, які не попадають ні в один з розглянутих класів. Сюди належать так звані псевдо не числа, псевдо безмежності, не нормалізовані і псевдо не нормалізовані числа, тощо.
Принцип збереження молодшого за меншою адресою розповсюджується й на зберігання в ОП чисел, які підтримуються FPU. Логічно лівий біт найстарший, правий – наймолодший. У фізичній пам’яті першим (з найменшою адресою) зберігається молодший байт (адреса цього байта вважається й адресою всього числа), а останнім (за найбільшою адресою) – старший байт. Передача даних завжди починається з молодшої адреси.