Розробка резидентної програми, яка блокує і, по паролю, розблоковує роботу з клавіатурою

Програма на мові Asembler. Програма, яка блокує і, по паролю, розблоковує операції з файлами в заданій папці (директорії). Команда безумовного переходу. Базова команда пересилання даних. Копіювання даних з джерела в приймач. Передача на управління в DOS.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 09.02.2011
Размер файла 22,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

КУРСОВА РОБОТА

Тема - Розробка резидентної програми, яка блокує і, по паролю, розблоковує роботу з клавіатурою

АНОТАЦІЯ

В даній роботі розроблена програма, яка блокує і, по паролю, розблоковує операції з файлами в заданій папці (директорії). Робоча папка (директорія) та пароль вказуються в командному рядку як параметри при запуску програми При введенні паролю користувачем система порівнює значення паролю з паролем який був введений при запуску програми в командному рядку.

SUMMARY

In this work the developed program which blocks and, on a password, deblocks to operation with files in the set folder (directories). A working folder (directory) and password is specified in a command line as parameters at the start of the program At by an user the system compares the value to the password with in a command line.

ЗМІСТ

1. ОПИС ОСНОВНИХ КОМАНД, ЩО ВИКОРИСТАНІ В ПРОГРАМІ

2. БЛОК-СХЕМА ПРОГРАМИ

3. КОД ПРОГРАМИ З ПОЯСНЕННЯМИ

4. ОПИС РОБОТИ ПРОГРАМИ

ВИСНОВКИ

ПЕРЕЛІК ВИКОРИСТАНИХ ЛІТЕРАТУРНИХ ДЖЕРЕЛ

1. ОПИС ОСНОВНИХ КОМАНД , ЩО ВИКОРИСТАНІ В ПРОГРАМІ

В резидентній програмі яка блокує і, по паролю розблоковує операції з файлами в заданій папці (директорії), використовуються такі команди.

jmp - команда безумовного переходу, а також регістр або змінна, що містить адресу. В даній програмі ця функція виконує перехід до загрузчика.

jl - команда, яка здійснює перехід, аналогічний попередній, з умовою якщо перший операнд при попередньому порівнянні виявився меншим від другого.

jne - ця команда здійснює перехід, за умови що операнди виявились не рівними між собою.

pusha - команда розміщує в стеку регістри в порядку: AX,CX,DX,BX,SP,BP,SI,DI.

popa - команда виконує дії повністю протилежні pusha, але поміщене в стек значення SP або ESP ігнорується. popa завантажує зі стеку DI,SI,BP, збільшує SP на 2, і завантажує BX,DX,CX,AX.

mov - базова команда пересилання даних. Здійснює копіювання даних з джерела (вказується другим) в приймач (вказується першим, одразу після назви команди).

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

Єдиним наслідком роботи цієї команди є зміна флажків CF, OF, SF, ZF, AF і PF. В даній програмі команда використовується в поєднанні з командами переходу jmp, jl та jne.

iret - вихід (повернення) з переривання. Повертає зі стеку значення IP, CS і FLAGS які були до переривання.

2. БЛОК-СХЕМА ПРОГРАМИ

Блок - схема загрузочної частини програми.

Ні

Так

Встановлення попереднього

адресу вектора переривань

Блок - схема резидентної частини програми.

Так

Ні

3. КОД ПРОГРАМИ З ПОЯСНЕННЯМИ

Програма на мові Asembler.

.model tiny;вибір моделі пам'яті для компіляції com-файлу

.286

code segment

assume cs:code,ds:code

org 80h

len db ?

line db ?

org 100h

start:

......................резидентна частина................

jmp install ; перехід на реальний початок програми

fun equ 3ch

interrupt equ 21h

passw db 'Vvedit parol: $' ;буфер для виводу даних на екран

mes db 10

mesl db ?

rmes db 10 dup(?)

old_ip dw ?

old_cs dw ?

mess1 db 'Dostup zaboroneno!',0ah,0dh,'$'

mess2 db 'Dostup dozvoleno!',0ah,0dh,'$'

