mips

    14

    1答えて

    私はSPIMシミュレータを使用してMIPSを学習していますが、この問題を抱えています。 4つの32ビットレジスタに格納されている2つの64ビット番号を追加したいとします。だから私は、LOバイトを追加し、キャリーとHIバイトを追加します。しかし、adc/addcコマンドはありません。つまり、add with carryです。 したがって、ステータスレジスタにキャリービットを追加する必要があります。し

    10

    6答えて

    C++では、ローカル変数は常にスタックに割り当てられます。スタックは、アプリケーションが占有できるメモリの一部です。そのメモリはRAMに保存されます(ディスクにスワップされていない場合)。さて、C++コンパイラは、ローカル変数をスタックに格納するアセンブラコードを常に作成しますか? テイク、例えば、次の簡単なコード: MIPSアセンブラコードで int foo(int n) { retu

    3

    2答えて

    、 # define INC(_lval,_lqual) \ __asm__ __volatile__ (\ "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc") に誰かが私に同等のMIPS32アーチを助けてください。

    0

    1答えて

    誰もがパイプラインなしでシンプルなMIPS Verilogコードについて教えてもらえますか? よろしく

    2

    1答えて

    私はいくつかのMIPSアセンブリコードで作業しており、実行時にメモリを割り当てる方法が不明です。これまでは、スタックやデータセグメントを使って必要なものを格納していましたが、何かを永続化したいのであればどうしますか?具体的には、割り当て時にどのメモリアドレスを選択するのかをどのように知るのですか?上書きしていないことを知るにはどうすればいいですか(スタックやプログラムの説明など)?私は0x0000

    0

    1答えて

    私たちのプロジェクトでは、ユーザーから2つのフロートを取り出し、整数レジスタに格納し、IEEE 754単精度浮動小数点として扱い、マスキングでビットを操作します。したがって、23ビットの分数値を掛けた後、単精度浮動小数点(32ビット)を積として返す場合は、LOレジスタに格納された結果を考慮する必要がありますか?

    0

    1答えて

    は、この文は有効なものですか? lw $t0, 21($s0) $s0小数点2022が含まれています。 私の知る限りでは、オフセット+レジスタで指定されたアドレスは常にmultiple of 4である必要があるため、これは無効です。これは正しいかどうか? 提供された回答に基づいてこの質問に拡張されていますが、アドレスは$s0であるか、アドレス21+$s0の計算後にのみ発生しますか?

    2

    2答えて

    私はブランチ遅延スロットで遊んでいました。スピムでそれを試してみました。私の驚きのために j some j a j b j c j d ori $9, $0, 13 some: a: b: c: d: はそれが変わっ$ 9 13 だから私の質問は、遅延スロットが伝播することができているか、これはスピムのもので、実際のMIPS32プロセッサ上では発生しませんか? これが予想

    6

    5答えて

    実行可能ファイルをメモリにロードする、共有ライブラリの動的ロードなど、main()を呼び出す前に起こっていることが不思議です。手渡し練習でこれらのことを理解する方法はありますか? ツールAMDの事、私の知っている、と今使用して、含まれています straceの を逆アセンブル readelfが は/ proc/PID /マップ NOTES:私は偉大な本linkers and loadersを知ってい

    0

    2答えて

    私はVxWorks MIPSコンパイラを使用していますが、C++としてコンパイルする必要のあるサードパーティのソースがありますが、すべての拡張子は.cです。この場合、C++コンパイルを強制するためにコンパイラに渡すことができるスイッチが必要ですが、私はそれを見つけることができません。 提案がありますか?