[[I2C温度計その3]] * サブルーチンを使いたい! [#s25973e9] - miniCPU は、サブルーチンを実現するための一般的なcpu が持っている、call, return, branch and link などの命令を持っていません。 - miniCPUでサブルーチンを実現する手法について説明します。 * 特徴 [#w55fe670] - miniCPUのハードウェア(回路)は変更しません。 - miniCPUが持っている命令だけで実現します。 - recursive なプログラムには(現時点では)対応していません。 * 方法 [#cdbca096] - サブルーチンにジャンプする直前に、プログラムの中で、戻るアドレス(12bit)をスタックにプッシュします。 - サブルーチンでは、最初に、プッシュされた戻るアドレス(12bit)を取り出し、これと, jmp 命令である、0x4000 の論理和をとります。 - 上の値を、サブルーチンの実行コードの最後に埋め込みます。 ---- #counter