Блоки параметров
Блоки параметров
Блоки параметров придают гибкость аппаратным программам ПЗУ.
Векторы прерываний блоков параметров указывают на таблицы,
используемые BIOS. Блок параметров дисковода содержит данные,
которые BIOS использует при управлении дисководом. Поскольку
различные типы дисководов имеют разные характеристики, BIOS имеет
таблицу для всех типов дисководов поставляемых фирмой IBM. Если вы
захотели использовать другой тип дисковода вы можете модифицировать
таблицу параметров и использовать это устройство.
Существует также таблица параметров для задания режима работы
дисплея. Если ваш дисплей нуждается в некоторых других временных
соотношениях, можно модифицировать эту таблицу. Например, многие
телевизоры не могут показывать полную ширину 40-символьного
изображения. Один из параметров видеотаблицы управляет сдвигом
изображения на экране дисплея по-горизонтальным. Команда MODE в DOS
может сдвигать изображение на дисплее, модифицируя таблицу
параметров.
Последний блок параметров, использующий вектор прерываний BIOS,
на самом деле является таблицей образов символов. BIOS обеспечивает
вывод символов на дисплей во всех режимах работы дисплея. В
графических режимах BIOS изображает символы, составляя их из
соответствующих конфигураций точек. Таблица для первых 128 символов
находится в ПЗУ, она расположена, начиная со смещения 0FA6EH в
сегменте CODE. Вектор прерывания 01FH указывет на таблицу,
используемую для оставщихся 128 символов. В ПЗУ для этой таблицы не
нашлось места, так что ее должен организовать пользователь. Это
позволяет вам заменить набор символов, выбранный фирмой IBM для
старших 128 символов, своим собственным набором. Для этого нужно
только сконструировать точечные образы символов, загрузить
указатель на эту таблицу в вектор прерывания 01FH, и использовать
для вывода символов графический режим работы дисплея. Эта
возможность может оказаться очень полезной, так как позволяет
конструировать и использовать свой собственный набор символов.
Для того, чтобы изменить параметры, вам нужно изменить только
вектор прерывания указывающий на блок параметров. Где-нибудь в
своей программе вы составляете таблицу параметров, а затем
модифицируете вектор прерывания так, чтобы он указывал на эту
таблицу. Когда вы используете BIOS и ей требуется параметр, она
обращается в вашу, а не в стандартную таблицу параметров,
организованную в ПЗУ. Такие таблицы параметров делают BIOS очень
гибкой. Хотя команды и находятся в ПЗУ, вы можете изменить действие
BIOS, не заменяя ПЗУ на новое и не подменивая ни одной из программ,
вхолдящих в BIOS.