;==============================================================================
;	<< MASM V5.1 >>  for  FM TOWNS
;==============================================================================
	page		60,132
	name		INT23
	title		INT23 Proc
;==============================================================================
;	^C ﾊﾝﾄﾞﾘﾝｸﾞ
;
;	CREATE : 1990.08.17
;	FINISH : 1990.08.17  V0.50
;
;	MSC 用 関数(ｽﾓｰﾙﾓﾃﾞﾙ)
;	-- ｲﾝﾀｰﾊﾞﾙﾀｲﾏの使用 --
;	INT23_init(void) ;
;	INT23_release(void) ;
;
;	< HISTORY >
;	1990.08.17 : CREATE
;
;	All Rights Reserved, Copyright (C) Y.Hirata 1990.
;
;	Programmed by Y.Hirata ( NIFTY-ID : NAB03321 )
;==============================================================================
;
			.MODEL	SMALL,C					;
;
			.CODE							;
;
COPYRIGHT	db			0Dh
			db			'     ',0Dh,0Ah,07h
			db			0Dh,0Ah,'        '
			db			'INT23 ﾊﾝﾄﾞﾗｰ V0.50   1990-08-17',0Dh,0Ah
			db			0Dh,0Ah,'        '
			db			'Copyright (C) Y.Hirata 1990.'
			db			0Dh,0Ah,0Dh,0Ah,1Ah
;
TITLE_name	db			'INT23 handring'
TITLE_len	EQU			$-TITLE_name
;
;********************************************
;			定数定義
;********************************************
;
TRUE		EQU			1
FALSE		EQU			0
;
ZERO		EQU			0
;
;********************************************
;			データ領域
;********************************************
vct_23h		dd		far						; ^C 割り込みﾍﾞｸﾀ
;
;********************************************
;			^C ハンドラ
;********************************************
int23_abort		proc	far					;
			iret							;
int23_abort		endp						;
;
;********************************************
;			^C ﾊﾝﾄﾞﾗのｾｯﾄ
;********************************************
INT23_init		proc	near				;
			push	es						;
			push	ds						;
			push	dx						;
			push	bx						;
			push	cs						;
			pop		ds						; ds = cs
;
			mov		ax,3523h				;
			int		21h						;
			mov		WORD ptr cs:vct_23h,bx	;
			mov		WORD ptr cs:vct_23h+2,es	;
;
			mov		dx,offset cs:int23_abort	; ^C ﾊﾝﾄﾞﾗのﾍﾞｸﾀｾｯﾄ
			mov		ax,2523h				;
			int		21h						;
;
			pop		bx						;
			pop		dx						;
			pop		ds						;
			pop		es						;
			ret								;
INT23_init		endp						;
;
;********************************************
;			^C ﾊﾝﾄﾞﾗのﾘｾｯﾄ
;********************************************
INT23_release	proc	near				;
			push	ds						;
			push	dx						;
			push	cs						;
			pop		ds						; ds = cs
;
			lds		dx,DWORD ptr cs:vct_23h	;
			mov		ax,2523h				;
			int		21h						;
;
			pop		dx						;
			pop		ds						;
			ret								;
INT23_release	endp						;
;
			end

