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


         

перехватывается непосредственно после процедуры самоконтроля


    перехватывается непосредственно после процедуры самоконтроля при
    включении питания. Это может быть реализовано при помощи
    специальной дискеты загрузки. Программа будет записана на дискету,
    которая вставляется в дисковод перед включением питания.
    Подпрограмма загрузки, входящая в BIOS, загружает драйвер
    устройства с дискеты в верхнюю часть оперативной памяти. Затем
   можно изменить размер области данных сообщаемый BIOS в соответствии
    с имеющимся объемом оперативной памяти. При загрузке программы в
    верхние адреса размер доступной оперативной памяти уменьшается.
    Если после этого загрузить стандартную операционную систему, будет
    восстановлено нормальное функционирование ЭВМ. Все операционные
    системы фирмы IBM учитывают объем памяти BIOS при определении
    границ оперативной памяти. Указанные системы не затрагивают
    программ, загруженных в верхние адреса. Если система удовлетворяет
    указанным требованиям, то можно пользоваться загрузкой в верхние
    адреса оперативной памяти.
 
      Приведем пример для иллюстрации описанного приема. На Фиг. 10.2
    представлен листинг ассемблирования двух подпрограмм. Первая
    подпрограмма осуществляет инициализацию и загрузку драйвера
    устройства. Вторая подпрограмма является собственно драйвером
    устройства. Позже станет ясным, почему удобнее было разделить эту
    программу на две части.
 
A

                Microsoft (R) Macro Assembler Version 5.00              1/1/80 01:21:50
             Фиг. 10.2(а) Загрузчик для создания псевдо-диска          Page     1-1
 
 
                                           PAGE ,132
                                           TITLE      Фиг. 10.2(а) Загрузчик для создания псевдо-диска
              0000                        NEW_DISK   SEGMENT
              0000                        DISK_BIOS  LABEL      FAR
              0003                              ORG  3
              0003                        OLD_VECTOR LABEL      WORD

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