
- •Технічні характеристики
- •2.1 Постановка задачі.
- •Визначення структури вхідних даних
- •Вимоги до технічних засобів
- •Вибір мови програмування
- •Опис алгоритму рішення задач
- •Void interrupt (far *old21)(...);void interrupt (far *old28)(..) – Показник на стару функцію обробки переривань;
- •Виконання програми
- •Список використаних джерел
Опис алгоритму рішення задач
Програма забороняє видаляти файли в MS – DOS, вона програмується таким чином:
Для розширення набору стандартних функцій підключається наступні бібліотеки: dos.h – бібліотека для роботи з файловою системою MS – DOS, conio.h – бібліотека для створення графічного інтерфейсу
stdio.h – бібліотека для вводу-виводу даних, bios.h – бібліотека для роботи з функціями BIOS;
Void interrupt (far *old21)(...);void interrupt (far *old28)(..) – Показник на стару функцію обробки переривань;
void interrupt far new21(...) ;void interrupt far new28(…) – Оголошення новій функції обробки переривань
Описуються змінні f1, f2, flag, qu типу int для запроса та натиснення клавіш F1 в структурі вхідних та вихідних данних;
unsigned size – Розсчитується розмір резидентной частини TSR – програми;
size=_DS-_CS +_SP/16+1 – Обчислюємо розмір програми в параграфах;
old21=_dos_getvect(0x21) – Запам'ятовуємо старий вектор переривання 9;
_dos_setvect(0x21,new21) – Вбудовуємо свій обробник переривання 9;
old28=_dos_getvect(0x28) – Запам'ятовуємо старий вектор переривання 28;
_dos_setvect(0x28,new28) – Вбудовуємо свій обробник переривання 28;
clrscr(); textcolor(12); gotoxy(20,6) – Очищаєм екран, задаєм координати та створюємо титульну сторінку;
dos_keep(0,size) – Завершуємо програму і залишаємося в пам'яті;
void interrupt far new28(…) – Новий обробник переривання 28;
asm cli – Заборона переривань;
_chain_intr( old28) – Передача керування на старий обробник переривання;
void interrupt far new28(...) – Новый обработчик перыванеия;
asm cli – заборона переривань;
if(f1==1) – Якщо flag1 устанавлен в 1, то виводиться допомога;
clrscr(); cputs("DOPOMOGA KORISTUVATHU\n") – Очищаєм екран та виводим допоиогу користувачу;
f1=0 – сброс флага;
clrscr(); textcolor(12); gotoxy(20,16);– Очищаєм екран, задаєм координати та виводим запит користувача;
flag=0 – Скидаємо флаг натиснення F1;
if (qu==2) clrscr() puts("pitanie mozhno otkluchit") – Якщо устанавлен флаг підтвердження запиту виводиться "pitanie mozhno otkluchit";
chain_intr(old28) – старий обробник перепивання;
Виконання програми
Для запуску резедентной програми необхідно набрати її ім’я в командному рядку або вибрати її та запустити з будь – якого файлового менеджера. Наприклад:
А:\VERTIK
Після запуску програми відбувається титульний аркуш на якому показано тему курсового проекту та його розробника.
При спробі видалення файла програма повина вивести попередження в якому повідомляється користувача про заборону видалення файла.
Висновок
В процесі написання курсового проекту було створено резидентну програму яка забороняє видалення файла в операційної системи MS – DOS.
В результаті розробки проекту мною самостійно була вивчена інформація про обробники переривань. Вивчив метод розміру та обчмслбвання программи в пам’яті комп’ютера .Мною були вивчені засоби для графічного оформлення програми.
Також був вивчений теоретичний матеріал, що стосується операційної системи MS – DOS, її внутрішньої архітектури й організації.
В результаті цього було розроблено програму, що є досить зручною у користуванні і достатньо інформативною навіть для недосвідченого користувача. Програма досить схожа із стандартними MS – DOS, що полегшує сприйняття при роботі з нею.