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



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


              0093      F8                      CLC
              0094      CA 0002                  RET  2
              0097                        DISK ENDP
              0097                        CODE ENDS
                                           END
      Фиг. 10.2 (а) Процедура загрузки для виртуального диска;
            (b) Программа драйвера виртуального диска.
 
      Драйвер устройства, приведенный в рассматриваемом примере,
    реализует модель диска в оперативной памяти. Мы возьмем 160К
    памяти системы и будем исполльзовать ее не как оперативную
    память, а как дискету. Мы выбрали именно 160К потому, что это
    минимальный объем дискеты фирмы IBM. Очевидно, при большем объеме
    оперативной памяти можно моделировать дискету большего объема.
    Подпрограмму псевдо-диска можно использовать для повышения
    производительности программ, производящих интенсивный обмен с
    диском.  Например, если поместить на псевдо-диск ассемблер и
    исходный код программы, ассемблирование будет произведено не за
    минуты, а за секунды. Производительность некоторых программ может
    быть повышена более чем на порядок. Платой за такое повышение
    производительности являются 160K байт оперативной памяти, отводимые
    под псевдо-диск. Если в системе, которая в основном используется
    для редактирования и ассемблирования, имеется 256 кбайт памяти, то
    в действительности для ассемблера достаточно всего лишь 96 кбайт.
    Оставшиеся 160 кбайт можно использовать для моделирования диска в
    оперативной памяти.  Следует помнить, что содержимое такого диска
    теряется при отключении питания, поэтому, прежде чем окончить
    работу, убедитесь, что информация скопирована на настоящую
    дискету.
 
      Первая подпрограмма на Фиг. 10.2 - процедура загрузки. Ее
    код находится в секторе 1 дорожки 0 загрузочной дискеты. Как
    поместить программу туда, будет объяснено позже. Подпрограмма POST
    при завершении считывает содержимое сетора 1 дорожки 0 в память,



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