· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Как написать свой обработчик прерываний под Win32

Посл.отвђт Сообщенiе


Дата: Май 22, 2004 22:21:08

Добрый день, я пишу библиотеку для работы с COM портами. Работаю я с ними на уровне портов ввода/вывода UART`а.
Для получения привилегий использую драйвер WinIO.
Возникла проблемма как написать свой обработчик прерываний, желательно код должен быть на VC со вставками на асме, если необхадимо.
И ещё вопрос винда не позволяет выполнить комманду CLI и STI, хотя использую WinIO.
Спасибо!


Дата: Май 23, 2004 00:38:35

http://www.windowsitlibrary.com/Content/356/09/1.html

Я не знаю, что такое WINIO, но проверь CPL твоего кода. Возьми софт-айс и посмотри. А вообще, говоришь некорректно. Это не винда не позволяет, это проц не позволяет :)


Дата: Май 23, 2004 00:58:24 · Поправил: Asterix

> И ещё вопрос винда не позволяет выполнить комманду CLI и STI

Это привилегированные команды и должны выполняться из соответствующего кольца ;-)


Дата: Май 23, 2004 15:36:23

WinIO это который? я знаю как миним. два - один простой диспетчер портов, управляемый через DeviceIoControl, другой - дает приложениям третьего кольца юзать команды IN и OUT.
с обработкой прерываний все намного сложнее... если не ошибаюсь, через контекст можно дотянуться до отладочных регистров и поставить точку останова на текущий обработчик аппаратных прерываний. это как бы работает, но именно "как бы", потому что прикладное приложение может быть элементарно сброшено осью на диск и пока по факту возниковения прерывания оно подкачается с диска, поимка прерывания будет уже неактуальной, так что нужно все-таки использовать драйвер ;)


Дата: Май 23, 2004 16:57:56 · Поправил: Безпощадный даос

<< другой - дает приложениям третьего кольца юзать
<< команды IN и OUT.
Он самый


Дата: Май 24, 2004 14:11:43

Shedon
прмерно так. Звиняюсь за карявасть, но, работает


1043394697__mousehandler.rar


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048