- •1. Що таке Асемблер?
- •9.Які ресурси середовища Intel64 для виконання програм
- •10. Режимы работы процессоров ia-32 (Режими роботи процесорів архітектури x86)
- •1 Реальный режим
- •2 Режим системного управления
- •3 Защищенный режим
- •11) Який адресний простір архітектури ia-32 і чим він визначається?
- •12 Який адресний простір архітектури Intel64 і чим він визначається?
- •14.Способи переведення у іншу систему числення. Приклади
- •13. Позиційні системи числення. Поняття та основні формули
- •15. Способи представлення від'ємних чисел
- •16. Додатковий код. Приклади
- •17. Зміщений код. Приклади
- •18 Формати з плаваючою точкою. Стандарти
- •19 Стандартний двійковий 32-бітовий формат з плаваючою точкою
- •20 Тандартний двійковий 64-бітовий формат з плаваючою точкою
- •21.Стандартний двійковий 80-бітовий формат з плаваючою точкою
- •22. Порівняння основних стандартних двійкових форматів з плаваючою точкою
- •23. Фізична память. Як узнати розрядність адрес?
- •24. Моделі пам'яті у процесорах архітектури x86
- •25. Сегментована пам'ять
- •26. Flat - модель пам'яті
- •27. Сторінкова пам'ять
- •28. Регістри процесора архітектури ia-32
- •29. Регістри процесора архітектури Intel64
- •30. Регістри загального призначення.
- •31. Сегментні регістри
- •8 Прапорів полягання
- •1 Прапор управління
- •5 Системних прапорів
- •35 Операнди команд та способи адресації операндів
- •36 Безпосередні операнди команд
- •37 Регістрові операнди команд
- •38 Способи вказування комірок пам'яті у якості операндів команд
- •39. Що таке опосередкована адресація стосовно вказування операнду команди?
- •40. Що таке база, індекс, зміщення, масштаб у операнді команди?
- •41Полное определение
- •44. Структура вихідного тексту програми на Асемблері
- •45.Директиви Асемблера. Найпопулярніші на вашу думку директиви
- •46.Директиви вказування типу процесора та моделі пам'яті
- •47. Директиви створення даних
- •48. Директива invoke. Приклади
- •49. Директива align. Приклади
- •50. Базові типи даних архітектури процесорів x86
- •51. Числові типи даних
- •52.Упаковані simd типи даних
- •Використання
- •53. Основні групи команд процесорів архітектури x86
- •54. Команди копіювання даних
- •Xchg Обмін данімі між операндами
- •55. Команди додавання цілих чисел
- •56. Команди віднімання цілих чисел
- •57. Команди множення цілих чисел
- •58. Команди ділення цілих чисел
- •59. Побітові логічні команди
- •60. Програмування читання та запису окремих бітів
- •61. Команди зсувів
- •62. Команди циклічного зсуву
- •63 Команды перехода
- •64 Реализация if-then-else
- •65, 66 Програмування циклів на асемблері?
- •67 Цикл з постумовою (рис. 2)
- •68. Програмування циклу зі збереженням біту переносу cf
- •69. Програмування циклу на основі команд loop
- •70. Програмування вкладених циклів
- •71. Команди обробки рядків даних
- •72. Команди stos, stoSx
- •73. Команди movs,movsx.
- •74. Префікс повторення rep та його різновиди.
- •75.Що таке структурованість та модульність програм. Наведіть приклади.
- •76. Макроси. Приклади програмування
- •77. Процедури. Визначення, виклик. Приклади програмування
- •78. Способи передавання значень параметрів процедурам
- •79. Локальні дані процедур
- •80. Пролог та епілог процедури
- •81. Стековий кадр процедури
- •82. Написання модульних програм на Асемблері
- •83. Можливості використання мов високого рівня сумісно з Асемблером
- •84. Конвенції виклику процедур
- •85. Конвенція cdecl. Приклад програмування.
- •86. Конвенція stdcall. Приклад програмування.
- •87. Асемблерні вставки у мовах високого рівня.
- •88. Середовище x87 fpu
- •89. Команди x87 fpu. Приклад програми.
- •90. Стек даних x87 fpu. Приклад програми.
- •91. Команди simd
- •92. Розширення mmx
- •93. Розширення sse
- •94. Типи даних sse
- •95. Векторны команди sse
- •96 Горизонтальне додавання
- •97. Команди movups та movaps. Приклад використання
- •98. Векторні команди множення sse. Приклад використання
- •99. Векторні команди додавання sse. Приклад використання
- •100. Команда shufps та її застосування
- •101. Розширення avx
- •102. Типи даних avx
- •103. Команды avx
- •104. Особенности команд avx по отношению к sse
- •105. Эволюция simd-расширений системы команд процессоров архитектуры х86
17. Зміщений код. Приклади
Смещенный
код, или код с избытком, используется в
ЭВМ дял упрощения операций над порядками
чисел с плавающей запятой. Он формируется
следующим образом. Сначала выбирается
длина разрядной сетки - n
и записываются последовательно все
возможные кодовые комбинации в обычной
двоичной системе исчисления. Затем
кодовая комбинация с единицей в старшем
разряде, имеющая значение
,
выбирается для представления числа 0.
Все последующие комбинации с единицей
в старшем разряде будут представлять
числа 1, 2, 3,… соответственно, а предыдущие
комбинации в обратном порядке – числа
-1, -2, -3, …
Так, числа 3 и -3 в формате со смещенным для 3-разрядной сетки будут иметь представление 111 и 001 соответственно, в формате со смещением для 4-разрядной сетки 1011 и 0101 соответственно. Нетрудно заметить, что различие между двоичным кодом с избытком и двоичным дополнительным кодом состоит в противоположности значений знаковых битов, а разность значений кодовых комбинаций в обычном двоичном коде и двоичном коде с избытком для 3- и 4-разрядных сеток равна соответственно 4 и 8.
18 Формати з плаваючою точкою. Стандарти
Существуют стандартные форматы для двоичных чисел с плавающей точкой
IEEE 754 – 1985,2008
V= (-1)S * 2E * M
S - знак
E - экспонента
M – мантисса (состоит из целой и дробной части)
M = 1*F, где F – дробная часть
E = e + cдвиг
Три основные формата :
- 32-битный (Single Precisiom) : S – 1 бит; e – 8 бит; F – 23 бита. Хитрость : целая часть в памяти не записывается, поскольку она в мантиссе всегда 1 («спрятанный бит»). Для этого формата сдвиг – 127. Диапазон чисел +- (2-126 …2+126)
- 64-битный (Double Precision) : S – 1 бит; e – 11 бит; F – 42 бита. Для этого формата сдвиг – 1023. Диапазон чисел +- (2-1022 …2+1022)
- 80-битный (Extended Precision) : S – 1 бит; e – 15 бит; F – 63 бита, j (M = j*F, где j - бит целой части, 0 или 1) – 1 бит; сдвиг – 16383. Диапазон чисел +- (2-16382 …2+16382). Этот формат используется для промежуточных вычислений тригонометрических функций и самим процессором как внутренний.
В версии стандарта 2008 года появились новые разновидности :
- 16-битный (Half Precision) : S – 1 бит; e – 5 бит; F – 10 бит; сдвиг : 15. Этот формат центральный процессор не использует, но он популярен среди процессоров видеокарт.
Диапазон чисел : (-14…15)
19 Стандартний двійковий 32-бітовий формат з плаваючою точкою
Широко поширений комп'ютерний формат представлення дійсних чисел, що займає в пам'яті 32 біт а (4 байта). Як правило, під ним розуміють формат числа з плаваючою комою стандарту IEEE 754.
Числа одинарної точності з плаваючою комою забезпечують відносну точність 7-8 десяткових цифр в діапазоні від 10−38 до приблизно 1038.
У сучасних комп'ютерах обчислення з числами з плаваючою комою підтримуються апаратним співпроцесором (FPU - Floating Point Unit). Однак у багатьох обчислювальних архітектурах немає апаратної підтримки чисел з плаваючою комою і тоді робота з ними здійснюється програмно.
Експонента записується у зміщеному коді: e = E+127.
Діапазон для експоненти E: від Еmin = -126 до Emax=+127. Виходячи з цього, можна оцінити діапазон представлення чисел: ±(від 2-126 до 2+127).
Мантиса має вигляд M = 1.F, тобто ціла частина завжди дорівнює одиниці. Оскільки це заздалегідь відомо, то для заощадження пам’яті біт цілої частини в пам’ять не записується – цей біт зветься "схованим бітом".
1 8 23
S |
e |
F |
http://uk.wikipedia.org/wiki/Число_одинарної_точності
