7.17 SYS_READ(0x06)

ファイルの内容をバッファに読み出します。

ファイル位置は以下のいずれかの方法で指定されます。

  • SYS_SEEK によって明示的に指定される。

  • 前の SYS_READ または SYS_WRITE 要求の次の 1 バイトとして暗黙的に指定される。

ファイルの位置は、ファイルが開かれた時点でファイルの先頭となり、ファイルを閉じると失われます。ファイル操作は、できる限り 1 回の動作で実行して下さい。例えば、16KB を 4KB のチャンクに 4 分割して書き込むことは、やむを得ない場合以外は行わないで下さい。

エントリ

エントリ時には、R1 は 4 ワードデータブロックを指すポインタを保持します。

ワード 1

SYS_OPEN で前に開かれたファイルのハンドルを保持します。

ワード 2

バッファを指します。

ワード 3

ファイルからバッファに読み出されるバイト数を保持します。

戻り値

終了時には、以下のようになります。

  • 呼び出しに成功した場合、R0 はゼロを保持します。

  • R0 がワード 3 と同じ値を保持している場合、その呼び出しは失敗していて、EOF と見なされます。

  • R0 がワード 3 より小さい値を保持している場合は、呼び出しが部分的に成功したことを示します。エラーとは見なされませんが、バッファは充填されていません。

ハンドルが入出力デバイスのハンドルである場合、SYS_ISTTY は –1 を返します。SYS_READ からゼロ以外の値が返されると、行読み出しによりバッファが充填されなかったことを示します。

非機密扱いPDF file icon PDF 版ARM DUI0471JJ
Copyright © 2010-2013 ARM.All rights reserved.