Assembler для начинающих



         

Загрузка в верхнюю часть памяти - часть 11


    по адресу 0:7C00H. Затем POST передает управление по первому
    адресу этой записи. Таким образом система фирмы IBM загружает в
    память DOS или любую другую операционную систему. А мы как раз и
    собираемся, загружать свою собственную простую операционную
    систему.
 
      Сегмент NEW_DISK определяет адрес подпрограммы-драйвера
    устройства, также представленной на втором листинге (см. Фиг.
    10.2).  Поскольку наши подпрограммы ассемблируются отдельно, этот
    сегмент для связи процедуры загрузки и драйвера устройства во время
    выполнения. Сегмент ABS0 локализует векторы прерываний, заменяемые
    в процедуре загрузки. В сегменте CODE, содержатся команды,
    загружаемые с дискеты. Сегмент CODE - единственная часть
    приведенной программы, находящаяся на загрузочной дискете.
 
      Первое, что делает программа инициализации - пересылает себя по
    адресу 0:7A00H. Затем, в процессе инициализации, процедура
    перезагружает систему, чтобы загрузить настоящую операционную
    систему. Эта загрузка производится по адресу 0:7C00H. Если бы
    процедура инициализации не переносила себя на другое место, она бы
    считывала следующую запись загрузки в ту область памяти, где
    находится сама.
 
      С адреса NEXT_LOCATION процедура инициализации инсталирует
    драйвер устройства. Она изменяют флаги оборудования для указания на
    наличие дополнительного дисковода по сравнению с установкой внешних
    переключателей. Это "убеждает" операционную систему, что диск в
    оперативной памяти является частью технического обеспечения.  При
    инициализации значение MEMORY_SIZE уменьшается на 160 кбайт,
    которые резервируются для моделирования диска.  Это предотвращает
    использование предназначенной для него памяти.  Кроме того,
    программа подсчитывает значение сегмента для этой области в 160
    кбайт, чтобы знать, куда загружать драйвер устройства. Когда это
    выполнено, подпрограмма инициализации загружает в зарезервиро-



Содержание  Назад  Вперед