問題タブ [mars-simulator]

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 に答える
1417 参照

assembly - データ ディレクティブの MIPS 命令

このプログラムが何をするのかを理解しようとしていますが、MARS が .data ディレクティブを正しく処理していないように感じます。

.data ディレクティブでアセンブリ命令を指定した場合、データ セグメントには何が格納されますか? これを MARS (MIPS アセンブラーおよびランタイム シミュレーター) で実行すると、値 0 が 0x10010000 (静的データが格納される場所) に格納されるだけです。lui $r1, 0xFFC0(つまり、0011110000001001111111111000000)のマシン コードを格納することを期待していました。

ありがとう!

0 投票する
0 に答える
676 参照

assembly - 除算結果を MIPS で表示

こんにちは、MIPS で小さなプログラムをコーディングしています。このコードがあります。

(完全なコードではなく、セクション処理部門のみ)

$t1 が 2 の場合、$t2 は 9 です。

したがって、2/9 は 0.2222222222222222 です。

しかし、実行すると0.0しか得られません

なぜ?、本当の結果を表示するにはどうすればよいですか?

前もって感謝します。

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

assembly - MIPSのローカル変数への整数の読み取り

MIPSで整数をローカル変数に読み込むにはどうすればよいですか?

問題は、整数変数をローカル変数として割り当てるという概念を使用するように私に求めています。(私の教科書からの質問です。)

0 投票する
3 に答える
3687 参照

assembly - 擬似命令を使用せずにメモリアドレスをロードする方法は?

MARSシミュレーターを使ってMIPSアセンブリ言語を独学で学ぼうとしています。

教訓的な理由から、私は疑似命令を使用しないように制限しています。

あるデータのアドレスをレジスターに取得しようとしているときに、 を使用できないために問題が発生しましたla

luiと組み合わせて使用​​しようとしましoriたが、数値を直接ロードするのと同じように、役に立ちませんでした:

これは、疑似命令なしで、具体的に MARSを使用して実行できますか? どのように?

前もって感謝します!

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

string - 文字列内の1文字にアクセスする

システムコール機能を備えたSPIMSやMARSのようなものを使用しています。

私は次のように文字列を読んでいます(そしてそれを印刷できるので機能します):

ただし、文字列の1文字にアクセスする際に問題が発生します。したがって、最初の文字にアクセスしてそれを印刷したい場合は、これを試しています。

私がこのようなことをしようとすると:

これにより、文字列が文字列全体を指すため、文字列全体が出力されます。

私が次のようなことを試みた場合:

それは私に範囲外のエラーを与えます。理由はわかりませんが、文字は1バイトの長さではなく、文字列の最初のバイトを$ a0にロードするだけですか?

ありがとうございました

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

assembly - 一時レジスタの使用方法 - 戻り後に値は保持されますか?

MARS シミュレーターを使用して MIPS アセンブリーでプログラムを作成しています。を使用jalして関数呼び出しをjr $ra行い、その最後に を使用してプログラムの元のポイントに戻ります。

私が混乱しているのは$t、関数で使用したレジスタに、メイン プログラムに戻った後も値が残っていることです。

一時レジスタを使用する将来の関数が白紙の状態で開始できるように、戻る前にこれらのレジスタをゼロにする必要がありますか? ここで何か不足していますか?

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

assembly - ラベルのメモリアドレス指定

MIPS でラベルのアドレスを変更または修正することはできますか? (MARSを使っています)

例えば...

「x」はメモリにランダムに保存されるようになりましたが、特定のアドレスに保存したい場合はどうすればよいですか? 出来ますか?

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

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

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

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

assembly - MIPS "la" 疑似命令

MIPS では、la命令は と に変換されluiますori。ただし、MARS Simulator はそれをまったく行っていないようです。次のマシンコードをダンプすると:

私は得る:

これは明らかにです。la1命令としてダンプです。MARSは何をしますか?と解釈laするにはどうすればよいですか?luiori

ありがとうございました、

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

assembly - BNE MIPS 命令のデコード

MARS シミュレーターで次の MIPS コードを実行しています。

機械語では、bne命令は次のとおりです00010101011000001111111111111001。この場合、即値は:1111111111111001に等しい:0xFFF9です。MIPS はそれを受け取り、それを 2 だけ左にビット シフトし (4 倍します)、そのプログラム カウンターをその数値にします。ただし、0xFFF94 倍は0x3FFE4です。そんなことがあるものか?のプログラム カウンターはSLL0x18 であり、 ではありません0x3FFE4。ここで何が欠けていますか?

ありがとうございました、