Лабораторная работа 6 файловая система ms dos часть переименование и пересылка файлов функциями dos вариант 4 Выполнили студенты группы 220251
Скачать 0.6 Mb.
|
МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет» Кафедра вычислительной техники ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Лабораторная работа № 6 ФАЙЛОВАЯ СИСТЕМА MS DOS ЧАСТЬ 3. ПЕРЕИМЕНОВАНИЕ И ПЕРЕСЫЛКА ФАЙЛОВ ФУНКЦИЯМИ DOS Вариант №4 Выполнили студенты группы 220251: Кунегина Н.Е., Пугачева Т.И., Сапегина И.А. Проверили: асс., Есиков. Д.О. доцент Андриянова М.А. _______________ _______________ Тула, 2016 Цель работы Цель и задачи работы: Научиться программировать ассемблерные вставки для переименования и пересылки файлов. Задание на работу 4.1. Повторить п.2.1. лабораторной работы 8.1. 4.2. Ознакомиться с теоретическими положениями данной лабораторной работы. 4.3. Ответить на контрольные вопросы. 4.4. В соответствии с вариантом создать новый каталог (при необходимости старый удалить), переслать в него файл и изменить его атрибуты.
4.4. Написать и отладить программу в соответствии с полученным вариантом. 4.5. Оформить отчет. Ход работы Ознакомились с теоретическими положениями. Написали программу, которая удаляет существующий каталог и переименовывает файл меняя его атрибуты. (см. Приложение №1) Результат работы программы (Рисунок №1-2) Рисунок №1 – Результат работы программы Рисунок №2 – Работа программы Вывод Научились программировать ассемблерные вставки для переименования и пересылки файлов. Приложение №1 Листинг программы STK segment para stack 'stack' db 200 dup(?) STK ends data segment para 'data' stdout equ 1 ; дескриптор стандартного вывода cr equ 0dh ; возврат каретки lf equ 0ah ; перевод строки handle dw ? ; ячейка для дескриптора oldname db '1.txt',0 ;Старое имя файла old db 'old',0 ;Старое имя файла newname db '2.txt',0 ;Новое имя файла day dw 25 ;25 число mon dw 3*32 ;март year dw 13*512 ;13 лет от 1980 года data ends code segment para public 'code' assume cs:code, ds:data, ss:stk main proc mov ax,data mov ds,ax push DS pop ES ;Переименуем файл mov AH,56h ;Функция переименования mov DX, offset oldname ;Адрес старого имени mov DI, offset newname ;Адрес нового имени int 21h ;Установим атрибут системный mov AH,43h ;Функция работы с атрибутами mov AL,1 ;Установка атрибутов mov CX,20 ;Системный mov DX, offset newname ;Адрес имени файла int 21h ;Удалим ненужный каталог mov AH,3Ah ;Функция удаления каталога mov DX, offset old ;Адрес старого имени int 21h ;Откроем файл mov AH,3Dh ;Функция открытия файла mov AL,2 ;Доступ для чтения/записи mov DX, offset newname ;Адрес имени файла int 21h mov handle,AX ;Получили дескриптор ;Изменим дату и время создания файла mov AH,57h ;Функция даты/времени mov AL,1 ;Установить дату/время mov BX, handle ;Дескриптор файла xor DX, DX ;Очистим DX or DX, day ;Добавим день or DX, mon ;Добавим месяц or DX, year ;Добавим год int 21h ;Завершим программу mov AX,4C00h ;Функция завершения, код int 21h ;завершения = 0 main endp code ends |