#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include "sysp.h"

extern void far ms_handl(void);

// Флаг драйвера событий. При вызове драйвер событий
// запишет в эту переменную значение 1.

	unsigned ms_flag;

// Область для содержимого регистров на входе
// в драйвер событий.

	unsigned ms_bx;
	unsigned ms_cx;
	unsigned ms_dx;
	unsigned ms_si;
	unsigned ms_di;
	unsigned ms_ds;

	int botm;

main () {

	ms_flag=0;
// Инициализируем мышь, определяем количество клавиш

	if(!ms_init(&botm)) {
		printf("\nМышь не установлена");
		exit(-1);
	}

// Подключаем драйвер событий, устанавливаем маску таким образом,
// чтобы драйвер вызывался при нажатии на левую или правую
// клавиши мыши.

	ms_seth(2 | 8, ms_handl);

// Включаем курсор

	ms_on();

// Ожидаем вызова драйвера событий.

	for(;;) {
		if(ms_flag) {
			ms_off();

			printf("\nСостояние регистров на входе драйвера:"
				 "\nms_bx: %0X"
				 "\nms_cx: %0X"
				 "\nms_dx: %0X"
				 "\nms_si: %0X"
				 "\nms_di: %0X"
				 "\nms_ds: %0X",
				 ms_bx,
				 ms_cx,
				 ms_dx,
				 ms_si,
				 ms_di,
				 ms_ds);

			printf("\nНажмите любую клавишу...");
			getch();
			exit(0);
		}
	}
}

