COSMACでサブルーチン
前回書いたようにCOSMACにはサブルーチン呼び出しの仕組みがありません。
それではどうするかというとSEP
命令を使います。
COSMACはメモリをポイントできるレジスタを16個 R(0)
~R(F)
と、4ビットのレジスタP
を持っています。R(0)
~R(F)
の内P
で選ばれたR(P)
がプログラムカウンタとして使用されます。
SEP
命令でP
に新たな値を設定することでサブルーチンを呼び出し、P
に元の値を設定することで戻ることができます。