- •Основи програмування на мові асемблер та знайомство з програмним забезпеченням для виконання лабораторних робіт
- •Теоретичні відомості
- •1.1 Особливості архітектури мікропроцесора типу Intel 80х86
- •Головні регістри мп Intel 8086 та їх призначення
- •1.2 Організація обчислень та узагальнена архітектура комп’ютера ibm pc
- •1.3 Основи програмування на мові асемблер та її синтаксис. Позначки, коди команд, операнди та директиви
- •1.4. Перетворення програми з тексту на мові асемблера у виконуваний модуль
- •1.5. Основи роботи з програмою afd
- •1.6. Основи роботи з програмою td
- •2. Порядок виконання роботи
- •4. Контрольні питання:
- •Сегментація програми. Сегменти коду, даних та стеку. Їх розташування в пам’яті еом. Директиви мови асемблера segment та ends.
- •Арифметичні та логічні операції мови асемблер
- •1. Теоретичні відомості
- •Директиви визначення даних
- •1.2. Команда перенесення даних
- •1.3. Арифметичні операції над двійковими числами
- •1.4. Команди логічних операцій
- •1.5. Команди зсуву бітів числа
- •1.6. Команди циклічного зсуву бітів числа
- •1.7. Структура асемблерних програм для com- та exe-модулів. Виклик процедур та стек
- •Таким чином, структура com-програми повинна бути такою:
- •2. Варіанти індивідуальні завдання для лабораторної роботи
- •3. Порядок виконання роботи
- •5. Контрольні питання
- •Структура програми на мові асемблер. Команди вітвлення та циклу
- •1. Теоретичні відомості
- •1.1 Механізми передачі керування та зміна послідовності виконання команд. Їх реалізація у мові асемблера. Типи адресації
- •1.2 Команда безумовного переходу jmp
- •1.3 Команда циклу loop
- •1.4 Команда порівняння cmp
- •1.5. Команди умовного переходу в мові асемблер
- •2. Варіанти індивідуальних завдань
- •3. Порядок виконання роботи
- •Виведення даних на монітор персонального комп’ютера
- •1. Теоретичні відомості
- •1.1. Представлення арифметичних та рядкових даних. Формати ascii та bcd. Команди корекції
- •1.2. Команди обробки рядкових даних мови асемблера
- •1.3. Переведення ascii-формату у двійковий формат та навпаки
- •Починаючи з молодшого байту обробляти число у лівому напрямку.
- •Вилучати трійки з шістнадцятирічних цифр кожного ascii-байту.
- •Множити отримані цифри на ваговий коефіцієнт кожного з розрядів та складати результати.
- •1.4. Введення та виведення даних в мові асемблера
- •1.5. Реалізація екранних операцій у мові програмування асемблер
- •2. Індивідуальні завдання для виконання лабораторної роботи №4
- •3. Порядок виконання роботи
- •5. Контрольні питання
- •Перелік рекомендованої літератури
- •Додаток 1 загальні вимоги до оформлення протоколів лабораторних робіт
- •Додаток 2 головні функції перериваннь bios та операційної системи ms-dos д2.1 переривання bios
- •Int 05h. Друк екрану.
- •Int 10h. Керування монітором (більш досконало функції переривання 10н описані у теоретичних відомостях до лабораторної роботи №4).
- •Int 11h. Запит списку приєднаного обладнання.
- •Д2.2 переривання ms-dos
- •Д2.3 головні функції перивання ms-dos int 21н
- •Додаток 3
Д2.3 головні функції перивання ms-dos int 21н
Нижче наведені базові функції для переривання DOS INT 21Н. Код функції установлюється у регістрі АН:
Таблиця 25. Функції переривання MS-DOS INT 21Н
Номер функції |
Що виконує |
00H |
Завершення програми (аналогічно до INТ 20Н). |
01H |
Введення символу з клавіатури з відображенням на екрані. |
02H |
Виведення символу на екран. |
03H |
Введення символу з асинхронного комунікаційного каналу. |
04H |
Виведення символу на асинхронний комунікаційний канал. |
05H |
Виведення символу на пристрій друку. |
06H |
Пряме введення з клавіатури та виведення на екран. |
07H |
Введення з клавіатури без відображення та без перевірки Ctrl/Break. |
08H |
Введення з клавіатури без відображення з перевіркою Ctrl/Break. |
09H |
Виведення рядку символів на екран. |
0АH |
Введення з клавіатури з буферізацією. |
0ВH |
Перевірка наявності введення з клавіатури. |
0СH |
Очищення буферу введення з клавіатури та запит на введення. |
0DH |
Відключення диску. |
0ЕH |
Встановлення поточного дисковводу. |
0FH |
Відкриття файлу через FСВ. |
10H |
Закриття файлу через FСВ. |
11H |
Початковий пошук файлу за шаблоном. |
12H |
Пошук наступного файлу за шаблоном. |
13H |
Вилучення файлу з диску. |
14H |
Послідовне читання файлу. |
15H |
Послідовний запис файлу. |
16H |
Створення файлу. |
17H |
Переіменування файлу. |
18H |
Внутрішня операція DOS. |
19H |
Визначення поточного дисковводу. |
1АH |
Встановлення області передання даних (DТА). |
1ВH |
Отримання таблиці FАТ для поточного дисковводу. |
1СH |
Отримання таблиці FАТ для будь-якого дисковводу. |
21H |
Читання з диску з прямим доступом. |
22H |
Запис на диск з прямим доступом. |
23H |
Визначення розміру файлу. |
24H |
Встановлення номеру запису для прямого доступу. |
25H |
Встановлення вектору переривань. |
26H |
Створення програмного сегменту. |
27H |
Читання блоку записів з прямим доступом. |
28H |
Запис блоку з прямим доступом. |
29H |
Перетворення назви файлу до внутрішніх параметрів. |
2АH |
Отримання дати (CX-рік, DH-місяць, DL-день). |
2ВH |
Встановлення дати. |
2СH |
Отримання часу (CH-година, CL-хвилина, DH-секунда, DL-1/100секунди). |
2DH |
Встановлення часу. |
2ЕH |
Встановлення/відміна верифікації запису на диск. |
2FH |
Отримання адреси DТА у регістровій парі ЕS:ВХ. |
30H |
Отримання номеру версії DOS у регістрі АХ. |
31H |
Завершення програми, після якого вона лишається резидентною у пам’яті. |
33H |
Перевірка Ctrl/Break. |
35H |
Отримання вектору переривання (адреси підпрограми). |
36H |
Отримання розміру вільного простору на диску. |
38H |
Отримання державно-залежних форматів. |
39H |
Створення підкаталогу (команда MKDIR). |
3АH |
Вилучення підкаталогу (команда RMDIR). |
3ВH |
Встановлення поточного каталогу (команда СНDIR). |
ЗСH |
Створення файлу без використання FСВ. |
3DH |
Відкриття файлу без використання FСВ. |
ЗЕH |
Закриття файлу без використання FСВ. |
ЗFH |
Читання з файлу або введення з пристрою. |
40H |
Запис до файлу або введення до пристрою. |
41H |
Вилучення файлу з каталогу. |
42H |
Встановлення позиції для послідовного доступу. |
43H |
Зміна атрибутів файлу. |
44H |
Зміна атрибутів файлу. |
45H |
Зміна атрибутів файлу. |
46H |
З’єднання дубльованих файлових номерів. |
47H |
Отримання поточного каталогу. |
48H |
Виділення пам’яті з вільного простору. |
49H |
Вивільнення виділеної пам’яті. |
4AH |
Зміна довжини блоку виділеної пам’яті. |
4BH |
Завантаження/виконання програми (підпроцесу). |
4CH |
Завершення підпроцесу з поверненням до керування. |
4DH |
Отримання коду завершення підпроцесу. |
4EH |
Початковий пошук файлу за шаблоном. |
4FH |
Пошук наступного файлу за шаблоном. |
54H |
Отримання стану верифікації. |
56H |
Перейменування файлу. |
57H |
Отримання/встановлення дати та часу зміни файлу. |
59H |
Отримання розширеного коду помилки. |
5АH |
Створення тимчасового файлу. |
5ВH |
Створення нового файлу. |
5CH |
Блокування/розблокування доступу до файлу. |
62H |
Отримання адреси префіксу програмного сегменту (РSР). |
