comet2コマンド実行時のリセット位置を変更
[YACASL2.git] / as / misc / fib_outl.casl
1 ;;; 0〜65535の範囲で、フィボナッチ数列を表示する
2 MAIN    START
3         LAD     GR1,0           ; GR1は、第n項
4         LAD     GR2,0           ; GR2は、インデックス
5 BEGIN   CPL     GR2,=1          ; GR2が1以下の場合、SUMP2へジャンプ
6         JPL     SUMP2           ; ↓
7         LD      GR1,GR2         ; GR1にGR2をロード
8         JUMP    FOUT            ; FOUTへジャンプ
9 SUMP2   LD      GR1,GR3         ; GR1にGR3をロード
10         ADDL    GR1,GR4         ; GR1 <- GR1 + GR4
11         JOV     FIN             ; オーバーフローした場合は終了
12 FOUT    CALL    OUTL            ; GR1の数値を表示
13         LD      GR4,GR3         ; GR4にGR3をロード
14         LD      GR3,GR1         ; GR3にGR1をロード
15         LAD     GR2,1,GR2       ; GR2 <- GR2 + 1
16         JUMP    BEGIN
17 FIN     RET
18         END