#include	<dos.h>
#include	<stdlib.h>

struct TOKEI {
	unsigned short	nen;
	unsigned char	data[8];
} jikan;

union REGS		regs ;
struct SREGS	segregs ;

char	*suuji[10] = { "０","１","２","３","４","５","６","７","８","９" } ;
char	*youbi[7]  = { "日","月","火","水","木","金","土" } ;

/******************************************************************************
	時間の取り出し

	入力	: なし
	出力	: data - 取り出した時間
	戻り値	: なし
******************************************************************************/
void get_time()
{
	int		int86x(), i ;

	segread( &segregs ) ;
	segregs.es=segregs.ss ;
	regs.h.ah = 1 ;
	regs.x.di = (int)&jikan ;
	int86x(0x96,&regs,&regs,&segregs) ;
}

/******************************************************************************
	時計表示

	入力	: なし
	出力	: なし
	戻り値	: なし
******************************************************************************/
void main()
{
	int		w0, w1 ;

	get_time();
/*
**	Year
*/
	w0 = jikan.nen ;
	w1 = w0 / 1000 ;
	printf("%s",suuji[w1]) ;
	w0 -= ( w1 * 1000 ) ;
	w1 = w0 / 100 ;
	printf("%s",suuji[w1]) ;
	w0 -= ( w1 * 100 ) ;
	w1 = w0 / 10 ;
	printf("%s",suuji[w1]) ;
	w0 -= ( w1 * 10 ) ;
	printf("%s",suuji[w0]) ;
	printf("年") ;
/*
**	Month
*/
	w0 = jikan.data[0] ;
	w1 = w0 / 10 ;
	if ( w1 )
		printf("%s",suuji[w1]) ;
	else
		printf("　") ;
	w0 -= ( w1 * 10 ) ;
	printf("%s",suuji[w0]) ;
	printf("月") ;
/*
**	Date
*/
	w0 = jikan.data[1] ;
	w1 = w0 / 10 ;
	if ( w1 )
		printf("%s",suuji[w1]) ;
	else
		printf("　") ;
	w0 -= ( w1 * 10 ) ;
	printf("%s",suuji[w0]) ;
	printf("日") ;
	printf(" (%s) ",youbi[jikan.data[2]]) ;
/*
**	TIME
*/
	printf(" [") ;
	if ( jikan.data[3] < 10 )
		printf("0") ;
	printf("%d:",jikan.data[3]) ;

	if ( jikan.data[4] < 10 )
		printf("0") ;
	printf("%d:",jikan.data[4]) ;

	if ( jikan.data[5] < 10 )
		printf("0") ;
	printf("%d]",jikan.data[5]) ;

}

