|
0 / 0 / 0
Регистрация: 28.05.2025
Сообщений: 1
|
|
Как сделать драйвер диска на языке C и ассемблере?28.05.2025, 04:41. Показов 1199. Ответов 2
Я не нашёл информацию в интернете, я делаю свою ос и мне нужно код этого драйвера или хотя бы как драйвер диска работает полное объяснение
0
|
|
| 28.05.2025, 04:41 | |
|
Ответы с готовыми решениями:
2
Ассемблер в паскале: как загрузить массив во встроенный ассемблер и произвести над любым из его чисел сложение(вычитание). Драйвер чтения данных из СОМ-порта(Ассемблер) |
|
14129 / 9349 / 1350
Регистрация: 21.01.2016
Сообщений: 35,140
|
|
| 28.05.2025, 05:26 | |
|
Artem_infOS, устройство драйвера определяется не только железом, которым он драйвит, но и архитектурой ОС. А поскольку ты сам свою ОС пишешь, то ты единственный и должен знать как этот драйвер должен выглядеть.
Ну и "диски" разные бывают. Очень разные. Полное объяснение ты нигде не найдёшь потому, что это нафиг никому не надо расписывать. Можешь посмотреть исходники ядра Linux или FreeBSD. Там модули (драйверы) входят в состав ядра и их можно взять за основу.
1
|
|
|
Эксперт Hardware
|
|||||||
| 28.05.2025, 08:03 | |||||||
|
1. Поиск контроллеров накопителей на мат.плате Искать в "PCI-Config-Space" или вручную чз порты 0x0CF8 (CONFIG_ADDRESS) + 0x0CFC (CONFIG_DATA), или-же удобно использовать функцию прерывания int-1Ah. AX=B103h. Девайсам "MassStorage" назначен класс(01), подкласс(08:01) задаёт тип контроллера, а последний байт(PI) указывает на "Programming Interface", т.е. метод программирования:
Если на любой из подклассов int-1Ah вернёт нуль, значит есть контроллер и устройство на его шине, и это определит дальнейший фронт работы в зависимости от интерфейса. Можно начать с идентификации накопителя, для чего необходимо получить доступ к физ.портам в/в, или их отображением в памяти MMIO. Эта информация хранится в регистрах BAR[5:0] там-же в "PCI-Config-Space" - прочитать их можно функцией int-1Ah. AX=B10Ah (read dword). Определившись с базовым портом/регистром накопителя, отправляешь в него АТА-команду "Identify Device" с кодом 0xEC, чтобы получить размер в секторах, поддержку DMA, и всё остальное.3. Обработчики запросов Доступ к накопителям на RW осуществляется исключительно через физ.порты или регистры MMIO, т.к. других способов просто не существует в природе. Можно найти готовые высокоуровневые программные решения, но всё это будет лишь обёрткой для чтения/записи портов. Здесь в зависимости от интерфейса качаешь спеки с сайта t13 или pcisig, где оговариваются все нюансы. Так-же много полезной инфы есть в доках на чипсет (пусть будет) PCH9. В части(13) найдёшь базовые сведения о портах и регистрах перечисленных выше подклассов. Проблема в том, что буквально все интерфейсы программируются по разному, поэтому однозначного ответа тут быть не может. Что-то общее есть между IDE, а вот AHCI вообще из другой оперы.
1
|
|||||||
| 28.05.2025, 08:03 | |
|
Помогаю со студенческими работами здесь
3
Ввод числа ассемблерной вставкой (вызов scanf из ассемблерной вставки) Подскажите как перевести на язык ассемблер Как создать процесс Windows на языке ассемблера?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|