/**
*.Name         ems_open
*.Title        Открытие индекса пула страниц EMS
*
*.Descr        Эта функция открывает индекс пула страниц
*              EMS, делая доступными логические страницы
*              дополнительной памяти.
*
*.Proto        int ems_open(int n_pages, int *handle);
*
*.Params       int n_pages - количество требуемых логических
*                 страниц;
*              int *handle - указатель на слово, в которое
*                 будет записан индекс полученного пула.
*
*.Return       Байт состояния драйвера EMS
*
*.Sample       ems_test.c
**/

#include <stdio.h>
#include <dos.h>
#include "sysp.h"

int ems_open(int n_pages, int *handle) {

	union REGS reg;

	reg.x.ax = 0x4300;
	reg.x.bx = n_pages;
	int86(0x67, &reg, &reg);

	*handle = reg.x.dx;
	return(reg.h.ah);
}

