Int 13h
что делать...
Переведи комменты с корейского. А вообще на первый взгляд много ошибок и неточностей.
Вот текст, выводит только чатсь Rootdir. Щас хочу записиывать в файл только .com и .exe файлы. вот над этим щаз работаю.. Если есть какие мысли пишите плиз буду внимательно читать...
При чем тут .com, .exe, 21-е прерывание и RootDir?
Кто сказал что корневой каталог лежит в одном секторе?
- Позицию буфера для использования в функциях BIOS нужно корректировать. Для односекторного буфера его достаточно выровнять на 512-байтовую границу в физической памяти, при этом минимальный предварительный размер буфера должен быть равен 1023 байта.
- Не вижу причины хранить номер сектора на дорожке в отдельной переменной. Почему в таком случае ты этого не сделал для номера головки и номера дорожки?
- Для функции DOS 09h терминатором строки является символ "$". Ноль в добавок ты приписал для надежности?
- Описание сегмента стека лучше разместить в конце исходника. Кстати к буферу это тоже относится. Стек слишком маленький.
- Нет необходимости инициализировать регист SS - это делается автоматически при запуске программы.
- Для указанного формата корневой каталог обычно находится в секторах 19-32 (при линейной нумерации с нуля). 19 в CHS-адресации - это 0:1:2 - здесь ты вроде все правильно высчитал. Для определения местоположения и размера корневого каталога лучше все-таки использовать данные из структуры BPB, находящейся в бутсекторе диска.
- Проверку по чтению при использовании функции BIOS тоже не мешало бы сделать. К тому же может потребоваться несколько попыток чтения одного и того же сектора, чтобы его успешно прочитать.
- На правильность обращения к функциям DOS особого внимания я не обращал, но точно помню, что сразу после открытия файла нет необходимости позиционировать файловый указатель на начало файла, хотя это не должно помешать, если конечно сделано правильно.
- Отладка - это конечно круто. Выводишь буфер на экран с помощью функции DOS 09h? И как? Получается? :) Что за странная корректировка +3?
Спасиб, BPB прочитал вручную... но суть в поиске файлов)).. Вот вроде проверяю.... но с ошибками... Не все что надо читает... и если файл удалён, то в его имения первый символ заменяется символом 'е', но параметры файла остаются...тут как быть тоже нет мыслей.... Посмотрите plz текст, может исправите чтонить... желательно конечно с коментами... спаиб..
Всем спасибо программа работает)))