Вопрос № 42223: Здрасте. На асме писал только hello world. Прочитал статьи для dzen\'ствующих на wasm.ru - понравилось, но не вижу практического применения для ассемблера. Не могли бы вы мне помочь начать писать то, что я не могу написать на других языках. Хотелос...
Вопрос № 42.223
Здрасте. На асме писал только hello world. Прочитал статьи для dzen\'ствующих на wasm.ru - понравилось, но не вижу практического применения для ассемблера. Не могли бы вы мне помочь начать писать то, что я не могу написать на других языках. Хотелось бы написать аналог SpeedFan\'а - снятие показаний с датчиков и регулирование скорости вращения вентиляторов. Я так понимаю, что для этого надо работать с драйверами, типа giveio.sys, но это лучше делать через библиотеки, наверное (я такое часто видел), и я б хотел
написать такую библиотеку как раз на ассемблере. Как работать с дровами я как-нибудь разберусь, но понятия не имею откуда из памяти надо читать, чтобы замерить температуру (и в каком формате она там) и куда писать, чтобы регулировать скорость. Подскажите, пожалуйста, адреса, если они статические, и способы определения, если динамические.
Спасибо.
Отправлен: 06.05.2006, 08:59
Вопрос задал: Neco (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ramok
Здравствуйте, Neco!
1) надо найти в описании материнской платы название испольщуемых датчиков, их тип или хотя бы протокол обмена по которому они работают
2) затем поискать в интернете по найденному названию, постаратся найти сайты производилелей датчиков и найти даташиты к датчикам. иногда можно найти просто пример с работой с этими датчиками.
другой путь - найти какую нибуть программу с открытым кодом которая реализует что то подобное. но обычно это под открытые ОС(linux, freebsd, netbsd..) с использованием интерфесов этих ОС
необходимо найти параметры этих датчиков(порты, протоколы)..
3) надо определится под какую ОС хочется написать драйвер. на чистом ассемблере драйвера писали под ДОС, но сейчас пишется все на С, с ассемблерными вствками.
если под windows но необходимо поставить DDK (Driver Development Kit) и почитать вводную как с этим работать. на сайтах посвященным ОС с открытым исходным кодом обычно тоже есть подробная документация по написанию модулей ядра
Ответ отправил: Ramok (статус: 1-ый класс)
Ответ отправлен: 06.05.2006, 17:45 Оценка за ответ: 2 Комментарий оценки: Друг! К сожалению, ничего нового - вопрос стоял о программном определении адресов (сильно сомневаюсь, что SpeedFan содержит в себе базу мамок - должен быть какой-то стандарт), в руководстве такой инфы нет и быть не может, т.к. не для разработчиков она, а для юзеров, а свой драйвер я пока писать и не собираюсь - есть же giveio.sys