Как считать 2-байтное слово из области данных BIOS по адресу 0040:0010 на C/C++?
ОС: Windows 10 x64.
Добавлю от себя. Ответ gbg - верный, есть более тернистые способы, добавлю немного о них
Из под уровня драйвера, используя специальные АПИ можно прочитать память BIOS, драйвер связывается с приложением через DeviceIoControl информацию можно передать на уровень software. Читать изучать Driver Development Kit + проблемы - может понадобится админский доступ.
Зная что бывает [1] можно либо случайно в хакерских тулзах, или долго нудно случайно найти библиотеку которая позволяет считать память ВIOS, и пользуясь ею считать (будет плюс dll и плюс файл драйвера).
16-битные windows-приложения и dll имеют доступ к данному участку памяти для совместимости в режиме эмуляции. В WinXP это работало без проблем, за 7 и 10 не могу сказать. Старички 16-битные windows-приложений - winhelp.exe из WinXP, msword 6-той версии и ниже. Так же есть некоторые популярные софтины, например DOP (digital orkestrator). Писать такие приложение позволяют старые версии компилятора borland, delphi 1-й версии, и т п.
Емуляция DOS, под 64-бита скорее всего понадобится DOSBOX
Возможно (если это разрешено) можно загрузиться с старенького "реанимаитора" DOS, и написав под DOS софтину без проблем её запустить. Более сложный вариант - свой загрузчик.
Из приложения под Windows это сделать невозможно, хотя бы потому, что семейство WINDOWS NT, к которому относится и Windows 10, подменяет собой BIOS в его классическом понимании.
То есть да, можно написать программу на C/С++, но компилировать ее надо будет под DOS, чтобы она выполнялась в реальном режиме процессора и имела доступ ко всем ресурсам. Под вендой такая программа будет работать в режиме эмуляции реального режима внутри защищенного, для чего понадобится DOSBOX, либо виртуалка с DOS.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я нашел много алгоритмов по конвертации doc в pdf,но не нашел обратного алгоритмаПодскажите пожалуйста как сделать это на windows и на linux
Собственно ситуация такая: у меня есть библиотека для lua (написана на c++) которая предоставляет доступ к некоему объекту из c++ кода (допустим,...
Запустил бесконечный поток из окна mainwindowСоздал диалоговое окно menu по нажатию на кнопку мне нужно остановить бесконечный поток