Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Элемент оглавления FAT? как найти элемент оглавления 
:(
    Опции темы
Trail
Дата 28.11.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.11.2009

Репутация: нет
Всего: нет



Помогите найти элемент оглавления FAT.Программа восстановление данных.Если фаил удален то в первом кластере в элементе оглавления и в 00 байтах стоит значение E5.Как мне найти это значение.Из предыдущих примеров считываю таблицу FAT получилось найти номер начального кластера файла,с помощью него узнаем номер следующего кластера.Я так понял это и есть элемент оглавления, но никакого имя файлов и других значений типа даты,атрибутов я не нахожу.
PM MAIL   Вверх
111u3
Дата 28.11.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 31.8.2009
Где: Омск

Репутация: нет
Всего: нет



Trail, можно поподробнее что считываешь и как и еще желательно где. Ну и код по желанию
PM MAIL ICQ   Вверх
Trail
Дата 28.11.2009, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.11.2009

Репутация: нет
Всего: нет



Работа с дискетой.Считываю ФАТ функцией 0209h прерыванием int13h. Саму FAT загружаю в память (так вот в памяти только номера следующих кластеров) лезем в первый кластер, из памяти узнаю номер следующего кластера.Но в таблице FAT записываются файлы которые есть на дискете.А мне нужны удаленные файлы. из книжек узнал что нужен каталог оглавления.Который находиться на 0 дорожке диска.В ней находиться инфа о файлах а точнее имя файла, если фаил удален он обозначается E5, размер,номер первого кластера.сообственно это все что мне надо для проги.А как до этого каталога оглавления достучаться никак не пойму??? То ли его каким-то образом заливать в память и от-туда выбирать удаленные файлы.
 Вообщем нужен совет как вывести этот католог оглавления,и где он валяется на дискете.Или код если у кого завалялся)

Это сообщение отредактировал(а) Trail - 28.11.2009, 17:03
PM MAIL   Вверх
Logree
Дата 28.11.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: 1
Всего: 2



Книжка "программирование дисковых подсистем" там всё понятно написано. 
PS 111u3 уже сказал что без кода твоей программы тебе врятли помогут.


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
111u3
Дата 28.11.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 31.8.2009
Где: Омск

Репутация: нет
Всего: нет



Trail, на сколько мне известно ты считываешь то часть фат что отвечает за сектора, а тебе надо та что к файлам лицом. как сказал 
Logree  smile и повнимательнее, авось поможет. Потому как объяснять прописные истины тебе никто не будет.
ps: У каждго каталога своя часть фат что отвечает за файлы. smile 
PM MAIL ICQ   Вверх
Trail
Дата 5.12.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.11.2009

Репутация: нет
Всего: нет




M
dumb
для оформления исходных текстов используйте кнопку "Код"


Помогите позжалуйста с кодом может я что-то не так делаю.
Код должен отправить в буфер загрузочный сектор.
Смотрел в отладчике в буфере ничего нет.
B:\(дискета) и на ней для проверки есть файлы.

Код

  mov   ch, 00h   ; номер дорожки
  mov   cl, 01h   ; номер сектора

  mov   dh, 00h   ; номер головки  (стороны диска)
  mov   dl, 01h   ; номер НГМД, соответсвует 
                  ; устройству В:

; Готовим адрес буфера в ES:BX
  mov   ax, cs
  mov   es, ax

  mov   bx, OFFSET buf

; Готовим код функции
  mov   ah, 02h   ; код функции - чтение сектора
  mov   al, 01h   ; читаем 1 сектор

; Вызываем прерывание
  int   13h
;............
buf  db 512 dup (?)                     ; буфер на 512 байт



Это сообщение отредактировал(а) Trail - 5.12.2009, 12:34
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0879 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.