コンテキスト生成とはコンテキストスイッチは出来た。在していなければならない。そこでコンテキストの生成である。コンテキストスイッチの流れの図から、スタックに積まれるべきコンテキスト情報の形式は分かる(...て、順序が逆のような気もしないでもないが)。戻り番地?これから作成するコンテキストは始まってもいないではないか、という疑問は当然自然である。「戻り番地」とは、これから作成するコンテキストにおいて最初に飛ぶべき「行き先番地」と読み替えれば納得できるだろうか。実行アドレスをそのまま「行き先番地」として積むかというと、そうはいかない。数であるexinfの受渡しが出来ないからだ。引数の受渡しに使われるer0〜er1は保存/復帰されるコンテキスト情報の内には入っていないのだ。入っていたとしても、exinfはhospac_cre_intの第四引数であるのに対して、taskにとっては第一引数。これをなんとかする仕組みをtaskにジャンプする前にかまさなければならない。H8/300H版がどうなっているか見てみよう。位置に入れておき、「戻り番地」としてctx_entryを指定している。exinf)とほぼ等価な状態になる。task(exinf)と異なるのだ。それはどうでもいいことなのだ。taskとは*決してreturnしない*関数だからだ。これでこいつもほぼ理解した(つもりになった)。延分岐だということ以外は、もう説明の必要はないだろう。実用性とかなんとかって言われるとアレなんですけど。