[H8-ML(4419)] Re: 【オフトピック】SHのPRって?
From: hamayan <hamayan@xxxxxxxxxxxxxxxx>
Date: 2004年02月06日(金)22時35分41秒
hamayan です。

廣田> とくにどのコンパイラとは、指定できません。
廣田> どのコンパイラでも、あるプロシージャを呼ぶとき、呼んだメイン部分が
廣田> すでにプロシージャであるかどうか自身を判定できないでしょうから
廣田> 結局、決め打ち的に
廣田>  sts pr,@-sp
廣田>   :
廣田>  lds @sp+,pr
廣田> を吐き出すしかない。
廣田> 
廣田> 期せずして、hamayanさんが示してくれたコンパイル結果がそれを示していますね。

え!、いや、あの例は関数prociduerを参考に出したのですが・・・

関数mainは内部で関数prociduerを呼んでいるので、PRレジスタの保存を行っていますが、
関数prociduerはそれ以上の関数コールを行っていない事をコンパイラは十分判断できるの
で、PRレジスタの保存は行っていません。

ついでに、保証の必要の無いレジスタしか使わないので、汎用レジスタの保存すら行って
いません。<−蛇足か!
スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]