Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MakeDir for DOS

49K
15 декабря 2010 года
Dexogen
22 / / 06.12.2010
Требуется написать дисковую утилиту, создающую папку по указанному пути с указанным именем. Варианта вижу два.. На C++ с ассемблерными вставками или же на чистом ассемблере. В ассемблере я шарю плохо, поэтому выбрал первый вариант. На ум приходит следующий алгоритм:
1. Распиливаю введенный путь с помощью strtok при обнаружении слэшей.
2. Проверяю длину названий каталогов (не более 8 символов ибо DOS)
3. Определяю формат FAT таблицы, нахожу первый сектор FAT, читаю ROOT.
4. ??? - вот тут видимо должна быть ассемблерная вставка с использованием прерываний 25h и 26h, но я просто не представляю как реализовать создание папки.

Как реализовать на ассемблере подобное? Будет ли эта нечисть работать на виртуальной машине, или придется воскрешать свой 133 пень? Ибо как я понял, начиная с Win 2000 программные прерывания для прямого доступа к секторам диска запрещены.
1.8K
15 декабря 2010 года
LM(AL/M)
332 / / 20.12.2005
Почему сразу ассемблер или c++ с ассемблерными вставками??? И почему FAT? В MS-DOS есть высокоуровневые системные функции для работы с файловой системой. И во всех ЯВУ для DOS есть поддержка этих функций. Из языков кроме c++ можно выбрать еще C или Pascal (в последнем возможно будет удобнее).
49K
16 декабря 2010 года
Dexogen
22 / / 06.12.2010
Потому что нужно именно FAT и обязательно так или иначе используя ассемблер. В частности, прерывания 25h и 26h.
49K
17 декабря 2010 года
Dexogen
22 / / 06.12.2010
Большое человеческое спасибо! :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог