[an error occurred while processing this directive]
Как зачем? У машины своя, физическая 32-битная адресация, у программы - своя, в зависимости от режима, в котором она исполняется
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено cms 20 августа 2003 г. 14:31
В ответ на: Что это такое зачем нужно и как сделать? отправлено Zax 20 августа 2003 г. 14:09

Таким образом, тот адрес, который пишется при аллокации памяти в BAR PCI-устройства вовсе не соответсвует тому адресу, по которому надо делать mov для записи в PCI. Прямое соответствие имеет место только для IO (16-разрядная подсистема портов в PC). Для работы с памятью PCI-устройства надо ее сперва отмаппировать (установить соответствие между физическим адресом и виртуальным в адресном пространстве программы, который, собственно, и надо указывать в asm-командах). В Windows для этого есть спец. ядерные функции, а в ДОС-е надо ставить DOS-extender для работы с 32-разрядными приложениями, что-нибуть типа DOS4GW (ух, как давно это оказывается уже было...).
Вобщем, разбирайтесь с механизмом формирования адресов у PC.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru