home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
pao
/
ms_dos
/
cdplay
/
src
/
int23.asm
< prev
next >
Wrap
Assembly Source File
|
1980-01-02
|
3KB
|
109 lines
;==============================================================================
; << 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.
;
; Programed 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