藤原です。 This message is reply to K.miyamae - san (Subject was : [H8-ML(2263)] Re: 例外処理でのスタックポインタ) Message-ID: <001201c26d0b$f43e8100$0101a8c0@dellal12> in Sun, 6 Oct 2002 16:41:50 +0900 ... > >基本的には、最初偶数に設定すると、奇数になることはありません。 > サブルーチン内でのローカル変数の必要バイトサイズが奇数でも、 > SPは偶数になるように調整されるのでしょうか(C言語で)? > 基本的でないときは、どのような場合ですか? C言語ではスタックはうまく偶数境界に合わせられるようですね。 C言語レベルではスタックは表には出てこないので、調整のしようが ないですから。 基本的でない場合とは、自分でスタック上に変数を確保する時など ですね。間違って奇数サイズの領域を確保してしまうとか。 > > >この時の基本的なテクニックとして、変数はすべてスタック上に確 > >するというのがあります。 > >・・・(途中省略) > > このときに、基本的には「サブルーチンで使う変数の大きさ」だけ > >スタックポインタから引き算して、そこに変数を確保します。 > > staticを使用しなければ自動的にスタックにエリアに確保さ > れるのでこのようなこのとは不要なのですよね。 C言語では大丈夫ですね。C言語ではもう一つ再帰呼び出しが可能なこと が保証されているので、(static でない)ローカル変数は、呼び出しごと に確保されるようになっています。 -- _/ -- Last 16257 hours until ATHENS 2004 Olympic Games (06 Oct @394) - _/ FUJIHARA Keiichi _/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx _/ URL : http://www.keiichi.fujihara.name/ --------------------------------------------+----- Luna Phase 29.42 -- PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178 C348 CD65 7F08 D68F 69F6