Курсовая работа: Розробити програму-аналог програми Doc Undelete

NOT_FOUND_MSG DB 13,'File not found deleted$'; Messages

WRITTEN_OVER_MSG DB 13,'File already written over$'

DATA DB 1024 DUP (0); Место под directory и FAT

FIRST:; Начало программы

UNDEL PROC NEAR

MOV AL,CS: FCB_LOC; Получить drive specified - 0 если one given

SUB AL,1; Was it a 1 (A:) or 2 (B:)?

JNC DRIVE_KNOWN; Yes, store drive number

MOV AH, 19H; Нет, получить диск по умолчанию

INT 21H

DRIVE_KNOWN:

MOV DISK_DRIVE,AL; Запомнить диск

MOV DX,17; Директории начинаются с 19 сектора

LOOPs: ADD DX,1; Переход к следующему кластеру директории

CMP DX,33; Проверка на последний кластер директории

JB READ_DIR; Если не последний, переход на чтение

MOV AH,9; Иначе выходим с выдачей сообщения,

LEA DX,NOT_FOUND_MSG; о том, что файл не найден

INT 21H

JMP OUT1; Exit

READ_DIR:

AND I_O_FLAG,0; Выбираем чтение

CALL CLUSTER_I_O; Читаем кластер

LEA DI,DATA; Загружаем адрес проверки

MOV AL,0E5H; Символ проверки - первый символ удаленного файла E5H

MOV CX, 200H; Количество символов проверки 512

SEARCH:;

REPNE SCASB; Проверка

JCXZ LOOPs; If no match (Counter=0), get next dir cluster

К-во Просмотров: 267
Бесплатно скачать Курсовая работа: Розробити програму-аналог програми Doc Undelete