nop

………………………………………………………………………

obrobka:

cmp ah,fun

jne mit1

pusha ; збереження регістрів

push cs

pop ds ; відновлюємо значення регістра DS

mov ah,9

mov dx,offset passw;

pushf ; зберігаємо в стеці поточний стан прапорців

call dword ptr cs:[old_ip]

;int 21h ; виклик переривання виконання функції

mov ah,0ah

mov dx,offset mes

;int 21h ; виклик переривання виконання функції

pushf ; зберігаємо в стеці поточний стан прапорців

call dword ptr cs:[old_ip]

xor ch,ch

mov cl,mesl

xor di,di

porivn:

mov al,rmes[di]

inc di

cmp al,line[di]

jne failed

loop porivn

mov ah,9

mov dx,offset mess2

pushf ; зберігаємо в стеці поточний стан прапорців

call dword ptr cs:[old_ip] ;виклик старої програми обробки

popa ; зберегти регістри оперативного призначення

mit1:

jmp dword ptr cs:[old_ip]

failed:

mov ah,9

mov dx,offset mess1

pushf ; зберігаємо в стеці поточний стан прапорців

call dword ptr cs:[old_ip];виклик старої програми обробки

popa ; зберегти регістри оперативного призначення

iret ;передаємо управління перерваній програмі

.....................загрузочна частина....................

install:

cmp len,0

jne in1

mov dx,offset err1

mov ah,9

int 21h виклик переривання виконання функції

mov ax,4c00h

int 21h ;виклик переривання виконання функції

in1:

mov ah,35h

mov al,interrupt ;отримати адресу попереднього вектора переривання

int 21h ;виклик переривання виконання функції

mov [old_ip],bx ;зберегти молодше слово адреси в old_ip

mov [old_cs],es ;зберегти старше слово адреси в old_cs

mov dx,offset obrobka

mov ah,25h ; встановити нову адресу

mov al,interrupt

int 21h ;виклик переривання виконання функції

mov dx,offset install ;завершити роботу і залишити резидентною частину програми по мітку install

int 27h ;передаємо управління DOS

err1 db 'NEMA PARAMETRIV',0AH,0DH,'$'

code ends

end start ;кінець сегменту даних та назва точки входу з програми.

cmp - команда зрівнює операнди і встановлює флажки. Процес здійснюється шляхом вирахування джерела (число, регістр або змінна) з приймача (регістр або змінна, приймач та джерело не можуть бути змінними одночасно), причому результат вирахування нікуди не записується. Єдиним наслідком роботи цієї команди є зміна флажків CF, OF, SF, ZF, AF і PF. В даній програмі команда використовується в поєднанні з командами переходу jmp, jl та jne.

iret - вихід (повернення) з переривання. Повертає зі стеку значення IP, CS і FLAGS які були до переривання.

4. ОПИС РОБОТИ ПРОГРАМИ

Програма складається з двох частин: резидентної, в якій виконуються, безпосередньо завдання роботи і загружчика, який заносить резидентну частину в пам'ять. На початку програми вибирається тип процесора і вказується номер переривання за яким слідуватиме програма. Виконання програми починається з мітки start.

Програма переходить спочатку на мітку install з якої починається запуск програми, зчитується адрес попереднього переривання, ці дані записуються в пам'ять . Потім встановлюється адрес нового переривання з даних які були записані в резидентній частині програми, і відбувається передача на управління в DOS. Якщо в резидентній частині програми введені дані не співпадають з тими які були завантажені при запуску програми то система передає управління попередньому вектору переривання. Якщо в пам'яті нема наявного резидента то система передає управління DOS і видає повідомлення ,що не введені параметри, якщо в пам'яті е резидент то відбувається загрузка програми згідно даних які були введені в резидентній частині. Робота програми здійснюється по мітках . Також є буфер даних для введення в пам'ять розміру паролю і командного рядка, і буфер даних для виведення на екран повідомлень , які видаються під дією частин програми з мітками obrobka, porivn, failed . Мітка install означає початок загрузочної частини програми.

