Вопрос № 80613: Программа: 32-х канальный осциллограф для отображения данных получаемых с LPT порта. Переключение скорости развертки осуществляется кнопками (все работает), но стоит нажать любую из них, блокируется клавиатура и становится невозможно использовать для...Вопрос № 80620: Подскажите, пожалуйста, где можно найти пособие, где достаточно подробно освещается работа на MASM32 в среде Windows? В частности, управление control-кнопками
и клавиаутурой одновременно; корректное распределение задачи на потоки; как организовать и ...Вопрос № 80647: Здравствуйте, уважаемые эксперты !
У меня возник такой вопрос,в Dos существует функция 4Eh - 21
прерывания, для поиска файла. Так вот, ведь до её появления каким-то
образом какой-то дядя Bill её написал, стало быть она существует
в ас...Вопрос № 80713: Ув эксперты!
Занимаюсь по Юрову (TASM 3.1),по ходу нужно выводить на экран результаты вычислений.Юров показывает только как вывести на экран символ,введенный с клавы,а,если нужно вывести просто число 12345678h или другого размера?
Я по п...
Вопрос № 80.613
Программа: 32-х канальный осциллограф для отображения данных получаемых с LPT порта. Переключение скорости развертки осуществляется кнопками (все работает), но стоит нажать любую из них, блокируется клавиатура и становится невозможно использовать для управления клавиши. Понимаю, что это ненормально, но не могу понять, что именно? Пытался вставить WM_KEYDOWN (UP) в цикл обработки сообщений; пробовал использовать поток (Thread), а также SetWindowLong - ничего не получается. Может, кто-нить сталкивался с подобной
проблемой? Подскажите, пожалуйста.
Отвечает: Koshich
Здравствуйте, Тариэлл Алесандрович Родионов!
Попробуйте проверить в отладчике состояние флага IF после нажатия клавиши, может какая-либо подпрограмма его изменяет, и есть смысл использовать команду STI.
--------- Когда ничего не получается - читай инструкцию!
Ответ отправил: Koshich (статус: 1-ый класс)
Ответ отправлен: 02.04.2007, 00:14 Оценка за ответ: 3 Комментарий оценки: Уважаемый эксперт Koshich, с флагами IF - порядок, а вот за STI спасибо, попробую. Признаться, запрещать/разрешать прерывания в Win-среде в голову не приходило. RTA
Вопрос № 80.620
Подскажите, пожалуйста, где можно найти пособие, где достаточно подробно освещается работа на MASM32 в среде Windows? В частности, управление control-кнопками и клавиаутурой одновременно; корректное распределение задачи на потоки; как организовать и использовать прерывание LPT порта при его нештатном подключении?; как грамотно организовать асинхронный ввод/вывод на LPT порт? Заранее благодарю за помощь!
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Тариэлл Алесандрович Родионов!
Для работы с принтером на прямую используются регистры контролера паралельного порта.
В приложении:
-адреса с учебниками(обратите внимание на работу с портами вводавывода),
-описание регистров контролера.
http://www.joysticks.ru/ -тут есть описание подключения нестандартных устройств к РС.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: 8-ой класс)
Ответ отправлен: 02.04.2007, 13:56 Оценка за ответ: 4 Комментарий оценки: Уважаемый Константин Николаевич! Благодарю за потраченное на меня время. Проблем с регистрами паралельного порта у меня нет. Например, программно реализован протокол SPI для связи c чипом памяти ATMEL. Если интересно, дайте знать на rta111@pochta.ru. Хочу понять, как инициировать и использовать прерывание LPT порта при работе (подключении) нештатного устройства.
Вопрос не по теме: копирую данный текст в Aditor (KOI8) вижу его нормально, возвращаю в окно комментария - билиберда. В Интернете я новичок.
Вопрос № 80.647
Здравствуйте, уважаемые эксперты !
У меня возник такой вопрос,в Dos существует функция 4Eh - 21
прерывания, для поиска файла. Так вот, ведь до её появления каким-то
образом какой-то дядя Bill её написал, стало быть она существует
в ассемблерном виде, без использования прерываний. Если у кого-то
есть пример поиска файлов без использования функций Dos, или ссылки
на такие источники, прошу помочь.
Отправлен: 02.04.2007, 08:13
Вопрос задал: CrancV (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Стас
Здравствуйте, CrancV!
Тебе прийдется изучить форматы файловых систем.
Например для FAT:
1)считать "master boot" сектор, boot сектор, опросить систему чтобы определить геометрию диска, местоположение партиции, параметры FAT.
2)считать корневой DIR
3) найти в нем нужный каталог, считать нужное место в FAT чтобы прочитать следующий подкаталог(повторить N раз пока не найдем нужный каталог)
4) найти в каталоге имя файла (или имена файлов) соотвествующие маске.
(я как-то писал поиск по маске (не в каталоге, а в списке) по моему достаточно интересно и удачно получилось)
Примерно так.
Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 02.04.2007, 11:18 Оценка за ответ: 4 Комментарий оценки: Алгоритм прост и понятен, гораздо сложнее с его реализацией... Примерчик со своей работой дай пожалуйста подсмотреть.
Отвечает: Зенченко Константин Николаевич
Здравствуйте, CrancV!
Алгоритм Вам уже дали.
Нужно будет использовать прерывание 13h BIOS
Удачи!
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: 8-ой класс)
Ответ отправлен: 02.04.2007, 12:22 Оценка за ответ: 2 Комментарий оценки: К сожалению ответ не по теме, 13h - ни что иное как прерывание Bios, а ведь его тоже кто-то написал, в моём случае Phoenix...
Вопрос № 80.713
Ув эксперты!
Занимаюсь по Юрову (TASM 3.1),по ходу нужно выводить на экран результаты вычислений.Юров показывает только как вывести на экран символ,введенный с клавы,а,если нужно вывести просто число 12345678h или другого размера?
Я по простоте состряпал макрос (см ниже),но он,естественно не фурычит,мало знаний.
Подскажите,плз,как выйти из положения.
Спасибо.