コンパイラのレジスタ使用規則とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > コンパイラのレジスタ使用規則の意味・解説 

コンパイラのレジスタ使用規則

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/03 09:53 UTC 版)

MIPSアーキテクチャ」の記事における「コンパイラのレジスタ使用規則」の解説

ハードウェアアーキテクチャにより、以下のことが定められている。 汎用レジスタ $0 は常に 0 という値を返す。このレジスタに値を書いて変化はしないし、書いた値は消失する汎用レジスタ $31jal (jump and link) 命令リンクレジスタとして使われるHIおよびLOレジスタ乗除算の結果へのアクセス使われ、mfhi (move from high) 命令mflo 命令がそのためにある。 汎用レジスタを使う際のハードウェア上の制限これだけである。 各種MIPSツールチェーンでは、レジスタどのように使うかについて呼出規約定めている。これはツールチェーンソフトウェア定めているもので、ハードウェアそのような制限があるわけではないレジスタ名称番号用途呼び出された側が内容保存する必要があるか?$zero$0 常に 0 N/A $at$1 アセンブラ一時的に使用 No $v0–$v1$2–$3 関数戻り値や式を評価した結果 No $a0–$a3$4–$7 関数の引数 No $t0–$t7$8–$15 一時変数 No $s0–$s7$16–$23 一時変数だがセーブされる Yes $t8–$t9$24–$25 一時変数 No $k0–$k1$26–$27 OSカーネル用に予約 No $gp$28 広域グローバルポインタ Yes $sp$29 スタックポインタ Yes $fp($s8)$30 フレームポインタ Yes $ra$31 リターンアドレス N/A 呼び出された側が保存する定められているレジスタは、サブルーチン関数呼び出しシステムコールでも保持される例えば、$s-レジスタルーチン内で使うときは、その内容スタック一時的に退避させなければならない。$sp と $fpルーチン入ってきたときにセーブされ、それぞれルーチン固有の固定値インクリメントされる。そして、そのルーチンから戻るときに元の値に戻す。一方 $rajal 命令ルーチン飛び込むときに自動的に変更される。$t-レジスタサブルーチン呼び出すと内容破壊されるので、必要なら呼び出す側がセーブしておかなければならない

※この「コンパイラのレジスタ使用規則」の解説は、「MIPSアーキテクチャ」の解説の一部です。
「コンパイラのレジスタ使用規則」を含む「MIPSアーキテクチャ」の記事については、「MIPSアーキテクチャ」の概要を参照ください。

ウィキペディア小見出し辞書の「コンパイラのレジスタ使用規則」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コンパイラのレジスタ使用規則」の関連用語

コンパイラのレジスタ使用規則のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コンパイラのレジスタ使用規則のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMIPSアーキテクチャ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS