рефераты рефераты
Главная страница > Курсовая работа: Програма Txtprint.com - резидентна програма для швидкого і зручного друкування виборчого тексту з екрану  
Курсовая работа: Програма Txtprint.com - резидентна програма для швидкого і зручного друкування виборчого тексту з екрану
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Програма Txtprint.com - резидентна програма для швидкого і зручного друкування виборчого тексту з екрану

Курсовая работа: Програма Txtprint.com - резидентна програма для швидкого і зручного друкування виборчого тексту з екрану

Міністерство освіти та науки України

Кіровоградський Державний Технічний університет

Кафедра програмного забезпечення

Курсова робота

з дисципліни “Програмування на мові ASM-86” на тему:

Програма TXTPRINT.COM - резидентна програма для швидкого і зручного друкування виборчого тексту з екрану


Зміст

Вступ.

1. Призначення та область використання системи.

2. Огляд iснуючих систем. Обґрунтування вибору принципу розробки та методики побудови системи. Постановка задачі по реалізації технічного завдання

3. Опис та обґрунтування проектних рішень по проектуванню системи.

4. Разрахунки та експерементальні матеріали які підтверджують вірність програмних рішень

5. Основнi висновки

Перелiк скорочень, символiв та спецiальних термiнiв.

Список лiтератури.

Анотацiя.

Додатки.

Текст програми.


Вступ

Програма txtprint.com - резидентна програма, яка предназначена для того, щоб швидко і зручно надрукувати виборчий текст з екрану. Це може бути корисним, коли доводиться аналізувати в водночас багато текстової інформаціі, наприклад різні файли-помічники, текст іншої програми, та багато ін. Також ця програма може стати у пригоді тоді, коли треба надрукувати текстовий файл, але не повністю, окремими епізодами. Програма дуже зручна для її використання, займає усього 2 килобайти DOS - пам`яті, також її можна вилучити з пам`яті в будь-який час. Просто і зрозуміло оформлен інтерфейс з користувачем, отже навчитись роботі з програмою TXTPRINT.COM можна за хвилину.

Також в програмі встановлено тест на подвійну загрузку, отже при спробі завантажити її вдруге користувач отримає повідомлення про це, а також програма нагадае про «гарячі» клавіші, таким чином запобігаючи подвійного завантаження. Програма не конфліктує з іншими резидентними програмами (якщо, звісно, вони працюють коректно), але в разі змінення ними хочаб одного з векторів преривань INT 08H, INT 09H, INT 28H, INT 2FH програма TXTPRINT.COM не в змозі буде вилучитись з пам`яті по вимозі користувача. Про це програма видасть повідомлення, і нагадає про причину цього (не на вершині). Але після вилучення з пам`яті тієї програми, що змінила вище перечислених векторів преривань, при подальшої вимоги користувача програму TXTPRINT.COM теж буде вилучено з пам`яті.


1. Призначення та область використання системи

Програма TXTPRINT.COM призначена для друку на принтері вибіркового тексту з екрану. Також її можна використовувати в учбових закладах для полегчення і прискорення засвоєння потрібної документації з комп`ютера (різні HELP-програми, завдання задач та ін.). Для цього користувачу потрібно перед переглядом документації на комп`ютері завантажити програму TXTPRINT.COM і в потрібний час викликати її за допомогою «гарячих» клавиш. Потім помітити потрібну частину тексту і дати команду «печатати». Після чого цей текст розпечатається на принтері, і буде більш зручнішим для прочитання та багаторазового перегляду під час виконання роботи (лабораторної тощо). Програма має дуже простий і зручний інтерфейс, що дуже полегшує роботу з нею, займає усього 2 кілобайти DOS-пам`яті.

Також ця програма дуже цікава з точки зору вивчення резидентних програм. На її прикладі можна обучати студентів по роботі з функціями DOS в резидентних програмах.

2. Огляд існуючих систем, обґрунтування вибору принципу розробки та методики побудови системи. Постановка задачі по реалізації технічного завдання

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

Програма TXTPRINT.COM повинна бути резидентною, працювати швидко та надійно при різних процесорах, а також займати якомога менше пам`яті. Тому задача розроблялась на мові асемблера (ASM-86) для TASM версії не нижче 2.0.

Програма повинна:

n бути резидентною і не конфліктувати з операційною системою та іншими програмами;

n викликатись по натисненню «гарячих» клавиш; мати дружній інтерфейс з користувачем;

n розпечатувати помічений текст з екрану;

n не завантажуватись в друге;

n займати якомога менше пам`яті;

n по вимозі користувача вилучатись з пам`яті.

По обґрунтуванню та реалізації цього завдання см. розділ 3.

3. Опис та обґрунтування проектних рішень по проектуванню системи

Усе, що приводиться у цьому параграфi вiдноситься тiльки до "випригуючих" (popup) резидентних програм.

Реентабельною (повторно входимою) програмою називаеться програма чи процедура, одна копiя якої в пам`ятi може бути одночасно викликатись кiлькома процесами, при чьому рiзноманiтнi виповнювання цiєї процедури не впливають одна на одну.

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

Найпростiше рiшення цiєї проблеми складається у повнiй вiдмовi вiд використання системного сервiсу DOS в резидентних програмах. Iнколи це не дуже складно. Так, для виводу на дiсплей можна користуватись прериванням BIOS 10H чи прямим записом у вiдеобуфер, для вводу символiв з клавiатури приємлимо користуватись прериванням 16H, при роботi з принтером i послiдовними портами також неважко працювати на рiвнi BIOS. Але у разi, коли потрiбен дисковий ввод - вивод, це вже стає дуже проблематичним.

Працювати з дисками средствами BIOS - дiйсно дуже хлопотна справа.

Iснують i iншi ситуацiї, коли зручнiше було б використовувати функцiї DOS. Отже, треба навчитися перемагати нереентабiльнiсть DOS. Для цього iснує багато можливостей.

Почнем з того, що існує простий (хоча й недокументований) спосiб запобiгнути конфлiктiв з операційною системою. При активiзацiї програма може перевiрити байтовий прапорець активнiстi DOS i, якщо вiн вiдмiнний вiд нуля (сервiс DOS недоступний), повернутись до пасивного стану. Адресу цього прапорця повiдомляє функцiя DOS 34H.


Функція 34H. Дає адресу прапорця активністі DOS

Виклик: AH = 34H

Повертає: ES:BX - адреса прапорця

Нажаль, якщо вибрати цей путь, така резидентна программа, скоріше за все, взагалі буде не взмозі стартувати. Це пов`язано з тим, що COMMAND.COM та багато інших програм проводять багато часу в очикуванні ввода строки з клавіатури посредством функції DOS 0AH, і, отже, прапорець активністі DOS майже завжди взведений. Ця обставина використовується у диспетчері функцій DOS, який може мати вигляд на зразок цього:


          Int_21h PROC far

                   sti

                   pushf

                   cmp ah,0Ah         ; якщо номер функції не рівний 0ah,

                   jnz Exec                ; то приступити к виконанню.

          Fn0Ah:

                   push ax                ; якщо функція 0ah, то затримати

                   mov ah,0bh ; її виповнення до тіх пір, поки у

                   int 21h                  ; буфері клавіатури не з`явиться

                   cmp al,0               ; хочаб один символ.

                   pop ax

                   jnz Exec

                   push cx

                   mov cx,4000h

          Delay:         loop Delay  ; зробити паузу

                   pop cx

                   jmp short Fn0Ah ; і повторити перевірка буфера.

          Exec:

                   or byte ptr cs:DOS_busy,01h ; встановити признак

;                                                         зайнятості DOS.

                   Popf            ; визвати початковий обробник.

                   pushf

                   call dword ptr cs:[Int_21h_vect]

                   pushf

                   and byte ptr cs:DOS_busy,0feh        ; скинути признак

;                                                         зайнятості.

                   popf

                   ret 2

          Int_21h_vect dd ?

          Dos_busy    db 0

          Int_21h ENDP

Запит на виконання функції 0AH не передається одразу до операційної системи. Замість цього периодично перевіряється стан буфера вводу (функція DOS 0BH або функція 01H преривання 16H). І вже тільки після того як буфер почав заповниватися, визивається функція 0AH. Оберніть увагу на те, як оформлен возврат у програму - це викликано тим, що DOS використовує прапорець CF в якості признаку помилки.

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

Диспетчер функцій DOS - приємлимий, але не найбільш вдалий спосіб перевагання нереєнтабільності DOS. Програмам, використовуючим його, далеко не завжди вдається стартувати. Крім того, їм приходиться аналогічним чином відслежувати ще й преривання 25H (читати сектор), 26H (писати сектор) DOS, а також преривання 13H BIOS.

Страницы: 1, 2, 3, 4, 5

рефераты
Новости