hamayan です。 廣田> とくにどのコンパイラとは、指定できません。 廣田> どのコンパイラでも、あるプロシージャを呼ぶとき、呼んだメイン部分が 廣田> すでにプロシージャであるかどうか自身を判定できないでしょうから 廣田> 結局、決め打ち的に 廣田> sts pr,@-sp 廣田> : 廣田> lds @sp+,pr 廣田> を吐き出すしかない。 廣田> 廣田> 期せずして、hamayanさんが示してくれたコンパイル結果がそれを示していますね。 え!、いや、あの例は関数prociduerを参考に出したのですが・・・ 関数mainは内部で関数prociduerを呼んでいるので、PRレジスタの保存を行っていますが、 関数prociduerはそれ以上の関数コールを行っていない事をコンパイラは十分判断できるの で、PRレジスタの保存は行っていません。 ついでに、保証の必要の無いレジスタしか使わないので、汎用レジスタの保存すら行って いません。<−蛇足か!