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

       

Открыть индекс 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); }



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