Розробка та реалізації програми з екранним інтерфейсом для порівняння двох текстових файлів
Основи програмування та робота з файлами. Ввід з клавіатури і вивід на екран. Опис вибраної мови. Текст програм та її опис на мові програмування Асемблер. Аналіз, отримання результату роботи програми, порівнювальний текст двох файлів і програмного коду.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 13.12.2011 |
Размер файла | 1020,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
loop4: push cx ; збереження CX у стеці
koordun x1,y1 ; виклик макросу
BIOS_09h buf1vel+si,buf1k+si ; виклик макросу
cmp x1,78 ; порівняння з 78
jne x1_78dr1 ; перехід, якщо не рівне
mov x1,3 ; присвоєння 3
inc y1 ; інкремент y1
x1_78dr1:
inc x1 ; інкремент x1
inc si ; інкремент si
pop cx ; взяття із стеку cx
loop loop4 ; команда циклу із cx кроків
; виведення номера сторінки
dec n ; декремент n
koordun 2,11 ; виклик макросу
BIOS_09h n,01110001b ; виклик макросу
F2:
cmp ax,0f09h ; нажата клавіша Tab
je win2 ; перехід, якщо рівно
cmp ax,4400h ; нажата клавіша F10
jne no_vuxit ; перехід, якщо рівно
jmp vuxit ; перехід на vuxit
no_vuxit:
jmp win1 ; перехід на win1
win2:
push si ; збереження si у стеці
; виведення повідомлення у верхньому вікні
mov y1,3
mov x1,2
storinka x1,y1,01111101b ; виклик макросу
; виведення повідомлення у нижнє вікні
mov y1,14
mov x1,2
storinka x1,y1,10011101b ; виклик макросу
pop si ; взяття із стеку si
mov ah,10h ; функція читання символа з клавіатури з очікуванням
int 16h ; виклик BIOS
cmp ah,3fh ; нажата клавіша "F5"
jne no2_F5
jmp F5
no2_F5:
cmp ah,40h ; нажата клавіша "F6"
jne no2_F6
jmp F6
no2_F6:
cmp ah,42h ; нажата клавіша "F8"
jne no2_F8
cmp H,1
je H2_1
mov H,1
jmp F8
H2_1:
mov H,0
jmp F8
no2_F8:
; ПРОКРУТКА ДЛЯ НИЖНЬОГО ВІКНА
cmp ax,0f09h ; нажата клавіша Tab
jne no_win3
jmp win1
no_win3:
cmp ax,50e0h ; нажата клавіша "вниз"
jne F3 ; перехід, якщо не рівне
; прокрутка нижнього вікна вниз
cmp di,mak_buf2 ; порівнянн di з mak_buf2
jae F3 ; перхід, якщо більше або рівне
cmp di,0 ; порівняння з 0
jne no_buf2 ; перехід, якщо не рівне
mov di,675 ; присвоєння di
no_buf2:
mov y2,14
mov x2,4
mov cx,675 ; кількість циклів
loop3buf2: push cx ; збереження CX у стеці
koordun x2,y2 ; виклик макросу
BIOS_09h buf2vel+di,buf2k+di ; виклик макросу
cmp x2,78 ; порівняння з 78
jne x2_78buf2 ; перехід, якщо не рівне
mov x2,3 ; присвоєння 3
inc y2 ; інкремент y2
x2_78buf2:
inc x2 ; інкремент x2
inc di ; інкремент di
pop cx ; взяття із стеку cx
loop loop3buf2 ; команда циклу із cx кроків
; виведення номера сторінки
inc m ; інкремент m
koordun 2,22 ; виклик макросу
BIOS_09h m,01110001b ; виклик макросу
F3:
cmp ax,48e0h ; нажата клавіша "вверх"
jne F4 ; перехід, якщо не рівне
; прокрутка вершнього вікна вгору
sub di,1350 ; від di відняти 1350
cmp di,0 ; порівняння з 0
jnl no_vid_buf2 ; перехід, якщо менше
mov di,0 ; обнулення di
jmp win2 ; перехід ан win2
no_vid_buf2:
mov y2,14
mov x2,4
mov cx,675 ; кількість циклів
loop4buf2: push cx ; збереження CX у стеці
koordun x2,y2 ; виклик макросу
BIOS_09h buf2vel+di,buf2k+di ; виклик макросу
cmp x2,78 ; порівняння з 78
jne x2_78dr1 ; перехід, якщо не рівне
mov x2,3 ; присвоєння 3
inc y2 ; інкремент y2
x2_78dr1:
inc x2 ; інкремент x2
inc di ; інкремент di
pop cx ; взяття із стеку cx
loop loop4buf2 ; команда циклу із cx кроків
; виведення номера сторінки
dec m ; декремент m
koordun 2,22 ; виклик макросу
BIOS_09h m,01110001b ; виклик макросу
F4:
cmp ax,4400h ; нажата клавіша F10
je vuxit ; перехід, якщо рівно
jmp win2 ; перехід на win2
vuxit:
mov ah, 04Ch ; функція успішного завершення програми
mov al, [exCode] ; код 0 успішного завершення
int 21h ; виклик DOS
END Start ; кінещь програми із точкою входу
5. Аналіз результату роботи програми
Розроблена і реалізована програма може проводити порівняння двох текстових файлів з екранним інтерфейсом. Вхідними даними програми можуть бути усі символи таблиці кодів ASCII.
Наприклад, нехай дано два текстових файли, які мають назву : 1.txt і 2.txt. Вміст файлів є наступний:
1.txt
As processor technology pushes to faster speeds and higher performance, thermal management becomes increasingly crucial when building computer systems. The overall goal in providing the proper thermal environment is keeping the processor below its specified maximum case temperature. Heatsinks induce improved processor heat dissipation through increased surface area and concentrated airflow from attached fans. In addition, interface materials allow effective transfers of heat from the processor to the heatsink. For optimum heat transfer, AMD recommends the use of thermal grease and mounting clips to attach the heatsink to the processor.
2.txt
As processor, technology roman pushes to faster speeds and higher performance, thermal management becomes increasingly crucial when building computer systems. The overall goal in providing the proper thermal environment is keeping the processor below its specified maximum case temperature. Heatsinks induce improved processor heat no dissipation through increased surface area and concentrated airflow from attached fans. In addition, interface materials jhjkhjk allow effective transfers of heat from the processor to the heatsink. for optimum heat transfer, AMD recommends, the use of thermal grease and mounting clips to attach the, heatsink to the processor.
Результати :
Порівняння по словах із врахування прописних символів
Порівняння по словах без врахування прописних символів
Порівняння по буквах з врахуванням прописних символів
Висновки
Виконувавши курсову роботу я поглибив теоретичні знання по засобах програмування на мові Асемблер, розширив знання одержані при вивченні дисципліни системне програмування та операційні системи, а також розвинув навики самостійної роботи з складання блок-схем алгоритмів і розробки та відлагодження програмного забезпечення. Протягом виконання курсової роботи я ефективно засвоїв ЕОМ і мову програмування Асемблер для розв'язування прикладних задач на основі узагальнених знань, отриманих мною на лекційних, практичних і лабораторних заняттях.
Я розробив та реалізував програму з екранним інтерфейсом для порівняння двох текстових файлів. Для цього я використав мову Асемблер, бо саме вона мені допомогла вивчити машину на „низькому рівні”, дала освоєння того, що і як вміє робити апаратура комп'ютера і що вносить в його роботу операційна система. Мова асемблер - мало похожа на нормальну, доступну людині мову, але вона володіє надзвичайно високою ефективністю, мінімальним об'ємом і максимальною швидкістю дій. Ця властивість зумовила широке використання мови Асемблера в тих випадках, коли швидкість роботи програми і використовувана нею пам'ять мають вирішальне значення.
Список використаної літератури
1. Фигурнов В.Э. IBM/PC для пользователей.: - М.: Финансы и статистика, 1997.
2. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT.: М. Финансы и статистика, 1992.
3. Григорьевна Н.Г. Искусство програмирования на Ассемблере. Лекции и упражнения: - 2-е изд., испр. и доц. - СПб.: ООО „ДиаСофтЮП”, 2002.- 656 с.
4. Пильщиков В.Н. Программирование на языке Ассемблера IBM PC.: - М.: Диалог-МИФИ, 1998.
5. Зубков С.В. Assembler для DOS, Windows и UNIX.: - M.: ДМК, 2004.
6. Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ.: - К.: BHV, 2000.
7. Рудаков П.И., Финогенов К.Г. Язык Ассемблера: уроки программирования. - М.: ДИАЛОГ-МИФИ,2001.- 640 с.
8. Сван Т. Освоение Turbo Assembler.: - К.: Диалектика, 1996.
Размещено на Allbest.ru
Подобные документы
Порядок проектування програми для перегляду текстових файлів різного розміру, сфера її практичного застосування та алгоритм написання. Опис і обґрунтування проектних рішень системи. Інструкція користувача та текст програми, проведення її листингу.
курсовая работа [20,7 K], добавлен 08.08.2009Прості та умовні оператори мови С++. Робота з двовимірними масивами. Пошук та сортування даних. Робота з файлами та з динамічними структурами даних. Опис мови програмування Delphi. Складення програми до розроблених алгоритмів. Організація циклів.
отчет по практике [4,3 M], добавлен 28.08.2014Програма на мові програмування С++. Аналіз стану технологій програмування та обґрунтування теми. Розробка програми виконання завдання, методу вирішення задачі. Робота з файлами, обробка числової інформації і робота з графікою. Розробка програми меню.
курсовая работа [41,0 K], добавлен 17.02.2009Ведення протоколу роботи комп’ютера. Розробка програми для створення списку розширень файлів і занесення часу і дати доступу до них на мові програмування Асемблер. Виклик переривання 21h код-функції та занесення до регістрів. Алгоритм та лістинг програми.
курсовая работа [14,1 K], добавлен 08.08.2009Створення програми для перегляду потрібної інформації, яка може бути використана будь яким користувачем ЕОМ. Користування та розуміння переглядачів текстових файлів. Використання читання тексту порціями для реалізації прокрутки екрану вверх та вниз.
курсовая работа [16,7 K], добавлен 12.08.2009Ключові поняття мови об’єктно-орієнтованого програмування C++: інкапсуляція, наслідування, абстракція, поліморфізм. Об’ява класів у мові С++. Графічні засоби. Пошук відстані між точками. Опис класів і об’єктів. Програма графічної задачі. Лістинги файлів.
курсовая работа [144,3 K], добавлен 14.03.2013Створення двух файлів В1 і В2 з шести двоцифрових цифр з введенням в довільному порядку цифр з клавіатури із записуванням парних цифр в файл В3, а непарних - у файл В4. Процес розробки програми за допомогою мови "Асемблер". Блок-схема алгоритму задачі.
курсовая работа [37,6 K], добавлен 26.11.2011Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.
курсовая работа [102,5 K], добавлен 14.03.2013Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.
курсовая работа [75,8 K], добавлен 26.12.2009Визначення сили взаємодії двох точкових зарядів. С++ як універсальна мова програмування. Клас - ключове поняття С++. Стандартні бібліотеки С++. Функція конструктора і деструктора. Опис базового класу Objcalc. Лістинг та результат роботи програми.
курсовая работа [107,6 K], добавлен 27.12.2011