Получить размер доступной памяти EMS



11.4.3. Получить размер доступной памяти EMS

На входе: AX = 4200h. На выходе: AH = байт состояния EMM; DX = общее количество 16-килобайтных страниц EMS в системе; BX = число доступных в настоящее время страниц EMS.

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



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