問題タブ [mips]
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.
mips - MIPSの数値のビット表現のパリティを決定します
特定のビット表現のパリティを決定するMIPSの命令はありますか?「数値」が偶数パリティか奇数パリティかを判断するのは、バイナリ表現の個々のビットをXORすることですが、MIPS命令のセットでは、計算量が多いようです...これを行う必要がありますできるだけ早く。
また、私が働いている番号はグレイコードで表されています...それをそこに投げ込むだけです。それで、MIPSには「数値」のパリティを決定するための疑似命令がありますか、それとも手動で行う必要がありますか?
MIPS命令がない場合、それは非常にありそうもないと思われますが、手作業でそれを行う方法について何かアドバイスはありますか?
ありがとう、Hristo
フォローアップ:最適化を見つけましたが、実装が機能していません。
mips - MIPS $gp 登録
$gp
レジスタを使用して値を格納することに危険はありますか? 私の質問は、の真の機能とは何か、$gp
それを使用すると事態が非常にうまくいかない可能性があるように、何らかの形で舞台裏で呼び出されるのでしょうか?
assembly - MIPSアセンブリ:.dataセクションで整数値を宣言する方法は?
MARSシミュレーターを使用して、MIPSアセンブリ言語で足を濡らそうとしています。
私の主な問題は、メモリ位置のセットを初期化して、後でアセンブリ言語の命令を介してそれらにアクセスできるようにする方法です。
たとえば、アドレス0x1001000〜0x10001003を値0x99、0x87、0x23、0x45で初期化します。これは、アセンブリプログラムのデータ宣言(.data)セクションで実行できると思いますが、構文がわかりません。これは可能ですか?
または、.dataセクションで、整数値をメモリの場所に格納するように指定するにはどうすればよいですか(どこにあるかは関係ありませんが、どこかで参照したいだけです)。したがって、「int x = 20、y = 30、z=90;」に相当するCを探しています。MIPS命令を使用してそれを行う方法を知っていますが、MIPSアセンブリプログラムの.dataセクションでそのようなものを宣言することは可能ですか?
assembly - MIPS アセンブリ: ビッグ エンディアンとリトル エンディアンの混乱
MIPS MARS シミュレーターで次のコード スニペットを実行しました。そのシミュレーターはリトルエンディアンです。したがって、結果は次のとおりです。
したがって、リトル エンディアンの MIPS シミュレータでは、プログラムの最後の $t2 の値は 0x01DECADE です。このシミュレーターがビッグ エンディアンの場合、値はどうなりますか? それは 0xDECADE01 でしょうか、それとも 0x01DECADE のままでしょうか?
assembly - MIPSプロセッサ:それらはまだ使用されていますか?他にどのアーキテクチャを学ぶ必要がありますか?
私は数ヶ月間、アセンブリ言語でx86とx86-64のプログラミングを行ってきました。それでは、別の種類のプロセッサに移りたいと思います。
MIPS、SPARC、PowerPC、Itanium、ARMこれらのうちARMが広く使用されていることがわかりました。しかし、チュートリアルや本が他のすべてのアーキテクチャよりもMIPSについて教えていると私が思う本。
なぜMIPSはとても人気があるのですか?MIPSプロセッサはまだ使用されていますか?どのアーキテクチャを選ぶべきですか?
私の背景:
私は電子工学科の学生です。私はハイレベルのプログラマーでもあります。
assembly - なぜx86は醜いのですか? 他社と比べて劣っていると思われるのはなぜですか?
私はいくつかの SO アーカイブを読んでおり、x86 アーキテクチャに対するステートメントに遭遇しました。
サーバー、ミニ/メインフレーム、および混合コアで異なる CPU アーキテクチャが必要なのはなぜですか?
「 PC アーキテクチャは混乱している。OS 開発者なら誰でもそう言うだろう」アセンブリ言語を学習する価値はありますか?(アーカイブ) は
「 x86 アーキテクチャはせいぜいひどいものであることを認識してください」と述べています。x86アセンブラを学ぶ簡単な方法はありますか?
「ほとんどの大学では、理解するのがはるかに簡単なため、MIPS のようなものでアセンブリを教えています。x86 アセンブリは本当に醜いです」
などの多くのコメント
検索してみましたが、理由が見つかりませんでした。x86 が悪いとは思わないのは、おそらく x86 が私がよく知っている唯一のアーキテクチャだからです。
他の人に比べてx86が醜い/悪い/劣っていると考える理由を教えてください。
math - MIPSの多倍長演算
ネイティブMIPSに多倍長演算を実装しようとしています。1つの64ビット整数がレジスター$12と$13にあり、別の整数がレジスター$14と$15にあると仮定します。合計はレジスター$10と$11に入れられます。64ビット整数の最上位ワードは偶数番号のレジスターにあり、最下位ワードは奇数番号のレジスターにあります。インターネット上では、これが可能な限り最短の実装であるとのことです。
正しく理解していることを再確認したいだけです。sltuは、2つの最下位ワードの合計がオペランドの1つよりも小さいか等しいかどうかをチェックします。この場合、キャリーが発生したよりも、これは正しいですか?
2つの最も重要な単語を追加するときにキャリーが発生したかどうかを確認し、結果を$ 9に格納するには、次のことを行う必要があります。
これは意味がありますか?
string - 文字列と変数を MIPS で出力する
MIPS アセンブリで私がやろうとしていることの C 表現は次のとおりです。
syscall を実行して x= を簡単に出力できることと、syscall を実行して int x (レジスタに格納されている) を出力できることを知っています。ただし、次のように出力されます (x が 5 であるとしましょう)。
x=
5
それらを同じ行に印刷するにはどうすればよいですか?
assembly - For Loops in MIPS assembly
I'm having problems getting my processor to simulate correctly and I think I've narrowed it down to the program I'm giving it.
#xA;It should iterate through the bottom portion 20 times and then exit. I'm particularly unsure about the branch instruction but I can't find anything wrong with it so : /
assembly - ハードウェア I/O 割り込みが発生したかどうかを判断するための MIPS アセンブリ?
MIPS32 例外ハンドラで、例外が I/O 割り込みによって発生したかどうかを判断したいと考えています。コーズ レジスタのビット 2 ~ 6 を含めてチェックする必要があります。これを決定するための MIPS アセンブリ コードは何ですか?