[解決済み] MIPS浮動小数点:SWC1対S.S.
質問
私は今、次のような仕事をしています。
MIPS
アセンブリで、以下の4つの浮動小数点ロード/ストア疑似命令に出くわすことがあります。
l.s
,
l.d
,
s.s
,
s.d
. ネットでドキュメントを見つけ、同じことをするように見える4つの "actual"指示があることを理解しました。
lwc1
,
ldc1
,
swc1
および
sdc1
.
唯一の疑問は、何が違うのか、ということだ。私が見る限り、どちらの命令セットもまったく同じことをするのです。もしかしたら、読みやすいという理由だけで、疑似が存在するのでしょうか?
何かお知りになりたいことがありましたら、よろしくお願いします。
解決方法は?
<ブロッククオート唯一の疑問は、何が違うのか、ということです。私が見る限り、どちらの命令もまったく同じことをするのです。
はい、おっしゃるとおりです。唯一の違いは、擬似命令が複数の本物の命令に変換される場合です。
<ブロッククオート擬似はもしかして、読みやすいから存在するのでしょうか?
繰り返しになりますが、そうです。それは なぜ 存在するのです。より表現力のある命令セットであるかのような錯覚に陥ります。引用元 コンピュータの構成と設計 / パターソン & ヘネシー :
<ブロッククオート... アセンブラは、機械語命令の一般的なバリエーションを、それ自体が命令であるかのように扱うことも可能です。ハードウェアはこれらの命令を実装する必要はありませんが、アセンブリ言語での出現により、翻訳やプログラミングが容易になります。...
あなたの例を考えると、もっと "clear" と言えるでしょう。
l.s $f2, 24(t1) # Load Single contained in 24(t1) to $f2
よりも
lwc1 $f2, 24(t1) # Load Word into Coprocessor 1 from 24(t1) to $f2
のように、よりよく理解することができます。
move $7, $18 # move contents of $18 to $7
よりも
add $7, $18, $0
私にとっては、より読みやすいコードを得るために、ニーモニックに助けられているだけなのです。
関連
-
[解決済み】Nasmエラー:オペコードとオペランドの無効な組み合わせ
-
[解決済み】MARIEアセンブリ言語で`Skipcond`はどのように動作しますか?
-
[解決済み] CPUのParity Flagは何のためにあるのですか?
-
[解決済み] ARMアセンブリループ
-
ファイルまたはアセンブリを読み込めませんでした ... 不正なフォーマットでプログラムをロードしようとしました。
-
[解決済み] 除算を強制的に浮動小数点にするにはどうしたらいいですか?除算は0に切り捨てられ続けますか?
-
[解決済み] JavaScriptで浮動小数点数の精度を扱うには?
-
[解決済み】浮動小数点値の比較はどのくらい危険か?
-
[解決済み】bashで浮動小数点演算を使用するには?
-
[解決済み】androidのリソース/値に浮動小数点値を追加する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】単純なforループのためのMIPSアセンブリ
-
[解決済み】x86アセンブリ。AT&Tの構文で「subl」コマンドはどのように動作するのか
-
[解決済み】MARIEアセンブリ言語で`Skipcond`はどのように動作しますか?
-
[解決済み] MIPs Assemblyでsllなどを使ってビットをずらすのはなぜですか?
-
[解決済み] ARMのアセンブリ言語でbx lrは何をするのですか?
-
[解決済み] アセンブリで値をnullに設定する
-
[解決済み] ARMアセンブリのstrの説明
-
[解決済み] 8086アセンブリ言語での2つのレジスタのスワッピング(16ビット)
-
[解決済み] ARMv8でリテラル0ではなく、xzrレジスタを使用するのはなぜですか?
-
[解決済み] MIPSプログラムにおける`lw`と`sw`の実際の働きを理解する。