OSDev

для всех
Текущее время: 29 апр 2024, 14:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: IRQ
СообщениеДобавлено: 03 дек 2012, 23:35 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
С буковками я уже розобрался))
Появилась проблема с прерываниями.
Тоесть они не работают
ИДТ, А20, переход в пм в файлике sb.asm
гляньте если не сложно


Вложения:
MYsrc.rar [19.31 КБ]
Скачиваний: 431
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 04 дек 2012, 09:52 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
А сам как думаешь почему не работают?
Наверно по тому что код настройки прерываний отсутствует.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 04 дек 2012, 18:03 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Нада перенаправить IRQ на другие вектора?
Или в чём заключается настройка прерываний


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 04 дек 2012, 18:14 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Надо настроить контролёр прерываний хотя бы PIC.
Но это не всё прерывания надо настроить на каждой железке, которая должна их генерировать.

Да вектора надо перенести. Так как они пересекаются с исключениями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 04 дек 2012, 18:18 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
http://www.wasm.ru/article.php?article=ia32int
похоже?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 04 дек 2012, 19:54 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
вектора перенёс, вроди))
А в чём заключается настройка контролёра прерываний


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 05 дек 2012, 18:16 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
или ткни носом где етот код здесь
http://www.wasm.ru/article.php?article=ia32int


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 05 дек 2012, 18:34 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Контроллер прерываний к процессору не относится, он снаружи находится (во всяком случае, логически). PIC описан на осдевовской вике.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 01 янв 2013, 23:10 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Лазил в инете читал разные статьи, и вдруг нашёл ядро с поддержкой прерываний. Посмотрел, собрал, оно работает.
Только вот работает только прерывания таймера, вектора там перенесены на 0х20-0х27 для ведущего контролёра.
Решил попобовать будет ли работать клавиатура, а она не работает.
Я думаю что если таймер 0х20 то клавиатура должна быть на 0х21?


Вложения:
exp.000005.rar [35.35 КБ]
Скачиваний: 458
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 01:02 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Файл start.asm:
Код:
kernel_loop:
    hlt
    mov esi, kernel_loop_message
    call strPrint
    call updateCursor   
    jmp kernel_loop


а как проверить клавиатуру, я не нашел ,может плохо искал, где код для проверки.
Где обработчик прерывания от неё?

Почему не фасм, на нем полно примеров.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB