Аппаратное обеспечение IBM PC



         

Примеры программ


Первая программа демонстрирует проверку подключения драйвера и использование его основных функций:

include sysp.inc

.MODEL tiny DOSSEG

.STACK 100h

.DATA

msg DB 13,10,"Работа с драйвером HIMEM.SYS", 13, 10 DB "Copyright ©Frolov A.,1991",13,10,13,10 DB "$"

noHMM DB 13,10 DB "Драйвер HIMEM.SYS не установлен",13,10,"$" yesHMM DB 13,10,"Драйвер HIMEM.SYS установлен, ", "$" ver1 DB "версия: ", "$" ver2 DB ", номер модификации: ", "$" errmsg DB 13,10,"Ошибка с кодом ", "$" okmsg DB 13,10,"Успех!!!", "$" hmareq DB 13,10,"Запрашиваем область HMA", "$" hmarel DB 13,10,"Освобождаем область HMA", "$" enA20 DB 13,10,"Открываем линию A20", "$" dsA20 DB 13,10,"Закрываем линию A20", "$" loc_enA20 DB 13,10,"Локальный доступ к линии A20","$" loc_dsA20 DB 13,10,"Закрываем локальный доступ" DB " к линии A20", "$" check_A20 DB 13,10,"Проверяем доступность " DB "линии A20", "$" free_ext_mem DB 13,10,"Всего расширенной " DB "памяти, Кбайт: ", "$" max_ext_block DB 13,10,"Максимальный участок " DB "свободной" DB " расширенной памяти, Кбайт: ", "$"

HMMEntry dd ?

.CODE .STARTUP

mov ah, 9h ; Выводим заголовок mov dx, OFFSET msg int 21h

; Проверяем, установлен ли драйвер HIMEM.SYS

mov ax, 4300h int 2fh cmp al, 80h je HMM_installed

; Если не установлен, выводим сообщение и завершаем ; работу программы

mov ah, 9h mov dx, OFFSET noHMM int 21h

jmp terminate

HMM_installed:

mov ah, 9h mov dx, OFFSET yesHMM int 21h

; Получаем адрес управляющей функции драйвера

mov ax, 4310h int 2fh mov word ptr cs:[HMMEntry][0], bx mov word ptr cs:[HMMEntry][2], es

; Получаем номер версии

mov ah, 9h mov dx, OFFSET ver1 int 21h




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