| Сейчас на форуме: vasilevradislav, tyns777, zombi-vadim (+3 невидимых) |
| eXeL@B —› Программирование —› Измерить температуру проца на асме |
| Посл.ответ | Сообщение |
|
|
Создано: 31 января 2008 08:28 · Личное сообщение · #1 |
|
|
Создано: 31 января 2008 08:49 · Личное сообщение · #2 |
|
|
Создано: 31 января 2008 08:59 · Поправил: Spirit · Личное сообщение · #3 Rainbow mov dx, 295h
Инфа: msdn2.microsoft.com/en-us/library/aa394493.aspx З.Ы.: 2 минуты проведенные в гугле. В следующий раз ищи сам, прежде чем задовать такой вопрос. ----- iNTERNATiONAL CoDE CReW ![]() |
|
|
Создано: 31 января 2008 09:16 · Личное сообщение · #4 |
|
|
Создано: 31 января 2008 09:47 · Личное сообщение · #5 |
|
|
Создано: 31 января 2008 09:50 · Личное сообщение · #6 |
|
|
Создано: 31 января 2008 10:19 · Поправил: Rainbow · Личное сообщение · #7 |
|
|
Создано: 31 января 2008 10:43 · Поправил: Unmoored · Личное сообщение · #8 Хм, ну вобще можно из асма заюзать WMI. Интересно как это будет выглядеть А собственно почему именно ASM? Вобще как задание то хоть выглядит? Напиши ка код который достаёт температуру процессора неизвестно какой архитектуры под неизвестно какой ОС но строго на ассемблере?
P.S. Запускай под Windows 98/DOS. Тогда валиться не будет. Я так понимаю этот код работает напрямую с SMBus? Даж не представляю чего случится если этот код попытаться выполнить во время работы прог а ля ASUS Probe... ![]() |
|
|
Создано: 31 января 2008 10:48 · Личное сообщение · #9 |
|
|
Создано: 31 января 2008 10:58 · Личное сообщение · #10 Поправил пост выше пока ты писал ответ Ну не хватает определенности. Если интересно как этот код работает изучай SMBus. Команды IN/OUT под ОС семейства Windows NT (2K, XP и т.д.) разрешены только в режиме ядра. Так что если надо чтоб этот код пахал под этими ОС есть 2 пути:
1. Написать драйвер режима ядра (это скорее тянет на диплом). 2. Ознакомиться с драйвером GiveIO. Вот первое краткое описание которое нагуглил. www.pcports.ru/articles/3.php ![]() |
|
|
Создано: 31 января 2008 12:06 · Личное сообщение · #11 |
|
|
Создано: 31 января 2008 14:19 · Личное сообщение · #12 Spirit твой код будет работать далеко не везде. Он рассчитан на конкретный тип сенсора (плоо-моему Winbond), на других работать не будет. К тому же даже для одинаковых сенсоров некоторые производители материнок подключают сенсор таким образом, что он отображается напрямую на IO пространство (как у тебя), другие вешают его как устройство на SMBus... В общем низкоуровневого 100% способа прочитать температуру на всех типах материнок просто нет. Unmoored пишет: Ну не хватает определенности. Если интересно как этот код работает изучай SMBus. Этот код к SMBus отношения не имеет. Rainbow пишет: не пойму как происходит измерение? Измерение происходит аппаратно, температуру замеряет сенсор. Ты просто читаеш его текущие показания и всё. Вообще скачай исходники lmsensors и убедись что если делать универсально - это не простая задача. Кода там много. А вообще у современных процессоров (Core2 и выше) есть встроенный сенсор и если не ошибаюсь температуру можно при помощи CPUID с каким-то кодом получить. Тут всё достаточно просто, в сети даже такие программки где-то были... ![]() |
| eXeL@B —› Программирование —› Измерить температуру проца на асме |









А собственно почему именно ASM? Вобще как задание то хоть выглядит? Напиши ка код который достаёт температуру процессора неизвестно какой архитектуры под неизвестно какой ОС но строго на ассемблере?
Для печати