home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix Heaven Sunny 2
/
APPARE2.BIN
/
oh_towns
/
his
/
sample
/
stack.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-06-20
|
1KB
|
56 lines
/***********************************************************************
垂直同期割り込みサンプル
1995.6.12 by ちょもらんま
***********************************************************************/
#include <stdio.h>
#include <his.h>
/*----------------- VSYNC割り込みハンドラ ------------------*/
#define VSYNCclear 0x05ca
#define VSYNCintNumber 11
int VSYNCflag;
void VSYNChandler( void )
{
VSYNCflag++;
/* VSYNC割り込み原因クリアレジスタへの書き込み */
_outb( VSYNCclear, 0 );
}
void main( void )
{
#define stackSize 1000
char stackArea[ stackSize ];
int i;
/************* スタック領域を一定値で埋める **************/
#define Filler 0xab
for( i = 0 ; i < stackSize ; i++ )
{
stackArea[ i ] = Filler;
}
/*------------------- 割り込み設定 ----------------------*/
HIS_stackArea( stackArea , stackSize );
HIS_setHandler( VSYNCintNumber , VSYNChandler );
HIS_enableInterrupt( VSYNCintNumber );
/*------------ 割り込みハンドラの終了を待つ -------------*/
VSYNCflag = 0;
while( VSYNCflag == 0 );
/*----------------- 割り込み処理終了 --------------------*/
HIS_detachHandler( VSYNCintNumber );
/***************** 使用スタック量を表示 ******************/
for( i = 0 ; stackArea[ i ] == Filler ; i++ );
printf( "使用したスタックは %d byte です。\n" , stackSize - i );
}