BigEdu.ru

Програми – аналоги DOS-програм ren, xcopy

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

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

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

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

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

Програми – аналоги DOS-програм ren, xcopy

Зміст

1. Вступ

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

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

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

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

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

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

8. Висновки.

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

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

1. Вступ

З файлами на диску можна проводити певні операції – зокрема перейменовувати та копіювати. У даній роботі розглянуті програми, які дозволяють перейменувати файл і скопіювати задані файли та каталоги. Програми написані на мові ASM-86.


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

Необхідно написати програми для перейменування файлів та копіювання файлів і підкаталогів (аналоги REN, XCOPY).

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

Для роботи з файлами в можна використовувати його системний сервіс, який зосереджено в перериванні 21h. Зокрема, використовуються такі функції:

56h – перейменувати файл

3ch – створити файл

3dh – відкрити файл

3eh – закрити файл

40h – читати з файла блок

41h – записати блок у файл

Для перегляду дерева підкаталогів зручно використовувати рекурсивну функцію, яку викликати при вході в підкаталог. Для пошуку будемо використовувати функції 4eh (findfirst) I 4fh (findnext).

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

Алгоритм перейменування файла

1. Занести в пам’ять комадний рядок

2. Викликати функцію 56h

3. Якщо була помилка, то вивести повідомлення.

Алгоритм копіювання файлів

1. Проаналізувати командний рядок

2. Знайти всі файли в поточному каталозі, які відповідають заданій масці

3. Для кожного файла викликати функцію copy_file

4. Якщо не було задано ключ /s, то закінчити перегляд

5. Знайти всі підкаталоги

6. Зайти в кожен підкаталог диску і рекурсивно перейти в п. 2.

7. При завершенні повернутися у вихідний каталог

8. Кінець

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

Програма складається з функцій. Після запуску програми викликається функція process_commandline для аналізу командного рядка. Потім відбувається виклик функції process_files, яка копіює всі файли в заданому каталозі в заданий. Копіювання здійснюється за допомогою функції copy_file.

Якщо було задано параметр копіювання підкаталогів, викликається функція process_directory, яка шукає всі підкаталоги в даному і для кожного рекурсивно викликає функцію process_files.

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

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

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

CPU INTEL 8086 або ст.

RAM 640 K

VIDEO CGA або старший

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

Для використання програми перейменування файлів треба вказати:

k_ren letter.doc letter.txt

Якщо не виникне помилок, то файл буде перейменовано.

Для копіювання треба вказати такий рядок:

k_xcopy *.com c:utils [/s]

де *.com – маска для файлів, які треба копіювати, c:utils – каталог, куди треба копіювати, а необов’язковий ключ /s вказує на те, що в копіювання треба включити також підкаталоги даного підкаталогу. При копіюванні буде створено точну копію частини дерева.

8. Висновки

Завдяки виконанню курсового проекту створені програми для перейменування файлів та копіювання групи файлів. Вони є прикладом роботи з файловою системою засобами MS-DOS і демонструє елементи системного програмування для IBM PC.

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

1. Майко Г. В. Assembler для IBM PC. М., 1997

2. Лекції з дисципліни “Програмування на мові ASM-86”


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

K_XCOPY.ASM

.model tiny

.code

org 100h

start:

jmp begin

mem_errmsg db 'Memory allocation error.$'

file_errmsg db 'Files error!$'

param_err db 'Parameters error! Example: k_xcopy c:*.* d: [/s]$'

all_dirs db '*.*',0

up_dir db '..',0

handle_1 dw 0

handle_2 dw 0

orig_date dw 0

orig_time dw 0

process_dirs db 0 ;вкл. пiдкаталоги

filename_1 db 100 dup(0) ;1 параметр _xcopy

filename_2 db 100 dup(0) ;2 параметр _xcopy

targetname db 100 dup(0) ;сюди буде формуватися iм`я файла призначення

;;;;;;;;;;;;;;;;

;копiювання файла

;ds:si - ASCIIZ старий файл

;ds:di - ASCIIZ новий файл

;;;;;;;;;;;;;;;;

copy_file proc

;видiлити пам`ять

mov ah,48h

mov bx,2048

int 21h

jnc mem_ok

jmp mem_err

mem_ok:

mov es,ax ;сегмент видiлений для копiювання

;open file for read

mov ah,3dh

xor al,al

mov dx,si

int 21h

jc file_error

mov word ptr handle_1,ax

;get date

mov bx,ax

mov ax,5700h

int 21h

mov word ptr orig_time,cx

mov word ptr orig_date,dx

;open file for write

mov ah,3ch

xor cx,cx

mov dx,di

int 2

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

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

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

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru