「値をスタックに積む」を実行する
プログラム配列prog[prog_cnt]の内容がCODE_PUSHであった場合は、
- コードの次の値prog[prog_cnt + 1]をスタックに積む内容とする
- push()を呼び出す
- prog_cntを2増やす
プログラムカウンタprog_cntは、コード自身とプッシュする値とで、全部で2進めないといけない。
void proc_prog(void) { while (prog[prog_cnt] != CODE_END) { switch (prog[prog_cnt]) { case CODE_PUSH: push(prog[prog_cnt + 1]); prog_cnt += 2; break; } } }
同じようにCODE_PLUSとCODE_PRINTの時も処理する。
void proc_prog(void) { while (prog[prog_cnt] != CODE_END) { switch (prog[prog_cnt]) { case CODE_PUSH: push(prog[prog_cnt + 1]); prog_cnt += 2; break; case CODE_PLUS: plus(); prog_cnt++; break; case CODE_PRINT: print(); prog_cnt++; break; } } }