Everything

FSEEK


ファイル・ポインタを指定された位置に移動します。

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

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

[パラメータ]

パラメータ

説明

実行結果(出力)

0:正常終了

-1:エラー

ファイル番号(入力)

ファイルのオープン時に返す番号

ディレクション(入力)

0:オフセットはファイルの先頭からのバイト数

1:オフセットは現在のファイル・ポインタからのバイト数

2:オフセットはファイルの最後尾からのバイト数

オフセット(入力)

ディレクションで指定した位置からのバイト数

[詳細説明]

-

ファイル・ポインタを指定された位置に移動します。

[使用例]

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