; master library - MS-DOS ; ; Description: ; ファイルの存在を確かめる ; ; Function/Procedures: ; int file_exist( const char * filename ) ; ; function file_exist( filename:string ) : boolean ; ; ; Parameters: ; char * filename ; ; Returns: ; 1 = 存在 ; 0 = 不在(またはファイルハンドルが足りないなど) ; ; Binding Target: ; Microsoft-C / Turbo-C / Turbo Pascal ; ; Running Target: ; MS-DOS ; ; Requiring Resources: ; CPU: 8086 ; ; Notes: ; ; ; Compiler/Assembler: ; TASM 3.0 ; OPTASM 1.6 ; ; Author: ; 恋塚昭彦 ; ; Revision History: ; 92/11/17 Initial ; 92/11/24 bugfix (thanks, Mikio!) ; 92/12/18 他のfile_*を使わない独立型に変更 ; 93/ 1/16 SS!=DS対応 ; 93/ 5/15 [M0.16] dos_ropen使用に変更(Turbo Pascal対応のため) func FILE_EXIST mov BX,SP ; @@filename = (RETSIZE+0)*2 if LDATA push word ptr SS:[BX+@@filename+2] endif push word ptr SS:[BX+@@filename] nopcall DOS_ROPEN jc short @@NOTHERE xchg BX,AX mov AH,3eh ; クローズ int 21h @@NOTHERE: sbb AX,AX inc AX ret datasize*2 endfunc