Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсак Николая(Переделаний).docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
47.45 Кб
Скачать
    1. Опис алгоритму рішення задач

Програма забороняє видаляти файли в 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) – старий обробник перепивання;

    1. Виконання програми

Для запуску резедентной програми необхідно набрати її ім’я в командному рядку або вибрати її та запустити з будь якого файлового менеджера. Наприклад:

А:\VERTIK

Після запуску програми відбувається титульний аркуш на якому показано тему курсового проекту та його розробника.

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

Висновок

В процесі написання курсового проекту було створено резидентну програму яка забороняє видалення файла в операційної системи MS DOS.

В результаті розробки проекту мною самостійно була вивчена інформація про обробники переривань. Вивчив метод розміру та обчмслбвання программи в пам’яті комп’ютера .Мною були вивчені засоби для графічного оформлення програми.

Також був вивчений теоретичний матеріал, що стосується операційної системи MS DOS, її внутрішньої архітектури й організації.

В результаті цього було розроблено програму, що є досить зручною у користуванні і достатньо інформативною навіть для недосвідченого користувача. Програма досить схожа із стандартними MS DOS, що полегшує сприйняття при роботі з нею.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]