MSX-DOS2 FCS 03 29

From Z80 Machines Wiki
Jump to: navigation, search

3.29 ランダム読み込み [FCB](21h)

パラメータ:C = 21H(_RDRND)

DE =開かれたFCBへのポインタ

結果:エラーの場合はL = A = 01H(ファイルの終わり)

読み取りが成功した場合は= 0

この関数は、ファイルから現在のディスク転送アドレスに128バイトのレコードを読み込みます。ファイル位置は、FCB内の3バイトのランダムレコード番号(バイト21h ... 23h)によって定義されます。 CP / Mとは異なり、ランダムレコード番号の3バイトすべてが使用されます。ファイルの末尾の部分レコードは、ユーザーのDTAにコピーされる前にゼロが埋め込まれます。

ランダム・レコード番号は変更されないため、一時プログラムがランダム・レコード番号を変更しない限り、この関数を続けて呼び出しても同じレコードが読み取られます。副作用は、現在のレコードとエクステントがランダムレコード番号と同じレコードを参照するように設定されていることです。これは、順次読み取り(または書き込み)がランダム読み取りの後に続き、同じレコードから始まることを意味します。レコードカウントバイトもエクステント用に正しく設定されています。