[解決済み】MIPSの関数(プロシージャ)について
2022-02-23 17:20:58
質問内容
MIPS言語初心者なのですが、MIPSアセンブリ言語の関数(プロシージャ)の仕組みがよくわかりません。以下は、私の問題を具体的に説明します。
-
何をするのか。
-
jal
-
jr
-
$ra
ミップス言語での意味と重要なこと
-
- 関数や(プロシージャ)を作りたいとき、どのように使えばいいのでしょうか?
どのように解決するのですか?
まず最初に、以下のことを確認してください。 これ MIPSのクイックリファレンスです。本当に助かりました。
第二に、説明のために
jal
,
jr
と
$ra
. 何
jal <label>
にジャンプします。
label
ラベルを格納し
プログラムカウンタ
(現在の命令のアドレスと考えてください)を
$ra
レジスタに登録します。これで
label
を使用して、最初にいた場所に移動します。
jr $ra
.
以下はその例です。
.text
main:
li $t0, 1
jal procedure # call procedure
li $v0, 10
syscall
procedure:
li $t0, 3
jr $ra # return
これをSPIMエミュレータで実行すると
$t0
に読み込まれるのは3であり、いわゆる
プロシージャ
.
お役に立てれば幸いです。
関連
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] クロージャ」と「ラムダ」の違いは何ですか?
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] Pythonの関数では、渡すパラメータの種類はどのように扱われるのですか?
-
[解決済み】関数の前のエクスクラメーションマークは何をするのですか?
-
[解決済み】コールバックをわかりやすく説明するには?ある関数から別の関数を呼び出すのとはどう違うのですか?
-
[解決済み】Scalaの「リフティング」とは何ですか?
-
[解決済み】Luaの.と:の違いについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 与えられた名前と引数の型に一致する関数がない
-
[解決済み] MATLAB関数におけるオプションの引数
-
[解決済み] Linuxにおけるoutb()関数呼び出しとは?
-
[解決済み] D3キー機能
-
[解決済み] Haskellでfilter関数を使うにはどうしたらいいですか?
-
[解決済み] オプションの呼び出し変数を持つ関数を作成する
-
[解決済み】コールバックをわかりやすく説明するには?ある関数から別の関数を呼び出すのとはどう違うのですか?
-
[解決済み] どのように私はSwiftで完了ハンドラを持つ関数を作成することができましたか?
-
[解決済み] バリューレシーバー vs. ポインターレシーバー
-
[解決済み] Clojureで関数の引数にデフォルト値を作成する方法