Распределение памяти среди двоичных компонентов BIOS

Распределение памяти среди двоичных компонентов BIOS перед безуслов­ным переходом в original. tmp. Начальный физический адрес сжатых компо­нентов BIOS, сохраняемый в этом диапазоне, вычисляется при помощи сле­дующей формулы: Заметьте, ЧТО Адрес сегмента назначения Начинается по смещению Llh От начала каждого из упакованных компонен­тов. Применяя эту формулу, можно определить, какой компонент распако­вывается в каждом^ конкретном случае. В данном случае, при вызове подпро­граммы распаковки ей передается значение 8200h В качестве Параметра индекса. Отсюда получаем следующую формулу:
Здесь 7Fh соответствует упакованному файлу awardext. rom, так как это зна­чение находится и в заголовке файла awardext. rom, т. е. сегментом назначе­ния файла awardext. rom является сегмент 407Fh. Обратите внимание, что операция Логическое И имитирует подпрограмму распаковки для компонен. тов расширения. Принципы работы подпрограмм будут подробно объяснены далее, при рассмотрении исполнения подпрограммы распаковки при прове­дении процедуры POST. Decompress_system_Bios В блоке началь­ной загрузки распаковывает системную BIOS и сохраняет в RAM инфор­мацию об упакованном компоненте расширения. Если в регистре di установлен самый старший бит входного параметра Для Процедуры Decompress_component, А значение в регистре не равно FOh, Сегмент назначения для распаковки не является сегментом назначения по умолчанию для компонентов расширения, т. е. это не сегмент 4000h. Если в регистре Di Установлен старший бит входного параметра для про­цедуры Decompress_component, А значение в регистре равно FOh, Смещение назначения для распаковки не является смещением назначения по умолча­нию для компонентов расширения, т. е. это не смещение ooooh. За исключением этих замечаний, для распаковки применяется тот же самый движок распаковки, что и при исполнении кода начальной загрузки.



Рубрика: Женский интерес

Комментарии закрыты.