![]() |
|
![]() ![]() ![]() |
|
antonkonikov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 22.3.2009 Где: Украна, Донецк Репутация: нет Всего: нет |
Мне нужно простестировать драйвер консоли написанный на асме инициализация работает а вот команда ввода и вывода нет(
Подскажите что нужно сделать. Сброшу архив с драйвером и программой. Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
ФедосеевПавел |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Мне кажется, что ты витеевато пытаешься компилировать, а затем и проверять.
Когда я читал книгу Лея, то пользовался компилятором масм 6.11 (эта версия не работает под XP) и примером из masm (ATOMS).
Сейчас, навскидку не вспомню значение параметров. Для tasm это будет скорее всего
Т.е. понадобится ещё и утилита exe2bin.exe. Далее для проверки нужно прописать полученный драйвер в файле config.sys
И перегрузить компьютер. Если драйвер завесит систему, то загрузится по-шагам (нажимать F8 перед загрузкой) - это при чистом DOS - и отказаться загружать собственный драйвер. Теперь драйвер в памяти. Его нужно протестировать. Т.к. это драйвер символьного устройства, то для проверки его открывают как файл. На паскале
Правда, у меня ощущение, что в далёком прошлом я делал не так, а просто на asm-вставках скопировал обращения из С-шного примера ATOMS. Настоятельно рекомендую найти в примерах к масму проект ATOMS (\masm\samples\DOSDEV) и внимательно почитать его. Там не только драйвер но и пример обращения к нему из ЯВУ (конкретно из C). Чтобы не искать exe2bin и пример... Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
||||||||
|
|||||||||
antonkonikov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 22.3.2009 Где: Украна, Донецк Репутация: нет Всего: нет |
Ну это задание для курсового проекта. Я вот написал тест, вот если запустить test1.exe, и нажать 1, то команда инициализации работает! А вот команда ввода и вывода- на них виснет, может что-то не так в драйвере, или в тесте. Мне нужно чтобы оно вывело данные как для инициализации. В этом у меня вся трудность.
|
|||
|
||||
ФедосеевПавел |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Ну давай я ещё раз повторю. Драйвер после компиляции должен быть прописан в config.sys, далее компьютер перезагружен (в чистом ДОС) - чтобы драйвер заработал. Тестовая программа - сама по себе - не включает ни одной строки кода драйвера. Обращение к драйверу - только через системные вызовы ОС - как к файлу.
Раз уж в витееватом коде есть обращение напрямую к драйверу, то заполняй полностью всю структуру rh, т.е. rh4.rh4_buf_ofs, rh4.rh4_buf_seg должны указывать на буфер и т.д. и т.п. Для команды вывода в этом буфере должны быть данные, указана длина - в общем те данные, которые соответствующая подпрограмма в драйвере обрабатывает. Ещё раз повторю: в примере к масм хорошее описание для работы с драйверами и их тестирования. |
|||
|
||||
antonkonikov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 22.3.2009 Где: Украна, Донецк Репутация: нет Всего: нет |
Понимаете ФедосеевПавел, мне нужно на TASMe.
Вот то что я сегодня сделал. Это то что и требовалось. Только один "бок" у меня, когда выбераем 2 и 3 пункты меню, после выполнения этих команд вылетает тест. Как это устранить? Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |