- •Технічні характеристики
- •2.1 Постановка задачі.
- •Визначення структури вхідних даних
- •Вимоги до технічних засобів
- •Вибір мови програмування
- •Опис алгоритму рішення задач
- •Void interrupt (far *old21)(...);void interrupt (far *old28)(..) – Показник на стару функцію обробки переривань;
- •Виконання програми
- •Список використаних джерел
Список використаних джерел
Александр Фролов, Григорий Фролов Аппаратное обеспечение IBM PC. Том 2. - М.: Диалог-МИФИ, 1992
Александр Фролов, Григорий Фролов MS-DOS для программиста. Том 2. - М.: Диалог-МИФИ, 1995
Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 1. Часть 1, 2, 3. Операционная система MS-DOS. М: ДИАЛОГ-МИФИ, 1993
Громов Ю.Ю., Татаренко С.И. Программирование на языке СИ: Учебное пособие. -Тамбов,1995.
Шаньгин В.Ф., Бєляєва А.Н. Програмування на мові С/С++. - М.: Высшая школа,1992..
Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 2. Аппаратное обеспечение IBM PC. Часть 1, 2.- М: ДИАЛОГ-МИФИ, 1992
Додаток А
Схема алгоритму програми
Початок
Титульна сторінка
ERROR=1
Видалення ERROR
кінець
Рисунок А.1 – Схема роботи програми
Додаток Б
Лістинг програми
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<bios.h>
void interrupt (far*old21)(...);
void interrupt (far*old28)(...);
void interrupt far new21 (...);
void interrupt far new28 (...);
int keycode, flag,f;
void main(){
unsigned size;
size=_DS-_CS+_SP/16+1;
old21=_dos_getvect (0x21);
_dos_setvect(0x21, new21);
old28=_dos_getvect (0x28);
_dos_setvect (0x28, new28);
clrscr();
gotoxy(25,10);printf("****************************************************************\n");
gotoxy(25,11);printf("* *\n");
gotoxy(25,12);printf("* КУРСОВА РОБОТА *\n");
gotoxy(25,13);printf("* з системного програмування *\n");
gotoxy(25,14);printf("* тема РЕЗИДЕНТНА ПРОГРАМА ЗАБОРОНИ ВИДАЛЕННЯ ФАЙЛІВ *\n");
gotoxy(25,15);printf("* СТУДЕНТА 481 ГРУПИ *\n");
gotoxy(25,16);printf("* КРИЖАНОВСЬКОГО В.В. *\n");
gotoxy(25,17);printf("* *\n");
gotoxy(25,18);printf("****************************************************************\n");
gotoxy(25,29);printf(" ДЛЯ ПРОДОВЖЕННЯ РОБОТИ НАЖМІТЬ ENTER");
getch();
flag=0;
_dos_keep (0, size);
}
void interrupt far new21 (...)
{
if (_AH==0x41)
{
f=1;_AL=0xFF;
}
else _chain_intr(old21);
}
void interrupt far new28(...)
{
if (flag==1)
{ clrscr ();
cputs ("ВИДАЛЕННЯ ERROR)\n");
flag=0; }
_chain_intr (old28);
}
