![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при чтении и записи в порт [D7, WinXP]
CTPAX.RU © (2005-08-09 19:21:00)При попытке использования в ассемблерной вставке команды
in al, dx
или
out dx, al
(чтение/запись в порт соответственно) выводится ошибка (исключение) класса Eprivilege с сообщением "Priveleged instruction".
Порт $0388, если это имеет значение, это адресный порт монорежима звуковой карты.
Собственно, вопрос: как мне избежать этой ошибки?
ANB (2005-08-09 20:48:00) [21]
> Kolan © (09.08.05 20:44) [6]
- интересно, как записать в порт процессора $0388 один байт с использованием этих функций ? Может примерчик запостишь ?
DiamondShark (2005-08-09 20:47:00) [22]Люблю телепатов.
Где-нибудь было хоть пол-слова про коммуникационный порт?
Kolan (2005-08-09 20:44:00) [23]С портом в Windowse так нестоит работать. Работа сним похожа на работу с обычным файлом. А ф-ции
WinAPI CreateFile(), WriteFile(), ReadFile().как раз для этого и нужны.
PS Перевод "Priveleged instruction" мог дать ответ...
ANB (2005-08-09 20:41:00) [24]
> остальные вставки (mov, например) работают
- работа с портами - привилегия системы. Удивительно, но, кроме mov, работает еще множество команд :))
isasa (2005-08-09 20:40:00) [25]>Собственно, вопрос: как мне избежать этой ошибки?
Зарегистрировать как драйвер системы.
DiamondShark (2005-08-09 20:40:00) [26]
> В крайнем случае, нельзя ли поподробнее про вышеуказанные
> функции?
А нельзя ли поподробнее про исходную задачу?
CTPAX.RU (2005-08-09 20:21:00) [27]А что делают эти функции? Странно как-то: остальные вставки (mov, например) работают, а эти нет. Может, кто-нить знает ассемблерное решение?
В крайнем случае, нельзя ли поподробнее про вышеуказанные функции?
_Андрей (2005-08-09 19:24:00) [28]Указанные ассемблерные вставки могут работать только под Windows98, а для WinXP, 2000 и т.п. надо пользоваться функциями WinAPI CreateFile(), WriteFile(), ReadFile().