Everything

FOPEN


ファイルをオープンします。

[機能コード(R1レジスタ)]

[パラメータ・ブロック(R2レジスタ)]

[パラメータ]

パラメータ

説明

実行結果(出力)

0:正常終了

-1:エラー

ファイル番号(出力)

オープン処理以降のファイルへのアクセスで使用する番号

オープン・モード(入力)

0x00 :"r"

0x01 :"w"

0x02 :"a"

0x03 :"r+"

0x04 :"w+"

0x05 :"a+"

0x10 :"rb"

0x11 :"wb"

0x12 :"ab"

0x13 :"r+b"

0x14 :"w+b"

0x15 :"a+b"

各モードの内容は以下の通りです。

"r" :読み出し用にオープンします。

"w" :空ファイルを書き込み用にオープンします。

"a" :ファイルの最後から書き込み用にオープンします。

"r+" :読み出し,書き込み用にオープンします。

"w+" :空ファイルを読み出し,書き込み用にオープンします。

"a+" :読み出し追加用にオープンします。

"b" :バイナリ・モードでオープンします。

ファイル名先頭アドレス(入力)

ファイル名を格納している領域の先頭アドレス

[詳細説明]

-

[FOPEN]によってファイルをオープンすると,ファイル番号を返します。
以後のファイル入出力,ファイルのクローズ等では,このファイル番号を用います。

-

同時にオープンできる最大ファイル数は256です。

[使用例]

_fileopen:
        MOV.L       R2,R5           ; R2(オープン・モード)をR5に設定
        MOV.L       #PARM,R2        ; パラメータ・ブロックのアドレスをR2に設定
        MOV.L       R1,4h:5[R2]     ; R1(ファイル名先頭アドレス)をR2+4バイトに設定
        MOV.B       R5,2h:5[R2]     ; R5をR2+2バイト(オープン・モード)に設定
        MOV.L       #01250000h,R1   ; FOPENの関数コードをR1に設定
        MOV.L       #SIM_IO,R5      ; システム・コールのアドレスをR5に設定
        JSR         R5              ; システム・コール
        NOP
        MOV.L       #PARM,R2        ; パラメータ・ブロックをR2に設定
        MOV.B       1h:5[R2],R1     ; R2+1バイト(ファイル番号)をR1に設定
        MOV.B       R1,[R3]         ; R1をR3(ファイル番号のポインタ)の指す先に設定
        MOV.B       [R2],R1         ; R2の先頭1バイト(実行結果)をR1に設定
        RTS                         ; 呼び出し元のアドレスに戻る
 
         .SECTION  B,DATA,ALIGN=4
PARM:       .BLKL   2               ; パラメータ・ブロック領域