
- •Методичні вказівки
- •«Системне програмування»
- •5.05010201«Обслуговування комп’ютерних систем і мереж»
- •Рецензія
- •Тема 3. Мова програмування Assembler ……………………………..……..135
- •1.1. Історія розвитку мов системного програмування Питання для опрацювання
- •Методичні рекомендації
- •1. Класифікація мов програмування
- •2. Розвиток мов системного програмування
- •Студент повинен
- •Питання для самоконтролю
- •Історія виникнення мови програмування с
- •2. Сфери застосування мови програмування с
- •1. Двійкова, вісімкова та шістнадцяткова системи числення.
- •2. Формати представлення чисел у різних системах числення.
- •3. Стандарти представлення чисел зі знаком.
- •Формати з плаваючою комою
- •Векторні формати
- •Приклади
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Приклад:
- •2. Керуючі послідовності
- •1. Види логічних операцій, які виконуються в комп’ютері.
- •За структурою
- •За типом запису даних
- •За архітектурними особливостями
- •За формою подання даних
- •Залежно від часу виконання операцій
- •Залежно від реалізації мікроалгоритму
- •Пристрій управління
- •Операційний пристрій
- •Регістри
- •2. Алгоритми виконання логічних операцій.
- •Побітові логічні операції
- •Бітові зсуви
- •Бітові операції як основа цифрової техніки[ред. • ред. Код]
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Порядок використання вбудованих функцій під час написання програм.
- •2. Порядок практичного використання багатовимірних масивів під час створення програм.
- •Студент повинен
- •1. Порядок задання і створення масивів структур.
- •2. Порядок практичного використання масивів структур під час створення програм.
- •1. Створення динамічних масивів за допомогою вказівників.
- •2. Передача аргументів процедур та функцій з використанням вказівників.
- •3. Використання масивів вказівників.
- •Студент повинен
- •Питання для самоконтролю
- •1. Головні означення та властивості теорії графів.
- •Зображення графів на площині
- •1. Порядок переходу у графічний режим виводу інформації.
- •2. Функції для побудов геометричних фігур.
- •1. Базові поняття об’єктно‑орієнтованого програмування (ооп).
- •2. Успадкування та поліморфізм.
- •Практичні прийоми програмування з використанням об’єктів.
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Тема 3. Мова програмування Assembler
- •3.1. Спеціалізоване використання регістрів процесора Intel 8086 Питання для опрацювання
- •Методичні рекомендації
- •1. Спеціалізоване використання регістрів даних.
- •2. Спеціалізоване використання регістрів-вказівників.
- •3.2. Способи адресації пам’яті у процесорах Intel 8086
- •1. Регістрова адресація.
- •2. Безпосередня адресація.
- •3. Пряма адресація.
- •4. Непряма адресація та її різновиди.
- •Питання для самоконтролю
- •1. Особливості роботи з відеорежимами.
- •2. Порядок задання кольору для виведення даних.
- •1. Функції для керування роботою послідовного порту
- •2.Функції для керування роботою паралельного порту
1. Двійкова, вісімкова та шістнадцяткова системи числення.
Системою числення, або нумерацією, називається сукупність правил і знаків, за допомогою яких можна відобразити (кодувати) будь-яке невід'ємне число. До систем числення висуваються певні вимоги, серед яких найбільш важливими є вимоги однозначного кодування невід'ємних чисел 0, 1,… з деякої їх скінченної множини — діапазону Р за скінченне число кроків і можливості виконання щодо чисел арифметичних і логічних операцій. Крім того, системи числення розв'язують задачу нумерації, тобто ефективного переходу від зображень чисел до номерів, які в даному випадку повинні мати мінімальну кількість цифр. Від вдалого чи невдалого вибору системи числення залежить ефективність розв'язання зазначених задач і її використання на практиці.
Двійкова система числення використовує для запису чисел тільки два символи, зазвичай 0 (нуль) та 1 (одиницю). Детальніше, двійкова система числення є позиційною системою числення, база якої дорівнює двом. Завдяки тому, що таку систему доволі просто використовувати у електричних схемах, двійкова система отримала широке розповсюдження у світі обчислювальних пристроїв.
Двійкове число можна представити як послідовність будь-яких об'єктів, які можуть знаходитися в одному з двох можливих станів. Наприклад:
Числа, що можуть приймати значення 0 або 1: 1 0 1 0 0 1 1.
Позиції, на яких можуть стояти хрестики або нулики: х о х о о х х.
Вузли електричної схеми, які може бути, а може не бути зіструмлено.
Ділянки магнітної смужки, які може бути, а може не бути намагнічено.
Зазвичай, для позначення двійкових чисел використовують нулі та одиниці. Перші персональні комп'ютери для відображення чисел мали ряд електричних лампочок (кожна з яких, зрозуміло, може або світитися, або бути вимкненою).
Лічити у двійковій системі не складніше, ніж у будь-якій іншій. Скажімо, у десятковій системі, коли число у поточному розряді сягає десяти, то розряд обнуляється і одиниця додається до старшого. Наприклад: 9+1=10, 44+7=51; Аналогічним чином у двійковій системі: коли число в розряді сягає двох - розряд обнуляється і одиниця додається до старшого розряду. Тобто: 1+1=10. Зверніть увагу, "10" у цьому записі - двійкове число, у десятковій системі це число записується як "2". А десяткове 9+1=10 у двійковій системі буде виглядати так: 1001+1=1010 (після додавання одиниці число в останньому розряді дорівнює двом, тож розряд обнуляється і одиниця додається до передостаннього(старшого) розряду).
Вісімко́ва систе́ма чи́слення — позиційна цілочисельна система числення з основою 8. Для представлення чисел в ній використовуються цифри 0 до 7.
Вісімкова система часто використовується в галузях, пов'язаних з цифровими пристроями. Характеризується легким переводом вісімкових чисел у двійкові і назад, шляхом заміни вісімкових чисел на триплети двійкових. Раніше широко використовувалася в програмуванні і взагалі комп'ютерної документації, проте в наш час[Коли?] майже повністю витіснена шістнадцятковою. У вісімковій системі вказуються права доступу для команди chmod в Unix-подібних операційних системах.
Таблиця переведення вісімкових чисел в двійкові:
08 = 0002
18 = 0012
28 = 0102
38 = 0112
48 = 1002
58 = 1012
68 = 1102
78 = 1112
Для переведення вісімкового числа в двійкове необхідно замінити кожну цифру вісімкового на триплет двійкових цифр. Наприклад: 25418 = 010 101 100 001 = 0101011000012
Шістнадцяткова систе́ма чи́слення — це позиційна система числення, кожне число в якій записується за допомогою 16-ти символів. Цю систему часто називають також Hex (початкові літери англ. hexadecimal — шіснадцятковий). Спочатку планувалось вживати латинське sexa замість hexa, проте це слово сприймалось неоднозначно. Для запису чисел в цій системі окрім 10 арабських цифр (від 0 до 9) використовують 6 літер латинської абетки: A, B, C, D, E, F.
|
|
|
|
|
|
|
|
|
|
|
|
|
0hex |
= |
0dec |
= |
0oct |
|
0 |
0 |
0 |
0 |
|
|
1hex |
= |
1dec |
= |
1oct |
|
0 |
0 |
0 |
1 |
|
|
2hex |
= |
2dec |
= |
2oct |
|
0 |
0 |
1 |
0 |
|
|
3hex |
= |
3dec |
= |
3oct |
|
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4hex |
= |
4dec |
= |
4oct |
|
0 |
1 |
0 |
0 |
|
|
5hex |
= |
5dec |
= |
5oct |
|
0 |
1 |
0 |
1 |
|
|
6hex |
= |
6dec |
= |
6oct |
|
0 |
1 |
1 |
0 |
|
|
7hex |
= |
7dec |
= |
7oct |
|
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8hex |
= |
8dec |
= |
10oct |
|
1 |
0 |
0 |
0 |
|
|
9hex |
= |
9dec |
= |
11oct |
|
1 |
0 |
0 |
1 |
|
|
Ahex |
= |
10dec |
= |
12oct |
|
1 |
0 |
1 |
0 |
|
|
Bhex |
= |
11dec |
= |
13oct |
|
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Chex |
= |
12dec |
= |
14oct |
|
1 |
1 |
0 |
0 |
|
|
Dhex |
= |
13dec |
= |
15oct |
|
1 |
1 |
0 |
1 |
|
|
Ehex |
= |
14dec |
= |
16oct |
|
1 |
1 |
1 |
0 |
|
|
Fhex |
= |
15dec |
= |
17oct |
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Запис числа формується за загальним принципом: на n-й позиції (справа наліво від 0) стоїть цифра, що відповідає кількості n-х степенів шістнадцяти у цьому числі. Наприклад, число записане в десятковій системі як 1000, в hex записується як 3E8, де:
3x162 + 14x161 + 8x160 = 768 + 224 + 8 = 1000.
Шістнадцяткова система числення широко вживана в інформатиці, оскільки значення кожного байту можна записати у вигляді двох цифр шістнадцяткової системи. Таким чином значення послідовних байтів можна представити у вигляді списку двозначних чисел. В той же час запис 4 бітів можна представити однією шістнадцятковою цифрою.
В математиці числа в недесяткових системах позначуються нижнім індексом, що визначає основу позиції. Наприклад, 1016 = 1610. В інформатиці прийняті інші форми запису. В різних мовах програмування шістнадцятковий запис виглядає так:
C, C++, Java — використовують префікс 0x (нуль та ікс) напр. 0x102f, а в текстових послідовностях \x, напр. «\x2f»
Деякі версії Асемблера — за числом ставлять h, напр.102fh. При цьому, якщо число починається не з десяткової цифри, то спереду ставиться «0» (нуль): 0FFh (25510)
Інші асемблери (AT&T, Motorola), а також Паскаль і деякі версії Бейсіку використовують префікс $, напр. $102f
Інші версії Бейсіку використовують для позначення шістнадкових цифр комбінацію «&h». Наприклад, &h5A3.
HTML — кольори RGB (Red — Червоний, Green — Зелений, Blue — Синій) записується як 3 двозначні числа hex від 0 до FF(25510) з попереднім знаком #, наприклад рожевий — #FF8080, сірий — #808080, чорний — #000000. Цей запис стосується 24-бітного кольору, який приписують тому чи іншому графічному елементу документу HTML.