Главная категория > Компьютеры, сканеры ШК, Клавиатуры, принтеры и ПО и т.д.

решил написать програмный эмуль эклз через ком порт. проблемы. хелп, коллеги.

<< < (9/11) > >>

tridentxp:
не побоюсь показаться незнайкой: 0 - кольцо защиты - уровень асмы, системы. она туда драйвирь не пустит. либо мы разговариваем про сено и солому, либо...

tridentxp:
вот на си билдере 6 навлял включение асмы, запустил без giveio. сразу же получил системную ошибку приложения. с гивио - как бабка отвела, из чего я делаю вывод, что всётаки моё пользовательское приложение всётаки заставило проц пошевилить шиной данных, адреса, и лапой ~IORQ проца (если такая ваще реализована... но уж если есть комманды  in dx,... out dx.., то уж должна быть по логике). дык с учётом сказаного, я так полагаю система сама распределяет свою времменую нагрузку по своему усмотрению, что есно ведёт к непредсказуемости временного доступа к портам.

drfaust:

--- Цитата: tridentxp от 22/02/2012 23:39:18 --- 0 - кольцо защиты - уровень асмы, системы. она туда драйвирь не пустит.
--- Конец цитаты ---

Обломинго-птичка прилетела. На асме в Винде написан только hal - уровень абстракции железа. Всё остальное на 90% на С. Драйвера могут писаться как на С, так и на АСМе. Драйвера работают в 0м кольце, только там есть прямой доступ к железу.
Если любопытно, можешь посмотреть примеры дров WDK

При использовании в 3м кольце защиты инструкций in; out;  вызывает исключение, которое перехватывается операционкой, и уже она думает чё с этим делать. Часто операционка просто посылает прогу в аут.

tridentxp:
тогда вопрос: что сделает си билдер с таким ?
asm{ mov dx,890
       in al,dx
 ...
}
?      и  как и что с этим будет делать потенциальный драйзвирь ?

Prz777:
Ещё про LPT - http://progrex.narod.ru/

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Произошла ошибка благодарности
Думаю...
Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
Перейти к полной версии