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

       

Получить размер доступной памяти 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); }



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