Распределение памяти среди двоичных компонентов 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. За исключением этих замечаний, для распаковки применяется тот же самый движок распаковки, что и при исполнении кода начальной загрузки.
Рубрика: Женский интерес