Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОТ СП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11 Мб
Скачать
☆

Питання для самоконтролю

  1. Дайте означення регістрової адресації.

  2. Дайте означення способів адресації перходів.

  3. Назвіть види способів адресації переходів.

  4. Дайте означення та назвіть призначення адресації відносно лічильника команд.

  5. Дайте означення та назвіть призначення абсолютної адресації.

  6. Дайте означення та назвіть призначення безпосередньої адресації.

  7. Дайте означення та назвіть призначення прямої адресації.

  8. Дайте означення та назвіть призначення простої непрямої адресації.

  9. Дайте означення та назвіть призначення відносної непрямої адресації.

  10. Дайте означення та назвіть призначення непрямої адресації з предекрементом.

  11. Дайте означення та назвіть призначення непрямої адресації з постінкрементом.

  12. Дайте означення та назвіть призначення непрямої адресації памяті програм.

Література

[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.

вміти:

  • Використовувати роботу із файлами у власних програмах.

Питання для самоконтролю

  1. Назвіть призначення функції 5Bh.

  2. Назвіть порядок виклику функції 5Bh.

  3. Назвіть призначення функції 3Еh.

  4. Назвіть призначення функції 40h.

  5. Назвіть призначення функції 3Fh.

Література

[2] c. 182-193

3.4. Вивід графічної інформації у мові Assembler

Питання для опрацювання

1.   Особливості роботи з відеорежимами.

2.   Порядок задання кольору для виведення даних.

Методичні рекомендації

Під час вивчення даної теми студенти повинні ознайомитись із особливостями створення графічних побудов у мові Асемблер, навчитись використовувати графічні побудови у власних програмах.