								/* bcbug3.c
******************************************************************************
	BUG IN BORLAND C/C++ 3.1

	32-bit EAX register used in ISR (with -3 command-line option)
	but only AX is saved/restored by the ISR.
*****************************************************************************/
#include	<dos.h>
#define		VEC_NUM		0xFF

typedef void interrupt(*vector)(void);

volatile unsigned long Output;
/*****************************************************************************
*****************************************************************************/
void interrupt handler(void)
{	static unsigned long Counter;

	Counter++;
	Output=Counter & ~7; }
/*****************************************************************************
*****************************************************************************/
void main(void)
{	vector OldVector;

	disable();
	OldVector=getvect(VEC_NUM);
	setvect(VEC_NUM, handler);
	/* ... */
	setvect(VEC_NUM, OldVector);
	enable(); }

