Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сервисы и прерывания BIOS



Системная BIOS предоставляет ряд сервисов низкого уровня, в основном пред­назначенных для обслуживания ввода-вывода и имеющих отношения к стан­дартным аппаратным интерфейсам. Традиционные сервисы BIOS обычно вы­зываются в реальном режиме или V86 посредством инструкций программных прерываний (Int xx). Большинство сервисов может быть вызвано и через фак­тически стандартизованные точки входа (адреса в области ROM BIOS) дальни­ми вызовами процедур (CAL L f a r) с предварительным помещением в стек регис­тра флагов (сервисы построены как обработчики прерыаний). Все традиционные сервисы BIOS работают в 16-разрядном режиме процессора, и ими можно пользо­ваться в реальном режиме, V86 и малопривлекательном 16-разрядном защищен­ном режиме.

Для процессоров 386+ оптимальным по эффективности является 32-разрядный защищенный режим. Для того чтобы из этого режима можно было пользоваться сервисами BIOS (правда, не всеми) без промежуточных переключений, по ини­циативе фирмы Phoenix ввели 32-разрядные вызовы BIOS32. Адрес точки входа BIOS32 заранее не известен, но известен способ его нахождения: в диапазоне ад­ресов памяти OEOOOO-OFFFFFh на границе параграфов (младшие 4 бита адреса нулевые) ищется строка-сигнатура "_32_" (число 325F5F33H) заголовка, за кото­рой следует физический адрес точки входа. Сами сервисы вызываются дальними вызовами точки входа в сервис. Номер, параметры вызываемых функций и резуль­таты передаются на регистрах процессора.

Прерывания, обслуживаемые системной BIOS, перечислены ниже. Кроме них несколько векторов используются как указатели на различные структуры данных.






Дата публикования: 2015-07-22; Прочитано: 464 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...