CASLファイルの整理
[YACASL2.git] / as / app / fib / fibrec.casl
1 ;;; フィボナッチ数列
2 ;;; 入力 GR1:整数
3 ;;; 出力 GR0:フィボナッチ数
4 FIB     START
5         PUSH    0,GR1
6         PUSH    0,GR2
7         LAD     GR0,0           ; フィボナッチ数
8         LAD     GR2,0           ; インデックス
9         CPA     GR1,=1
10         JPL     O2
11         LD      GR0,GR1
12         JUMP    FIN
13 O2      LAD     GR1,-1,GR1
14         CALL    FIB
15         LD      GR2,GR0
16         LAD     GR1,-1,GR1
17         CALL    FIB
18         ADDL    GR0,GR2
19         JUMP    FIN
20 FIN     POP     GR2
21         POP     GR1
22         RET
23         END