- •Методичні вказівки
- •«Системне програмування»
- •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.Функції для керування роботою паралельного порту
Питання для самоконтролю
Дайте означення регістрової адресації.
Дайте означення способів адресації перходів.
Назвіть види способів адресації переходів.
Дайте означення та назвіть призначення адресації відносно лічильника команд.
Дайте означення та назвіть призначення абсолютної адресації.
Дайте означення та назвіть призначення безпосередньої адресації.
Дайте означення та назвіть призначення прямої адресації.
Дайте означення та назвіть призначення простої непрямої адресації.
Дайте означення та назвіть призначення відносної непрямої адресації.
Дайте означення та назвіть призначення непрямої адресації з предекрементом.
Дайте означення та назвіть призначення непрямої адресації з постінкрементом.
Дайте означення та назвіть призначення непрямої адресації памяті програм.
Література
[2] с. 24-28, [5] с. 27-29,[10] с. 107-118
3.3. Робота з файлами у мові Assembler
Питання для опрацювання
1.Робота з файлами у мові Assembler
Методичні рекомендації
Під час вивчення даної теми студенти мають ознайомитись із порядком роботи з файлами у мові Асемблер, навчитись вико-ристовувати файли у власних программах.
Мова Асемблера, так само як і мови високого рівня підтримує роботу з файлами. Усі типові операції для роботи з файлами на рівні DOS (створення, знищення, запис, читання) реалізовані у вигляді певних функцій переривання №21h. Більше того, стандартні функції для роботи з файлами мов високого рівня (наприклад fread, fwrite мови С++) фактично лише здійснюють виклик відповідних функцій переривання №21h. Повний перелік функцій переривання №21h, які виконують роботу з файлами можна отримати із додаткової літератури, наприклад [2 c.181]. Розглянемо призначення деяких функцій:
Функція 5Bh виконує створення і відкриття нового файлу. Порядок її виклику є наступним:
mov ah, 5Bh
mov cx, <атрибут файла>
Кожен біт цього атрибуту має такі властивості (1 – встановлення властивості):
біт 7: файл дозволено відкривати різним процесам в операційній системі Novell Netware;
біт 6: не використовується;
біт 5: ознака архівного файлу;
біт 4: ознака папки (директорії).
біт 3: мітка тома
біт 2: ознака системного файлу
біт 1: ознака прихованого файлу;
біт 0: ознака файлу тільки для читання.
ds:dx – адреса ASCIIZ-рядка із повним шляхом до файлу. Буква Z в кінці означає, що рядок повинен завершуватись нуль-символом.
У нашому випадку визначення сегмента (запис адреси сегменту даних в регістр ds) відбувається на початку програми, а запис адреси рядка в регістр dx будемо проводити за допомогою команди lea
int 21h
В результаті виклику цієї функції в регістрі ax у разі успішного відкриття файлу буде знаходитись цифровий ідентифікатор файлу (аналог вказівника на файл мови С++). Він буде використовуватись під час усіх подальших операцій із файлами.
Слід розуміти, що на відміну від інших мов програмування в Асемблері перезапис існуючого файлу не відбувається автоматично. Для цього слід додатково викликати іншу функцію. Тому перед викликом даної функції слід зробити так, щоб файлу, який буде створюватись, не існувало на диску. Якщо не виконати цього, то існуючий файл залишиться незмінним.
Функція 3Еh виконує закриття файлу. Крім номера функції, який традиційно передається через регістр ah, перед викликом переривання додатково в регістрі bx треба передати цифровий ідентифікатор файлу.
Функція 40h виконує запис даних у файл. Вона викликається в такому форматі:
mov ah, 40h; номер функції
mov bx, <ідентифікатор>
mov cx; <кількість байт, які треба записати>
ds:dx – адреса буфера з даними, які будуть записуватись у файл
int 21h
Аналогічно працює функція для читання даних з файлу. Вона має номер 3Fh.
Студент повинен
знати:
Призначення функції 5Bh.
Порядок виклику функції 5Bh.
Призначення функції 3Еh.
Призначення функції 40h.
Призначення функції 3Fh.
вміти:
Використовувати роботу із файлами у власних програмах.
Питання для самоконтролю
Назвіть призначення функції 5Bh.
Назвіть порядок виклику функції 5Bh.
Назвіть призначення функції 3Еh.
Назвіть призначення функції 40h.
Назвіть призначення функції 3Fh.
Література
[2] c. 182-193
3.4. Вивід графічної інформації у мові Assembler
Питання для опрацювання
1. Особливості роботи з відеорежимами.
2. Порядок задання кольору для виведення даних.
Методичні рекомендації
Під час вивчення даної теми студенти повинні ознайомитись із особливостями створення графічних побудов у мові Асемблер, навчитись використовувати графічні побудови у власних програмах.
