問題タブ [qtspim]
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.
assembly - PC=0x00000000 で QtSpim Exception が発生しました
クラスでQtSimpを使い始めたばかりですが、単一のプログラムをシミュレートすることはできません
例えば
通常どおりファイルをロードしますが、実行しようとすると、次のエラーが発生します。
これは、これまでに試したすべてのプログラムに当てはまるようです
QtSpim バージョン: 9.1.4
mips - ユーザー入力文字列の終了文字
ローマ数字 (最大 12 文字) を 10 進数値に変換するプログラムを作成しています。この変換を正常に実行し、各値を文字単位で読み取ることができますが、入力文字列が 12 文字でない場合、値は常に実際よりも 1000 大きくなります。これは、評価サブルーチンの余分なループが原因であると判断しました (一致するものがない場合は、M = 1000 を変換するプロセスに入ります)。
12文字未満のときにユーザーの文字列を読み取る方法と関係があると思います。読み取り文字列システム コール コードは '\n' 文字に到達するまで処理を続行し、その文字と残りの空白を 0 文字に変換するため、次の文字が 0 でないかどうかをチェックすることを理解しています。ユーザーの入力に 0 があるとは思わないからです。「評価」中に一致が見つからない場合、tailLoop にジャンプすることでコードを修正できることはわかっていますが、現在のコードが機能しない理由を理解したいと思います。
次のコードには、私のプログラムの多くは含まれていません (完全に投稿するにはかなり長くなります)。使用しようとしているロジック プロセスを理解するのに十分なだけです。これは、質問にどのように答えたいかを判断するための宿題です。
assembly - MIPS32 では、ロード アドレスが呼び出されると、レジスタは変数の 4 つのアドレスすべてを受け取りますか?
単語である変数があると仮定すると、呼び出す場合
レジスターには 4 つの異なるアドレスが格納されますか、それとも 1 つだけですか?
すべてのプログラミング ガイドは、ワードが 4 つの異なる 8 バイト メモリ ロケーションに格納されていることを示していますが、ロード アドレスを呼び出すと、すべてのガイドは渡された 1 つのアドレスのみを参照しているように見えます。アドレスが 1 つだけの場合、どのように参照されますか?
spim - MIPS32 の add 命令で -1 値を追加することは可能ですか?
SPIM を使用してこの指示は正しいですか?
$t1、$zero、-1 を追加
プログラムの実行後、$t1 は "ffffffff" で埋められます
assembly - アセンブリ プログラムは Qtspim で動作しますが、PCSpim-Cache では動作しません
QTSpim で正しくコンパイルおよび実行され、正しい結果が QTSpim コンソールに表示される次のアセンブリ プログラムがあります。ただし、PCSpim-cache のデータ セグメントを観察したいのですが、正しくコンパイルされず、出力に正しい結果が表示されません (各位置に 0 が表示されます)。プログラムは、指定された 2 つのベクトルのクロネッカー積を計算します。ファイルのデータ部分。これが私のコードです:
両方のコンパイラで機能しない理由を誰かが明らかにできれば、それは大歓迎です。ラボのインストラクターから使用するように指示された PCSpim キャッシュへのリンクを含めます。QTSpim に精通していることを願っています。
PCSpim キャッシュ リンク: http://www.disca.upv.es/spetit/spim.htm
assembly - 配列アセンブリの並べ替え
このコードの何が問題なのかわかりません。前もって感謝します
配列を作成し、順序付けられていない数値で埋めてから並べ替えようとしています。それらを入力することはできますが、0x00400080 で非命令を実行しようとするとエラーが発生し、出力がソートされません。
assembly - 命令が MIPS/QTSPIM jal 0x00000000 [main] の未定義エラーを参照しています。188:ジャルメイン
コードに次のエラーがありました。助けてください。命令は、0x00400014 [0x00400014] 0x0c000000 jal 0x00000000 [main] で未定義のシンボルを参照しています。188: jal main このコードは、華氏を摂氏に、摂氏を華氏に変換します