Контроль програм, які запускаються на даному комп"ютері - Курсовая работа

бесплатно 0
4.5 102
Програма, що контролює програми, які запускаються на комп’ютері на мові ASM-86. Алгоритм програми: перевірка параметрів, які задані в командному рядку, та функції обробника переривання 21h. Компілювання Turbo Assembler, зв’язування за допомогою TLINK.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Коли компютери одержали широке розповсюдження, компютер став допомагати людині, бо він може багато операцій робити набагато швидше, ніж людина.Розробити програму “Контроль програм, які запускались на даному компютері" на мові програмування ASM-86.Перепризначаємо цю функцію, та в процесі роботи цієї функції виділяємо імя, час та дату запуску програми, та записуємо цю інформацію до файлу.Алгоритм головної програми: Перевірка на присутність програми в памяті. Не присутня, встановлення нового обробника переривання 21h, залишення резидента в памяті. Якщо є символи /r, то вигрузка резидента з памяті (звільнення памяті, відновлення старого обробника переривання 21h). Якщо є символи /s, то інвертування прапорцю зупинки (чи буде перевіряться імя на присутність в стоповому файлі). Якщо є символи /d, то вилучаємо файл, в якому записується інформація про програми, які запускаються на компютері.Вона складається з головної програми, яка перевіряє параметри, які задані в командному рядку, та функції-обробника переривання 21h, який й контролює програми, які запускалися.IBM сумісний компютер із мікропроцесором Intel 80086 або старшим.Для запуску резидентної програми, яка здійснює контроль програм, які запускалися на компютері, потрібно в командному рядку набрати kontrol.com та натиснути Enter. Також в командному рядку можна задавати параметри: “/R" - вигрузити програму з памяті.Отже, на мові ASM-86 створено програму, яка виконує контроль програм, що запускалися на компютері.Parametr EQU 0081h; Смещение параметров model tiny; Модель памяти TINY - крошечная. code; Начало сегмента кода. org 100h; Установка точки входа. start:; Метка с которой начинается программа jmp init; Переходна установки. old dw 0,0; Указатели на старые вектора прерываний. string db 100 dup (0); Имя запускаемой программы string1 db 100 dup (0); Имя запускаемой программы comp db 0; флаг сравнения err1 db 0; флаг ошибки str1 db 0; буфер файла stop1 db 0; проверять ли сравнение lf db 13,10; сиволы перехода на новую строчку nam db "c: \history. asm",0; Имя файла, в котором будем сохранять nam1 db "c: \stop. asm",0; Имя файла, с запрещенными программами len dw 0; длина строки с именем программы @@1: push ax bx cx dx ds si DI ES; сохраняем все используемые регистры в стеке push dx; --заносим в регистр SI сегмент, в котором pop si; - содержится имя запускаемой программы mov bx,0; обнуляем регистр BX m1: mov al,ds: [si bx] ; =-mov cs: string [bx],al; ¦ копируем имя программы в переменную inc bx; ¦ string cmp al,0; =-jnz m1 mov cs: len,bx; сохраняем длину строки cmp cs: stop1,0; проверяем флаг проверки jne noprov; надо проверять call prov; если надо, то на проверку noprov:; иначе не проверять lea dx,cs: nam; адрес выходного файла push cs pop ds call CREATEFILE; процедура создания файла mov ah,40h; функция записи в файл mov bx,cs: outfile; номер файла mov cx,cs: len; длина буфера lea dx,cs: string; адрес буфера pushf call dword ptr cs: old; вызываем функцию записи в файл mov ah,02h; функция чтения текущего времени int 1ah; прерывание работы с часами реального времени mov ah,ch; - - mov al,ch; ¦ and ah,11110000b; ¦выделяем цифры часов and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [2],ah; --сохраняем часы mov tim [3],al; - - mov tim [4],": "; ставим двоеточие mov ah,cl; - - mov al,cl; ¦ and ah,11110000b; ¦выделяем цифры минут and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [5],ah; --сохраняем минуты mov tim [6],al; - - mov tim [7],": "; ставим двоеточие mov ah,dh; - - mov al,dh; ¦ and ah,11110000b; ¦выделяем цифры секунд and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [8],ah; --сохраняем секунды mov tim [9],al; - - mov ah,04h; функция чтения текущей даты int 1ah; прерывание работы с часами реального времени mov ah,dl; - - mov al,dl; ¦ and ah,11110000b; ¦выделяем цифры дня and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [12],ah; --сохраняем день mov tim [13],al; - - mov tim [14],": "; mov ah,dh; - - mov al,dh; ¦ and ah,11110000b; ¦выделяем цифры месяца and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [15],ah; --сохраняем месяц mov tim [16],al; - - mov tim [17],": "; ставим двоеточие mov ah,ch; - - mov al,ch; ¦ and ah,11110000b; ¦выделяем цифры века and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [18],ah; --сохраняем век mov tim [19],al; - - mov ah,cl; - - mov al,cl; ¦ and ah,11110000b; ¦выделяем цифры года and al,1111b; ¦ shr ah,4; ¦ add ah,48; ¦ add al,48; - - mov tim [20],ah; --сохраняем год mov tim [21],al; - - mov ah,40h; Функция вывода в файл mov bx,cs: outfile; номер файла mov cx,25; количество выводимых символов=25 (время и дата) lea dx,cs: tim; адрес выводимой строки pushf; сохраняем регистр флагов в стеке call dword ptr cs: old; вызываем старый обработчик прерывания mov ah,40h; =-mov bx,cs: outfile; ¦ mov cx,2; ¦ переход в файле наследующую строку lea dx,cs: lf; ¦ pushf; ¦ call dword ptr cs: old

План
Зміст

1. Вступ

2. Постановка задачі

3. Обґрунтування вибору методів розвязку задачі

4. Алгоритм програми

5. Реалізація програми

6. Системні вимоги

7. Інструкція для користувача

8. Висновки

Використана література

Додаток

Лістинг програми

Вывод
Отже, на мові ASM-86 створено програму, яка виконує контроль програм, що запускалися на компютері.

Список литературы
1) “Програмування на мові Асемблера ЕС ЕВМ" З.С. Брич, В.I. Воющ Москва 1989 р. ст. 166

2) “Програмування на сучасних мовах програмування. ” Москва 1990 р. ст. 206

3) “Основи мови” Асемблер” В.I. Криволап. Москва 1997р. ст.309

4) “Ассемблер для початківців” М.П. Шукін. Київ 1980р. ст.155

5) “Турбо Асемблер” Л.В. Захаров. Харків 1995 р ст.178

6) “Макро Асемблер” К.С. Кропійко, О.Д. Богатирова. Київ - “Наука” 1991 р.

7) Електронний довідник BOOK.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?