- •Лабораторна робота 1.
- •1. Символи.
- •2 Представлення чисел у пам’яті пеом.
- •2.1 Цілі числа. Цілі числа без знака
- •2.2 Цілі числа зі знаком
- •3 Дійсні числа.
- •3.1 Представлення дійсних чисел у двійковому нормалізованому виді.
- •3.2 Машинні формати дійсних чисел
- •3.2.1. Формат 32 біти - float (або single)
- •3.2.2. Формат 64 біти - double
- •4. Завдання на лабораторну роботу.
- •5. Методичні вказівки з оформлення звіту
- •6. Рішення типового прикладу (без оцінки похибки перетворення)
- •7. Питання для самоперевірки
- •8. Література
- •Лабораторна робота 2.
- •1. 3 Формати файлів, що виконуються, які підтримуються у fasm
- •2. Завдання на лабораторну роботу:
- •3. Методичні вказівки з оформлення звіту
- •4. Питання для самоперевірки.
- •Лабораторна робота 3.
- •1. Підготовка до роботи.
- •2. Питання для самоконтролю.
- •3. Короткі теоретичні відомості.
- •3.1 Команди пересилання даних.
- •3.1.3 Операції зі стеком:
- •3.2 Робота із налагоджувачем OllyDbg.
- •3.2.2. Розглянемо основні команди меню OllyDbg.
- •4. Завдання на лабораторну роботу.
- •9. Література
- •Лабораторна робота 4.
- •3.2. Операції із прапорами процесора:
- •3.3 Команди розповсюдження знаку
- •4. Методичні вказівки з оформлення звіту
- •5. Рішення типового прикладу.
- •6. Завдання на лабораторну роботу
- •7. Критерії оцінювання.
- •8. Питання для самоперевірки
- •9. Література
- •Лабораторна робота 5.
- •3.2. Команди зсуву
- •3.3 Команди сканування бітів
- •4. Методичні вказівки з оформлення звіту
- •5. Приклади використання бітових команд
- •6. Завдання на лабораторну роботу
- •7. Критерії оцінювання.
- •8. Питання для самоперевірки
- •9. Література
- •Лабораторна робота 6.
- •1. Підготовка до роботи.
- •2. Питання для самоконтролю.
- •3. Короткі теоретичні зведення.
- •3.1. Команди безумовної передачі управління
- •3.1.1. Команда безумовного переходу jmp
- •3.2. Команди умовної передачі управління Jcc
- •3.2.1. Перша група команд умовного переходу.
- •3.2.2 Друга група команд умовного переходу.
- •3.2.3. Третя група команд умовного переходу.
- •3.3. Команди управління циклами looPx
- •3.3.1. Команда loop — перехід по лічильнику
- •3.3.2. Команда loope (loopz) перехід по лічильнику і якщо дорівнює
- •3.3.3. Команда loopne (loopnz) перехід по лічильнику і якщо не дорівнює
- •4. Методичні вказівки з оформлення звіту
- •5. Приклади використання бітових команд
- •6. Завдання на лабораторну роботу.
- •7. Критерії оцінювання.
- •8. Питання для самоперевірки
- •9. Література
- •Лабораторна робота 7.
- •1. Підготовка до роботи.
- •2. Питання для самоконтролю.
- •3. Короткі теоретичні відомості.
- •3.1. Реалізація основних операцій по обробці масивів мовою асемблера.
- •4. Методичні вказівки з оформлення звіту
- •5. Критерії оцінювання.
- •6. Завдання на лабораторну роботу.
- •7. Питання для самоперевірки
- •8. Література
- •Лабораторна робота 8.
- •1. Підготовка до роботи.
- •2. Питання для самоконтролю.
- •3. Короткі теоретичні відомості.
- •4. Приклади виконання деяких типових задач обробки рядків
- •4. Завдання на лабораторну роботу.
- •Лабораторна робота 9.
- •1. Підготовка до роботи.
- •2. Питання для самоконтролеві.
- •3. Короткі теоретичні відомості
- •3.1. Принципи організації підпрограм
- •3.2. Параметри процедур і значення, що повертаються
- •3.3. Використання загальних перемінних у процедурах
- •3.4. Особливості fasm по організації підпрограм (Windows - додатка).
- •Лабораторна работа 10-11.
- •3.1.2. Засобу bios
- •3.2. Уведення з клавіатури
4. Завдання на лабораторну роботу.
Сучасні системи програмування використовують різні логічні типи даних, що займають визначену кількість розрядів двійкового числа (рисунок 1).
Рис 1. – Базові типи даних та діапазон представлення даних
Перетворення чисел у внутрішнє машинне представлення. Зверніть увагу, що число повинно бути записаним у відповідну кількість комірок, згідно формату, що був використаним, тобто 8,16, 32, 64 або 80 комірок (рис. 1).
Перевести у внутрішнє машинне представлення число що дорівнює:
а) числу та місяцю народження, наприклад, 23.04.1990, беремо число ±2304
б) повній даті народження, наприклад, 23.04.1990, беремо число ±23041990,
Перетворення цілих чисел у внутрішнє машинне представлення.
Зверніть увагу, при переводі числа потрібно дрібну частину представити 15-20 двійковими розрядами. Оцінити похибку перетворення.
а) числу та місяцю народження, наприклад, 23.04.1990, беремо число ±2.304
б) повній даті народження, наприклад, 23.04.1990, беремо число 2304.1990
с) повній даті народження, наприклад, 23.04.1990, беремо число 230419.90
5. Методичні вказівки з оформлення звіту
Звіт до лабораторної роботи повинен містити:
тему лабораторної роботи;
формулювання мети і задач, що вирішуються в ході виконання роботи;
докладний звіт про перетворення цілих чисел у внутрішнє машинне представлення із проміжними результатами;
докладний звіт про перетворення дійсних чисел у внутрішнє машинне представлення із проміжними результатами;
висновки.
6. Рішення типового прикладу (без оцінки похибки перетворення)
Схема переведення для невеликих цілих чисел (DECIMAL — BINARY). Аналогічно можливе перетворення до шістнадцятирічної та вісімкової систем числення.
|
Результат 137 decimal - 10001001 binary Запис на Асемблері робиться з використанням дескрипторів: D - decimal (десяткова СЧ - це дескриптор за замовчуванням, звичайно НЕ пишеться) B - binary (двійкова СЧ) 137d - 10001001b |
Внутрішнє представлення числа цілого числа
230410 -> 07F216
-230410 -> F70016
Примітка – достатньо 11 двійкових розрядів, найближчий базовий тип – 16 розрядів, тому обираємо саме його.
2304119010 -> 015F94A616
-2304119010 -> FEA06B5A16
Примітка – обираємо 32 – бітний формат представлення даних як найближчий.
Внутрішнє представлення числа 2,304
1. float: 2.304 - 40 13 74 BC
2 float: -2.304 - C0 13 74 BC
3 double: 2.304 - 40 02 6E 97 8D 4F DF 3B
4 Long double: 2.304 - 40 00 93 74 BC 6A 7E F9 DB 23
7. Питання для самоперевірки
Які типи даних зберігаються у пам’яті ПЕОМ?
Чому беззнакові числа мають вдвічі більший діапазон?
Що таке „характеристика”, „зсув” „мантіса”, „нормалізована мантиса”?
У чому особливість зберігання чисел у форматі float?
У чому особливість зберігання чисел у форматі double?
У чому особливість зберігання чисел у форматі long double?
Для чого використовується прихований розряд?
8. Література
1. Голуб Н. Г. Искусство программирования на Ассемблере. Лекции и упражнения.- СПб.: ООО”ДиаСофтЮП”, 2002.-656 с.