Подскажите как использовать прерывания в защищенном режиме

Тема в разделе "WASM.BEGINNERS", создана пользователем fireman, 29 сен 2008.

  1. fireman

    fireman New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2008
    Сообщения:
    39
    Подскажите как использовать прерывания в защищенном режиме
    т.е. 13х и 10.
    Если есть альтернатива прошу ссылки или примеры, ну или направление куда копать :)
    Получение таблицы прерываний через досовские прерывания не предлагать! Т.к. ДОС-а нету :).
    Загрузчик в реал. режиме сделал, мою прогу находит и загружает, а как дальше с винтом и остальным пока не знаю :). Подскажите пожайлуста.
    Заранее благодарен!
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Насчет int 0x13 -- придется писать свой драйвер винчестера. Некоторые BIOS'ы поддерживают защищенный режим, некоторые -- нет. Спецификации по винчестерам можно найти на сайте http://t13.org

    C int 0x10 та же история. Речь, как я понимаю, пока что идет только о текстовом режиме, поэтому самое простое -- писать в видео память напрямую. Видепамять начинается с адреса 0xB8000. Ячейка видеопамяти (с программной точки зрения) -- двубайтное слово. Младший байт содержит код символа, старший -- его параметры. Цвет литеры, цвет фона, яркость и мигание (не всегда). Младшие три бита определяют цвет в RGB, третий бит -- яркость, следующие три бита -- цвет фона, и последний (старший бит) -- мигание. Т.е. вывод белого неяркого текста на экран будет выглядеть примерно так:

    mov esi, string
    mov edi, 0xB8000
    mov ecx, 0x11
    rep movsb

    string: db 'H', 0x7, 'e', 0x7, 'l', 0x7, 'l', 0x7, 'o', 0x7, ',', 0x7, ' ', 0x7, 'P', 0x7, 'M'

    Синтаксис для FASM.
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    fireman
    Переключись в VM86 и вызывай прерывания.
    Таблица как лежала в первом кб так и лежит.
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    а с винтом и всем остальным - через PCI BIOS или порты