Работа с каталогами и подкаталогами, работа с файлами

Автор работы: Пользователь скрыл имя, 14 Апреля 2010 в 19:22, Не определен

Описание работы

Введение..................................................................................................................3
I. Теоретическая часть............................................................................................5
1.1 Работа с каталогами диска.......................................................................5
1.2 Чтение/изменение корневого каталога..................................................8
1.3 Создание/удаление подкаталога............................................................11
1.4 Чтение/изменение подкаталога..............................................................12
II. Практическая часть ..........................................................................................15
Заключение.............................................................................................................17
Библиографический список использованной литературы……………….…18
Приложение А. Листинг программы...................................................................19
Приложение Б. Листинг программы....................................................................25

Файлы: 1 файл

Курсовая работа - Вычислительные системы, сети и телекоммуникации.docx

— 54.08 Кб (Скачать файл)

       Приложение  А. Листинг программы 

Title Catalog_Work

stk segment stack

              dw 90 dup(?)

stk ends

Data segment

       CURRENT_DIR DB 64 DUP(?),'$'

       path_cur  db 'e:\bp\bin',0,13,10,'$'

       path   db 'd:\catalog',0

       path2  db'd:\catalog\*.*',0

       file1   db 'd:\catalog\file 1.txt',0

       file2   db 'd:\catalog\file2.txt',0

       file3   db 'd:\catalog\file3.txt',0

       cat_crt  db 'Catalog create> ','$'

       wr_msg  db 'Napishem informaciuy w catalog',13,10,'Sama informacia: ',13,10;$'

       err1_msg  db 'Catalog sushestwuiet ili newozmogno sozdat ',13,10,'$'

       msgl   db 'Pered udaleniem kataloga sotrite iz nego wsiu informaciu i posle nagmite enter', 13,10,'$'

       msg_cat_setup db 'Ustanofka tekushego katologa',13,10,'$'

       msg_cur_cat db 'Tekushii catalog> ','$'

       razd   db 13,10,'$'

       dta   db 256 dup(?)

Data ends 

Code segment

       assume cs:code, ds:data, ss:stk

begin:

       mov ax,data

       mov ds,ax 

   mov ah,9h

   lea dx,msg_cat_setup

   int 21h

;---Делаем E:\BP\BIN текущем каталогом

   MOV AH,3BH  ;Номер функции

   LEA DX,PATH_cur  ;DS:DX должны указать на путь

   INT 21Н   ;устанавливаем текущий каталог

;---Получаем текущий каталог

   MOV АН,47Н   ;Номер функции

   LEA SI,CURRENT_DIR ;Указываем на область данных

   MOV DL,5   ;Указываем на диск Е:\

   INT 21Н   ;Помещаем строку по адресу DS:SI 

   mov ah,9h

   lea dx,msg_cur_cat

   int 21h

   mov ah,9h

   lea dx,current_dir

   int 21h

;---Создаем новый подкаталог по адресу в PATH

   LEA DX,path  ;Указываем путь и имя подкаталога

   MOV АН,39Н  ;Сама функция

   INT 21Н  ;Создаем

   JC ERROR1  ;Если ошибка то переходим на ошибку 

   mov ah,9h

   lea dx,cat_crt

   int 21h

   mov ah,9h

   lea dx,razd

   int 21h

   mov ah,9h

   lea dx,wr_msg

   int 21h

   call key

;---Создаем в созданном каталоге 3 файла с расширением .txt

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,filel

   int 21h

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,file2

   int 21h

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,file3

   int 21h

;-------------

   jmp a

   error 1:

   mov ah,9h

   lea dx,errl_msg

   int 21h

   jmp exit

   a:

;---Устанавливаем DTA

       LEA DX,DTA   ;DS:DX указывает на DTA

       MOV AH,1AH   ;Функция установки DTA

       INT 21H    ;Устанавливаем DTA

;---Ищем первый файл

       MOV AH,4EH   ;Сама функция

       LEA DX,path2   ;Указываем на строку пути

       MOV СХ,0   ;Только нормальные атрибуты

       INT 21Н    ;Ищем *.*

       JC ERROR_rout   ;Ошибки обрабатываем

;---Выводим имя файла

NEXT_LINE: LEA BX,DTA  ;ВХ указывает на DTA

       ADD ВХ,30   ;Смещение для имени файла

NEXT_CHAR: MOV DL,[BX] ;Получаем символ из имени

       CMP DL,0    ;Проверка на конец строки

       JE END_STR   ;Уходим, если конец строке

       MOV АН,2   ;Иначе выводим символ

       INT 21Н    ;

       INC ВХ    ;Увеличиваем указатель

       JMP SHORT NEXT_CHAR ;следующий символ

;---возврат каретки\перевод строки в конце строки

END_STR: MOV АН,2   ;Функция вывода символа

       MOV DL,13   ;код возврата каретки

       INT 21Н    ;Выводим

       MOV DL,10   ;код перевода строки

       INT 21Н    ;выводим

;---Ищем следующий файл

       LEA DX,path2   ;Указываем на строку пути

       MOV AH,4FH   ;Номер функции

       INT 21Н    ;Ищем сл. файл

       JC FINISHED   ;Если нет, то выходим

       JMP SHORT NEXT_LINE ;Иначе выводим имя файла

FINISHED: 

       mov ah,9h

       lea dx,msgl

       int 21h

       call key 

;Удаляем наш подкаталог CATALOG

       LEA DX,PATH   ;DS:DX Путь к подкаталогу

       MOV AH,3aH   ;Функция удаления

       INT 21Н    ;Удаляем

       JC ERROR 1   ;Обработка ошибок 

exit:

       mov ah,4ch

       int21h 

error_rout:

       jmp exit

;-------------------------------------------

;Процедура, ждет нажатия любой клавиши

;-------------------------------------------

       key ргос

       xor ah,ah

       int 16h

       ret

       key endp

;-------------------------------------------

code ends

       end begin

 

       Приложение Б. Листинг программы

Title Catalog_Work

stk segment stack

              dw 90 dup(?)

stk ends

Data segment

       CURRENT_DIR DB 64DUP(?),'$'

       path_cur db 'e:\bp\bin'A13,10,'$'

       path    db 'd:\catalog',0

       path2   db 'd:\catalog\*.*',0

       file 1    db 'd:\catalog\file 1.txt',0

       file2    db 'd:\catalog\file2.txt',0

       file3    db'd:\catalog\file3.txt',0

       cat_crt db     'Catalog create>','$'

       wrmsg       db    ‘Napishem informaciuy w catalog',13,10,'Sama informacia: ',13,10,'$'

       errl_msg db 'Catalog sushestwuiet ili newozmogno sozdat ',13,10,'$'

       msgl   db 'Pered udaleniem kataloga sotrite iz nego wsiu informaciu i posle nagmite enter',13,10,'$'

       msg_cat_setup db 'Ustanofka tekushego katologa',13,10,'$'

       msg_cur_cat   db    'Tekushii catalog> ','$'

       razd     db 13,10,'$'

       dta db 256 dup(?)

Data ends 

Code segment

       assume cs:сode, ds:data, ss:stk

begin:

       mov ax,data

       mov ds,ax

   mov ah,9h

   lea dx,msg_cat_setup

   int21h 

   MOV AH,3BH

   LEA DX,PATH_cur

   INT 21H 

   MOV AH,47H

   LEA SI,CURRENT_DIR

   MOV DL,5

   INT 21H 

   mov ah,9h

   lea dx,msg_cur_cat

   int 21h

   mov ah,9h

   lea dx,current_dir

   int 21h

   LEA DX,path

   MOV AH,39H

   INT 21H

   JC ERROR 1 

   mov ah,9h

   lea dx,cat_crt

   int 21h

   mov ah,9h

   lea dx,razd

   int 21h

   mov ah,9h

   lea dx,wr_msg

   int21h

   call key 

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,filel

   int 21h

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,file2

   int21h

   mov ah,3ch

   mov al,2

   mov cx,0

   lea dx,file3

   int 21h 

   jmp a

   error 1:

   mov ah,9h

   lea dx,errl_msg

   int 21h

   jmp exit

       a: 

       LEA DX,DTA

       MOV АН,1АН

       INT 21H 

       MOV AH,4EH

       LEA DX,path2

       MOV CX,0

Информация о работе Работа с каталогами и подкаталогами, работа с файлами