私はループの反復ごとに〜4kbで読み込むいくつかのmipsコードを書いています。問題は、私が読んでいるmp3ファイルには1Aの複数のインスタンスが含まれているため、syscall 14は停止し、ファイルの実際の終わりに達することなくもう読み込まないということです。これを回避する方法はありますか?また、誰もがsyscall 13に追加できるフラグの完全なリストを持っていますか?Mips syscall + eof =ファイル全体を読み取ることができません。
ありがとうございます。
私はループの反復ごとに〜4kbで読み込むいくつかのmipsコードを書いています。問題は、私が読んでいるmp3ファイルには1Aの複数のインスタンスが含まれているため、syscall 14は停止し、ファイルの実際の終わりに達することなくもう読み込まないということです。これを回避する方法はありますか?また、誰もがsyscall 13に追加できるフラグの完全なリストを持っていますか?Mips syscall + eof =ファイル全体を読み取ることができません。
ありがとうございます。
ファイルをバイナリモードで開いてみてください。
$ a1に0x8000というフラグを使用してファイルを開くことを意味しますか?それを試みる以外に、私はあなたが何を意味するか分からず、私はすでにそれを試みました。おかげで –
zvrba、あなたは明らかにあなたが何を話しているのかわからない –
まあ、彼はプラットフォーム固有の情報を与えていないし、1Aはテキストモードで開いたときにDOSファイルのEOF文字である16進数26です。 – zvrba
MARSシミュレータを使用している場合、私はこれが可能ではないと思います(特定のインストールで誰かがsyscallインターフェイスを拡張しない限り)。ドキュメントからhere:
MARSには2つのモードがあります.0は読み込み、1は書き込み、フラグは無視されます。
MARS以外のシミュレータを使用している場合は、どのシミュレータを使用するのかを教えてください。それらのすべてが同じシステムコールを実装するわけではありません。
どのエミュレータを使用していますか?あなたはボード上でプログラミングしていますか?もしそうなら、どんなo.s.それは実行されています。 Syscallsはs.oからs.o/emulatorまで様々です。 – Tom
私のspanglishについてお詫び申し上げます、 "o.sからo.sへ" – Tom