Difference between revisions of "MSX-DOS2 FCS 03 29"

From Z80 Machines Wiki
Jump to: navigation, search
(Created page with "===3.29 RANDOM READ [FCB](21h) === パラメータ:C = 21H(_RDRND) DE =開かれたFCBへのポインタ 結果:エラーの場合はL = A = 01H...")
 
(3.29 RANDOM READ [FCB](21h))
 
Line 1: Line 1:
===3.29 RANDOM READ [FCB](21h) ===
+
===3.29 ランダム読み込み [FCB](21h) ===
  
 
パラメータ:C = 21H(_RDRND)               
 
パラメータ:C = 21H(_RDRND)               

Latest revision as of 10:29, 17 December 2020

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

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

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

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

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

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

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