Ага, то есть пройдет енто только в консольном приложении!?
Не просто в
консольном приложении, а только в
консольном приложении, работающем в реальном режиме (эмуляция 8086). Фактически - приложении MS DOS. Для Windows тоже вполне можно написать консольное приложение, которое при этом будет полноценной программой Win32.
а для винды эти ячейки известны?
Нет. Более того, в среде MS Windows каждое 32-разрядное приложение запускается в собственном виртуальном адресном пространстве, изолированном от остальных (можно системными средствами создавать общие области памяти для разных процессов, но это вопрос достаточно тонкий). Поэтому ячейка с неким
виртуальным адресом X для каждой программы отображается на разные
физические адреса памяти, и каждая программа видит свой собственный вариант. Поэтому манипулировать физическими адресами обычно лишено смысла.
Дело в том, что мне нужны не просто базовые адреса, но еще и все 8 регистров, чтоб управлять устройством, уж в винде-то никто не отменял прямого обращения к портам?
Мне жаль разочаровывать, однако - увы, отменили. Невозможно создать устойчиво работающую систему, в которой любой процесс может писать в любые регистры что заблагорассудится. На Гейтса постоянно катят бочку по поводу глючности его продукта (на мой взгляд, порой несколько проблема преувеличена), однако если бы он разрешил доступ к регистрам, тут бы мы и узнали кузькину мать. А уж как вирусописатели были бы благодарны за такой подарок...
(мне бы проще было асмом напрямую работать с этим портом, потому что время немного - уже курсовик сдавать надо будет скоро) :oops:
Вот эта простота IMHO весьма преувеличена... Доводилось мне как-то писать программу для обмена данными по нескольким портам параллельно для MS DOS. Скажем так, заработала отнюдь не с первого включения, было в чем покопаться.
Кстати, а в чем необходимость этой затеи? Я бы еще понял, если бы это делалось на "голом" железе, для какого-нибудь контроллера на чипе с несколькими килобайтами памяти. Но когда используется более-менее полноценная операционная система, оснащенная драйверами для работы со всеми устройствами, зачем отодвигать их в сторону и грубо лезть на регистры, если есть уже все готовое?