問題タブ [spim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - ユーザー入力文字列の保存方法を省略します
私はこれを行う方法を知っていると思っていました。しかし、それから私は実際にそれをやろうとしました。これが私が書いたプログラムですが、Mac用のBerkeley S ***シミュレーターは、最後の行に構文エラーがあると言いました。私は何を間違えましたか?
string - MIPS アセンブリで文字列を逆にする
ユーザーに文字列の長さを要求し、その文字列にスペースを割り当ててから、逆に出力しようとしています。
私の人生では、なぜこれが機能しないのかわかりません..
「文字列」の長さは6になるはずですよね?+ 7 にするべきヌル終了文字
loops - MIPS while ループ エラー
次の mips コードで問題が発生しています。
私がやろうとしているのは、文字列内の一意の小文字の数を数えることです ($t9 のアドレス、$t8 の長さ)。SPIM 7.3 で実行しているときに発生する問題は、次のエラーが発生することです。
変数は次のとおりです。
マジック定数 64 は、スタックの一番上にあるセンチネル値であることに注意してください。
編集:解決しました。スピムを満足させるようにラベル名を短くしました。根本的な問題が何であったかはよくわかりませんが、あるべきではないと思われる問題が発生している場合は、短いラベルに変更してください
x86 - SPIMに似たリアルモードx86シミュレーター?
原理的にはMIPS32シミュレーター「SPIM」に似たリアルモードx86シミュレーターを探しています。
理想的には、286プロテクトモードもサポートします(32ビットプロテクトモードはそれほど重要ではありません)。
誰もがそのような獣を知っていますか?
assembly - SPIMを使用して実行時間を測定する
アセンブリ言語で書かれたハノイの塔プログラムの実行時間を測定する必要があります。このタスクを実行するために使用される関数または特定のレジスタ値はありますか?
assembly - MIPS アセンブリ言語で再帰を理解する
私はクラスにいて、アセンブリ言語で再帰をカバーしています/カバーしています。私は再帰を理解したように感じましたが、人々が私にそれを説明しようとすればするほど、私は再帰から遠ざかっているように感じます.
とにかく、私たちの最後のスライドには機能があり (C で?)、先生はクラスでそれをカバーすると言いましたが、クラスの残りの部分をボードに表示するよう生徒に呼びかけました。彼がずっと私を見ているような気がして、私は愚かに見えるのが怖い.
MIPS でこのコードを書き、理解するのを手伝ってくれませんか? これが難しすぎる場合はIDK
MIPS アセンブリ言語で、fix(i,x) を見つけるように記述します。ここで、fix(i, x) は次のように再帰的に定義されます。
みんなありがとう、私のクラスは明日です。しかし、私はこの資料を実際に理解したいと思っています。
注: これはクラス内演習であり、単位は 0 です。クラスの全員がすでにこれを行う方法を知っているように感じます。
c - SPIM (MIPS シミュレーター) は次のステートメントを解析できません lui $2,%hi($LC0)
C から MIPS へのクロス コンパイラを開発しています。そのためには、MIPS コードを、LLVM や CodeSourcery などの他の C から MIPS へのクロス コンパイラによって生成されたコードと比較する必要があります。SPIM を使用して MIPS コードを実行しています。
現在、CodeSourcery クロス コンパイラを使用して、特定の C プログラムに対応する MIPS コードを生成しています。lui $2,%hi($LC0) 、lw $3,%lo($LC0)($2) のようなステートメントを生成します。ここで、LCO はラベルですが、そのファイルを SPIM にロードしている間です。次のようなパーサーエラーが表示されます
SPIM で解析できるように、この種のステートメントに相当する MIPS コードは何かわかりません。
memory-management - mipsメモリ管理
mipsアセンブリ、特にSPIMシミュレーターのヒープを手動で管理するにはどうすればよいですか?
sbrk syscallを使用すると、ヒープは0x10040000から始まります。
li $t0, 1
li $s0, 9
syscall
sw $t0, ($s0) # 1 located at 0x10040000
それで、sbrkへの呼び出しはあなたが次の空きメモリスロットを取り戻すことを保証しませんか?たとえば、単一の4バイトスペースに対してsbrkを呼び出した場合、SPIMはアドレス0x10040000-0x10040003を割り当てる可能性があります。ただし、別の4バイトスペースの2回目の呼び出しは、前の4バイトの割り当てとは無関係である可能性がありますか?したがって、どのメモリスロットが割り当てられているかを追跡するためにデータ構造が必要ですか?最後に、メモリマネージャは、特定のデータ構造によって追跡されるアドレス間にある空き領域を特定することにより、sbrkへの呼び出しの数を減らしようとしますか?
assembly - MARS入力ファイルを指定する
MARSでMIPSアセンブリプログラムをテストしていて、実行中に入力として受け取るファイルを指定したいと思います(次のUNIXコマンドでstdinをリダイレクトすることで達成できるようなものです)。
spim -file [filename] .s <[input_file]
MARSでこのようなことを達成する方法はありますか?これは宿題であり、標準のMIPSシステムコールに制限されているため、MARSの拡張ファイル操作セットを使用できません。
私はこれを行う他の方法にもオープンです(どのMIPSシミュレーターでも)。プログラムをステップ実行し、実行中にデバッグする方法が必要です。上記のMIPSソリューションは、終了するか例外をスローするまで実行されます。その時点で、ステップバックしたり、メモリの内容を調べたりすることはできません。
アドバイスをいただければ幸いです。
audio - QtSpim でサウンドを生成するアセンブリ
友人と私は、アセンブリで作曲エンジンを書こうと考えています。コースでは QtSpim を使用する必要があり、サウンドを生成する方法を知りたいと考えていました。MARS では、Assembly はシステムコール経由でサウンド カードにアクセスできます: http://courses.missouristate.edu/KenVollmar/MARS/Help/SyscallHelp.html
しかし、QtSpim では、syscall が認識されません。