MSX-DOS2 FCS 03 54

From Z80 Machines Wiki
Jump to: navigation, search

3.54 MOVE FILEハンドルハンドル(4AH)

パラメータ:C = 4AH(_SEEK)

B =ファイルハンドル

A =メソッドコード

DE:HL =符号付きオフセット

結果:A =エラー

DE:HL =新しいファイルポインタ

指定されたファイルハンドルに関連付けられたファイルポインタは、メソッドコードとオフセットに従って変更され、新しいポインタ値はDE:HLに返されます。メソッドコードは、符号付きオフセットの相対位置を次のように指定します。

A = 0ファイルの先頭からの相対位置

A = 1現在位置からの相対位置

A = 2ファイルの末尾を基準にしています。

メソッドコードが1のオフセットが0の場合は、現在のポインタ値が単純に返され、メソッドコードが2の場合は、ファイルのサイズが返されます。ファイルの終端チェックは行われないので、ファイルの終端を超えてファイルポインタを設定することはかなり可能です(そして時には便利です)。 "ファイルハンドルの複製"機能(機能47h)または "フォーク"機能(機能60h)によって作成されたこのファイルハンドルのコピーがある場合は、それらのファイルポインタも変更されます。

ランダムアクセスが可能なので、ファイルポインタはディスクファイル上では実際の意味のみを持ちます。デバイスファイルでは、ファイルポインタは読み取りまたは書き込みが行われると適切に更新され、この機能によって検査または変更することができます。しかし、変更しても効果はありません。それを調べても意味がありません。