Получить сегмент окна
На входе: 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, ®, ®); *frame = reg.x.bx;
return(reg.h.ah); }