ВИСНОВКИ

В даній роботі розроблена програма , яка блокує і, по паролю, розблоковує операції з файлами в заданій папці (директорії). Робоча папка (директорія) та пароль вказані в командному рядку як параметри при запуску програми заносяться в память. При введенні паролю користувачем програма порівнює паролі ,при співпаданні паролю програма дозволяе подальшу роботу файлової системи ,при помилковому введенні паролю програма передае управління попередньому перериванню.

програма мова asembler пароль

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ.

1. Зубков С.В. Assembler для DOS, Windows и UNIX - 3-е изд., стер. - М.: ДМК Пресс; СПб.: Питер, 2004. - 608с.

2. Джорден Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT: Пер. с англ./ Предисл. Н.В. Гайского. - М.: Финансы и статистика, 1992. - 544с.

3. Фролов А.В., Фролов Г.В. MS-DOS для программиста. - М.: ДИАЛОГ-МИФИ, 1995. - 256с.

4. Системное программное обеспечение. Учебник для вузов/ А.Ю. Молчанов. - СПб: Питер, 2003. - 396 с.

5. Костельцев А.В. Построение интерпретаторов и компиляторов. - СПб: Наука и техника, 2001. - 224 с.

Размещено на Allbest.ru


Подобные документы

  • Основні дії з файлами, які використовують програми. Диски і файли. Особливості використання даних, збережених на диску. Дискова фізична модель бази даних. Управління дисковим простором. Управління буферами даних. Стратегія заміни сторінок у фреймах.

    реферат [19,8 K], добавлен 10.08.2011

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Розробка програми для синхронізації та резервного копіювання даних на основі функцій Windows API. Методи отримання шляхів папок. Синхронізація та резервне копіювання файлів або папок. Застосування основ мови програмування С, функцій Windows API.

    курсовая работа [366,5 K], добавлен 21.05.2019

  • Принципи роботи команд мікросхеми 24LC08: читання, запису даних. Опис і блок-схеми програми і підпрограм, що обслуговує пристрій. Вибір середовища програмування і розробка програми, яка забезпечує можливість демонстрації команд. Проведення тестування.

    курсовая работа [114,2 K], добавлен 08.12.2011

  • Розробка програми на мові програмування С++ з використанням об’єктно-орієнтованого програмування, яка включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. Структура класів і об’єктів. Лістинг та алгоритм програми.

    курсовая работа [104,4 K], добавлен 14.03.2013

  • Інструменти середовища C++Builder, які були використані в програмі. Робота з файлами, їх відкриття, відображення та закриття. Розробка основних функцій для реалізації програми. Тестування програмного забезпечення. Блок-схема та алгоритм програми.

    курсовая работа [924,3 K], добавлен 14.01.2014

  • Розробка програмного продукту на мові С++ з використанням об’єктноорієнтованого підходу для математичних обрахувань задач з геометричними фігурами коло та кільце. Можливості швидкого обчислення виведених даних, їх графічне зображення у вікні програми.

    курсовая работа [778,8 K], добавлен 06.05.2014

  • Розробка програми-емулятора для заданої навчальної електронної обчислювальної машини, яка в спрощеному виді відображає структуру реальної машини. Формати представлення інформації та команд. Програмування формул. Циклічна програма з розгалуженням.

    курсовая работа [88,4 K], добавлен 27.08.2012

  • Програма "Приватка" для збереження та перегляду всієї інформації, що стосується пошуку підприємства. Розробка алгоритму та програмування на мові Turbo Pascal. Формальна та неформальна постановка задачі. Структура зберігаючих даних. Вихідний код програми.

    курсовая работа [20,9 K], добавлен 07.10.2010

  • Розробка візуальної програми, яка містить головне меню та забезпечує введення-виведення даних у діалоговому вікні. Створення панелі інструментів, рядку стану. Реалізація функції мовою Assembler. Створення та підключення бібліотеки Dll. Робота з файлами.

    курсовая работа [370,9 K], добавлен 01.04.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.