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


         

Принтер и асинхронные коммуникации


    Программы входящие в BIOS обслуживающие печатающее устройство и
    последовательный канал очень похожи.  Основная разница -
    возможность чтения символов из асинхронного адаптера.  Обе
    программы имеют функции инициализации адаптера, вывода символа, и
    чтения состояния адаптера.      На Фиг.9.2 приведен список функций,
    реализуемых этими программами BIOS.
 
      Как видно из рисунка, эти две программы BIOS не совпадают.
    Значение регистра AH, необходимое для задания конкретного действия,
    разное для обеих программ и нам приходится с этим мириться.
 
      Эти программы BIOS могут обслуживать более одного адаптера. В
    поле данных BIOS по адресу 40:0H имеется областть из восьми слов.
    BIOS использует эту область для хранения адресов адаптеров
    печатающих устройств и последовательных каналов. Четыре слова со
    смещением 0, которые помечены RS_232_BASE, являются местом для
    хранения адресов портов четырех адаптеров последовательных каналов.
    По смещению 8, помеченного PRINT_BASE, находится соответствующая
    область для адаптеров печатающих устройств. Процедура POST
    инициализирует эту область данных в зависимости от того, какие
    устройства она обнаружит в системе. При поиске печатающих устройств
    процедура POST сначала ищет черно-белую плату, затем адаптер
    печатающего устройства по адресу ввода-вывода 378H и, наконец
    адаптер печатающего устройства по адресу 278H. Если процедура POST
    находит адаптер печатающего устройства по любому из этих адресов,
    она помещает значение его базового адреса в область данных.
    Аналогичную работу процедура POST делает с адаптерами
    последовательного канала, сначала она ищет плату по адресу
    ввода-вывода 3F8H, а затем по адресу 2F8H.
 
      Программы BIOS написаны независимо от адресов ввода-вывода
    конкретных плат адаптеров. В регистр DX помещается входной
    параметр, указывающий, какую из имеющихся плат должна использовать
    программа входящая в BIOS. Например, если у вас есть монохромная



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