4. Открыть индекс EMM



11.4.4. Открыть индекс EMM

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

Эта функция позволяет заказать пул логических страниц (т.е. некоторую совокупность логических страниц дополнительной памяти). Полученному пулу присваивается индекс (handle), который указывает на пул и используется во всех операциях с пулом. /** *.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); }



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