Получить сегмент окна



11.4.2. Получить сегмент окна

На входе: AX = 4100h. На выходе: AH = байт состояния EMM; BX = сегмент окна для доступа к логическим страницам дополнительной памяти.

Функция позволяет получить сегмент 64-килобайтного окна, используемого драйвером EMS для доступа к логическим страницам расширенной памяти. /** *.Name ems_fram *.Title Определение сегмента окна доступа * *.Descr Эта функция возвращает сегментный адрес * окна, которое используется для доступа к * дополнительной памяти. * *.Proto char ems_fram(unsigned *frame); * *.Params unsigned *frame - Указатель на переменную, * в которую будет записан сегментный * адрес окна доступа. * *.Return Сосотояние EMM. * *.Sample ems_test.c **/ #include <stdio.h> #include <dos.h> #include "sysp.h" char ems_fram(unsigned *frame) { union REGS reg; struct SREGS sreg; reg.x.ax = 0x4100; int86(0x67, &reg, &reg); *frame = reg.x.bx; return(reg.h.ah); }



Содержание раздела