CONST, 2, CONST, 3, ADD, EXIT
結果:
REF, "x", DUP, MUL, REF, "y", DUP, MUL, ADD, EXIT
結果:
DUP, CONST, 0, LT, IFT, "Neg", EXIT, $$$, "Neg", CONST, 0, XCHG, SUB, EXIT
結果:
DUP, CONST, 1, LT, IFT, "Error", // 準備 ASSIGN, "k", // 計算開始 $$$, "Start", REF, "k", CONST, 1, SUB, DUP, CONST, 0, // N, k-1, k-1, 0 EQ, IFT, "End", // N, k-1 ASSIGN, "k", // k := k - 1 MUL, // N*(k-1), JMP, "Start", $$$, "Error", ERROR, "NonPositiveArgument", $$$, "End", DISCARD, EXIT
結果:
$$$, "ConfirmArgs", REF, "m", REF, "n", LT, NOT, IFT, "Check", ERROR, "BadArgument", $$$, "Check", REF, "n", CONST, 0, EQ, IFT, "End", $$$, "DoStep", REF, "m", REF, "n", ASSIGN, "x", REM, ASSIGN, "n", DISCARD, REF, "x", ASSIGN, "m", DISCARD, JMP, "Check", $$$, "End", REF, "m", EXIT
n ≦ m でなくてはなりません。
結果:
REF, "x2", CALL, "sq", REF, "y2", CALL, "sq", ADD, EXIT, $$$, "sq", DUP, MUL, RET
結果:
REF, "j", CALL, "fact", REF, "k", CALL, "fact", ADD, EXIT, $$$, "fact", ALLOC, "k", // ローカル変数 DUP, CONST, 1, LT, IFT, "Error", ASSIGN, "k", // 計算開始 $$$, "Start", REF, "k", CONST, 1, SUB, DUP, CONST, 0, EQ, IFT, "End", ASSIGN, "k", MUL, JMP, "Start", $$$, "Error", ERROR, "NonPositiveArgument", $$$, "End", DISCARD, RET
結果: