問題タブ [mips32]

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.

0 投票する
1 に答える
1036 参照

mips - ダイアグラムから関係を作成できません

次の図とテキストが表示されます。筆者はAND、制御信号となるゲートについて言及しているPCSrc。しかし、図からこの関係を作ることはできません。ここにテキストがあります、

ALU は分岐命令でレジスタの比較を実行し、その ZERO 出力で HIGH ロジックを生成します。この ZERO 出力は、制御信号 Branch と AND 演算され、分岐が行われたことを示すために使用されます。このANDゲートの出力は制御信号PCSrcであり、これは次のシーケンシャルアドレス(分岐が行われない場合)とBTA(分岐が行われる場合)との間で選択するマルチプレクサを制御する。BTA は専用の加算器によって計算されます。

ここに画像の説明を入力

0 投票する
1 に答える
940 参照

mips - J タイプの命令を 2 ビットのみにビット拡張する必要があるのはなぜですか?

Single Cycle Data Pathでご覧くださいMIPS。の26 bitsJ type instructionにビット拡張されてい28ます。意味がわかりません。31に拡張しないと32全体的にビットになります。コンセプトを明確にするために私を助けてください。 ここに画像の説明を入力 ありがとう

0 投票する
6 に答える
28383 参照

mips - ロードワード命令で符号拡張を行うのはなぜですか?

私はMIPS32ビットを学んでいます。Store Wordの場合、ALUに送信する前に(シングルサイクルデータパスで)16ビットオフセットを符号拡張するのはなぜですか?

0 投票する
2 に答える
9092 参照

mips - MIPS シングル サイクル データパスに機能を追加する際に支援が必要

以下に jal 機能を追加しようとしていますが、それがどのように機能するのかがわかりません。古いPC+4値を$raレジスタに格納し、制御を関数に転送して、制御を返す$raことはわかっていますが、ハードウェアに実装するにはどうすればよいですか? ここに画像の説明を入力

0 投票する
1 に答える
5930 参照

mips - MIPS: システムコール経由でユーザーから unsigned int 値を取得できますか?

タイトルはこれをほぼ要約しています。学校のプロジェクトで 32 ビット MIPS アセンブリ言語 (MARS エミュレーターを使用) でプログラムを作成していますが、2,147,483,647 を超える int 値を読み取ることができません。

私はかなりの時間をインターネットや本で探し回っていましたが、役に立ちませんでした。これは課題の中心ではありませんが (それが不可能だとわかっている場合は、おそらくすでに気付いているでしょう)、好奇心がこの猫を殺しています。このレンガの壁にぶつかった今、私は確かに知っている必要があります.

ノート:

  1. float や double を取得するのではなく、unsigned int を取得する方法を特に探しています。
  2. syscall で int を取得するための標準コード:

    /li>
  3. 整数のプロンプトで 2 500 000 000 が渡されたときに発生するエラー:

    /li>

助けてオビワン、あなただけが頼りです!

0 投票する
1 に答える
498 参照

assembly - ロードバイトに関するMIPS Linuxアセンブラーコードの理解

ここで次の質問があります

次の MIPS 逆アセンブル コードを理解する必要があります。

私が解決する必要があるタスクは、ルーターのファームウェア マネージャーで Web 言語 ID を BIG-5 から ISO-8859-5 に変更することです (ソースなし:)) したがって、ISO-8859-5 は BIG-5 よりも 5 文字長くなります。右側の (BIG-5 の) テキスト ブロックを .rodata セクションに移動しました)ここに 16 進数のフラグメントがあります:

& .text セクションのポインターを変更しました。ただし、プログラムを実行すると、6バイトしかロードされません(ルーターのHTMLコードページに(ISO-8859-5)の代わりに「ISO-88」が表示されます。したがって、開発中のバイト数がどこにあるかを見つける必要があると思います修正して変更してください.誰かこのコードにコメントしてくれませんか.どうもありがとう:)

0 投票する
2 に答える
729 参照

mips - コード スニペットからオフセットを見つける

私は次の質問に少し行き詰まっています、

次の MIPS コードを考えて、続く質問に答えてください。

条件分岐命令でラベルループが変換される値は?

これで、Branch Target Address の数式がわかりました。しかし、ここではメモリアドレッシングが行われていないため、ターゲットアドレスとPCの間の行を数えることでオフセットを見つけました。これにより、答えは 7 (ワード オフセット) になります。私はこのアプローチで正しいですか?

0 投票する
1 に答える
12822 参照

mips - ビッグ エンディアンとリトル エンディアン

与えられたのは、バイト アドレス指定可能なコンピューターのメモリのスナップ ショットです。マシンがビッグ エンディアンの場合とリトル エンディアンの場合$16、命令の実行後にレジスタにロードされるもの。lw $16, 24($17)レジスタ$17には が含まれています200

ここに画像の説明を入力

私によると(224-227)、リトル エンディアンかビッグ エンディアンかに関係なく、メモリから 4 バイトがコピーされ、マシンがビッグ エンディアンであれば、それらはそのままレジスタにコピーされます。

マシンがリトル エンディアンの場合、反転されてからレジスタにコピーされます。

概念が間違っている場合は、ご指導ください。

0 投票する
2 に答える
3627 参照

assembly - MARS で li.s を使用できないのはなぜですか?

MARSでli.sが使えません。私は MIPS プログラミングが初めてで、コ プロセッサを使用しないようにしています。li.s を使用できないのはなぜですか? MARS はプログラムですか? 誰かが私を新しい方向に導いてくれるととても助かります!

0 投票する
1 に答える
693 参照

assembly - 誰かが私がMIPSでニュートン法を正しく行っているかどうかを確認できますか?(アセンブリ)

私はこれに不慣れで、コプロセッサーを使用せずにそれを実行しようとしています。助言がありますか?私は本当にこの任務をうまくやる必要があります!このコードは、ニュートン法をコード化し、aeポイントを含むMIPSアセンブリに含まれていると想定されています。私は自分のコードを組み立て続けていますが、それは底から落ちています.....それが何を意味するのかわかりません。