;==============================================================================
;	<< 386ASM V2.0 >>  for  FM TOWNS
;==============================================================================
.386p
		PAGE		60,132
		NAME		SOFTIME
		TITLE		SOFT TIMER
;==============================================================================
;	10 us 単位でのソフト待ち
;
;	< High C からの呼出形式 >
;	------------------------------------------------------
;	unsigned short wait ;		/*  待ち時間(10us単位)	*/
;	void SOFT_timer( waitsw ) ;
;	------------------------------------------------------
;
;	< note > : TABS = 4
;
;	< History >
;	1990.08.11 : CREATE
;	1991.04.23 : 清書
;
;	Programmed by Y.Hirata ( Nifty-ID : NAB03321 )
;==============================================================================
;
INCLUDE	hc.inc								;
;
CGROUP	GROUP pmcode, CODE					;
DGROUP	GROUP pmdata, DATA					;
;
;--------------------------------------------
		public	SOFT_timer					; 10us 単位の wait
;--------------------------------------------
;
;////////////////////////////////////////////
;			ネイティブ部
;////////////////////////////////////////////
;
pmcode	SEGMENT								;
		ASSUME	cs:CGROUP,ds:DGROUP			;
;
;********************************************
;	10us単位でのWAIT
;
;	< High C からの呼出形式 >
;	unsigned short wait ;
;	void SOFT_timer( wait ) ;
;
;	<  INPUT  > : 待ち時間 -wait-
;					10 us 単位
;
;	<  OUTPUT > : なし
;
;	<  RETURN > : なし
;
;	< History >
;	1990.08.11 : CREATE
;********************************************
		ALIGN	4							; dword boundary
SOFT_timer	PROC	NEAR					;
;
#inparm1	EQU		SS:[ebp+8]				; 待ち時間(第一引数)
;
			push	ebp						;
			mov		ebp,esp					; ｽﾀｯｸﾌﾚｰﾑ形成
;
			push	ecx						;
;
			mov		cx,#inparm1				;
			int		INT_STIM				; ｿﾌﾄﾀｲﾏBIOS
			xor		eax,eax					; ﾘﾀｰﾝ値 0
;
			pop		ecx						;
;
			pop		ebp						; ｽﾀｯｸﾌﾚｰﾑ開放
			ret								;
;
SOFT_timer	ENDP							;
;
pmcode		ENDS							;
;
		END

