Учись программированию на C++ Builder бесплатно!

Функция


Осуществляет выход в DOS из программы, оставляя, тем не менее ее резидентной.

Синтаксис


#include<dos.h>
void keep(unsigned char status, unsigned size);

Прототип


dos.h

Описание


Функция keep осуществляет выход в DOS со статусом выхода в переменной status. Текущая программа, тем не менее, остается резидентной. Длина программы устанавливается в size параграфов, и остаток памяти освобождается.

Функция keep может быть использована для установки резидентных программ (TSR). Функция keep использует функцию DOS 0x31.

Возвращаемое значение


Нет.

Переносимость


Функция уникальна для DOS. Функция не совместима с Windows.

Пример


#include <dos.h>
#define INTR 0x1c
#define ATTR 0x7900
extern unsigned _heaplen = 1024;
extern unsigned _stklen = 512;

void interrupt(*oldhandler)();

void interrupt handler(void)
{
unsigned int (far *screen)[80];
static int count;
screen = MK_FP(0x8000,0);
count++;
count %= 10;
screen[0][79] = count+'0'+ATTR;
oldhandler();
}

int main(void)
{
oldhandler = getvect(INTR);
setvect(INTR,handler);
keep(0,_SS+(_SP/16)-_psp);
return 0;
}

Поиск по сайту