Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > LPT и Win98


Автор: alex_andr 15.12.2008, 20:18
   Здравствуйте всем!

   Такая проблемка образовалась. Были у меня несколько самописных программулек под ДОС.
Основная их задача - обмен данными через LPT (не принтер). Все прекрасно работало.
Теперь встала задача: то же самое под Виндами (Вин 98). Ну я тупо запустил их из-под
Вин98 - как ни странно частично работают. Работа нужна именно из виндов, эмуляция ДОС
нельзя, иначе пропадает смысл. 
   Так вот проблема: программа вывода в порт работает, а чтение порта не выполняет.
Проблема локализована с помощью ТурбоДебагера и осциллографа. Я вижу физически биты
данных на линиях порта, но после команды  in al,dx в регистре al просто нули. Причем делаю
многократное чтение - не помогает. 
   Причем out al,dx прекрасно выполняется, а in al,dx - ну ни в какую. dx разумеется 0378h.

   Подскажите, что можно сделать по скорому? Под Виндами пока писать не умею. Читаю
конечно, но нужно быстрее, чем оно до меня дойдет.


   С уважением, Александр.

Автор: Mikl_ 16.12.2008, 12:37
alex_andr, посмотри в аттаче документ -- может быть поможет. Под WinXP ни out, in, cli, sti работать не будут выбрасывать исключение привелигированная команда

Автор: alex_andr 16.12.2008, 15:28
   Спасибо Mikl, озадачен по полной. 

С уважением, Александр.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)