ReferatWorld.ru
» » » Програма для перегляду великих текстових файлів, розмір яких більший за 64 кілобайти
Вернуться назад

Програма для перегляду великих текстових файлів, розмір яких більший за 64 кілобайти

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

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

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

Курсовий проект

з дисципліни

“Програмування на мові ASM-86”

на тему:

“Програма для перегляду великих текстових файлів, розмір яких більший за 64 кілобайти”


ЗМІСТ

Завдання

1. Вступ

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

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

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

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

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

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

8. Висновки.

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

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

1. Вступ

Для перегляду текстових файлів використовуються програми – переглядачі. Вони дозволяють користувачу роздивлятись будь-яку частину файла у зручному для нього вигляді.

Деякі переглядачі мають різні обмеження, наприклад на об’єм файла. Інші можуть переглядати файли будь-якої довжини. Мета цієї роботи – показати програму-переглядач саме для великих файлів.


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

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

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

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

Для того щоб не читати файл повністю, його читають по частинах. Читають якийсь блок і переглядають його. Коли перегляд блоку завершується, то з диска підчитується наступний блок або попередній. Отже, це дає змогу переглядати великі файли при невеликому об’ємі пам’яті.

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

1. Ввести ім’я файла

2. Відкрити файл і прочитати перший блок.

3. При натисненні клавіші “вниз” прокрутити текст вниз.

4. При натисненні клавіші “вгору” прокрутити текст вгору.

5. Вивести на екран зміст файлу.

6. Якщо область перегляду вийшла за межі блоку, то прочитати наступний або попередній блок.

7. Якщо користувач не натиснув ESC, перейти до пункту 3.

8. Стоп


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

Для операцій з файлами використовуються засоби ДОС.

Програма складається з таких процедур:

key_up - обробка “клавіша вгору”

key_down - обробка “клавіша вниз”

openfile - відкриття файла

closefile - закриття файла

readnextblock - читання наступного блоку

readprevblock - читання попереднього блоку

initblocks - ініціалізація програми

cleanup - очистка

showframe - відображення кадру

key_pgup - обробка клавіші Page Up

key_pgdn - обробка клавіші Page Down

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

Операційна система МS-DOS

Процесор 8086 або старший

Екран CGA або старший

Пам’ять 640 К

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

Для запуску програми необхідно виконати файл view64.exe. Після нього в командному рядку вводиться ім’я файла. Наприклад, “view64 big_text.txt”. Після цього на екрані з’явиться зміст файлу. Його можна “гортати” клавішами “Page Up”, “Page Down”, “Up”, “Down”.

Для виходу з програми треба натиснути клавішу “ESC”.

8. Висновки

Отже, на мові Асемблера для процесорів сімейства INTEL x86 створена програма, яка призначена для перегляду в текстовому режимі файлів. Її особливістю є те, що розмір файлів може бути більшим за 64 кілобайти.

Програма працює, але все ж таки може містити помилки. Але робота з нею не вимагає від користувача якихось спеціальних навичок, вона проста в користуванні.


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

1. Р. Журден. Справ очник программиста на персональном компьютере фирмы IBM.

2. П. Абель. Асемблер и программирование для IBM PC.


Додаток. ЛІСТИНГ ПРОГРАМИ

.model compact

.stack 1024

.386

.data

;буфери

pvideobuffer db 4000 dup(0)

fileblock db 32000 dup(0) ;блок з файла

video db 2000 dup(0) ;копiя кадра

errormsg db 'Помилка читання файла!$'

filename0 db 50 dup(0)

msg1 db 'Введiть iм`я файла. $',10,13

filehandle dw 0 ;зсилка

nblock dw 0

currentposbegin dw 0 ;початок блоку

currentposend dw 0 ;кiнець блоку

blocklength dw 0 ;фактична довжина блоку

lastkey db 0 ;останнiй рух: 0 = вниз, 1 - вгору

sym_count dw 0 ;кiлькiсть символiв на екранi

upperend dw 0

block_num dw 0

.code

start:

jmp begin

;====================ОБРОБКА КЛАВIШ

;====================KEY_UP

key_up proc

pusha

cmp word ptr fs:[lastkey],0

jne ok_up1

;перевiрка: якщо end<begin то пiдчитати попереднiй блок

mov si,word ptr fs:[currentposend]

mov di,word ptr fs:[currentposbegin]

cmp si,di

ja ok_up1

cmp word ptr fs:[block_num],1

jne ok_up1

;пiдчитка

call readprevblock

mov si,word ptr fs:[blocklength]

add si,offset fileblock

;sub si,word ptr fs:[sym_count]

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Міністерство освіти та науки України Кіровоградський Державний Технічний університет Кафедра програмного забезпечення Курсовий проект з
Оценок: 1001 (Средняя 5 из 5)

Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.

© 2017 - 2022 ReferatWorld.ru