X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2Fapp%2Ffib%2Ffib.casl;fp=as%2Fapp%2Ffib%2Ffib.casl;h=8e0a35f6b47571eba19e0bfdf556a2b0513b17c7;hb=9fa44bbf51f40b1d5846696dc13a4950508e448c;hp=0000000000000000000000000000000000000000;hpb=eab172e17b436c4d80d220d42eff9d02360622ba;p=YACASL2.git diff --git a/as/app/fib/fib.casl b/as/app/fib/fib.casl new file mode 100644 index 0000000..8e0a35f --- /dev/null +++ b/as/app/fib/fib.casl @@ -0,0 +1,27 @@ +;;; 入力 GR1:整数 +;;; 出力 GR0:フィボナッチ数 +FIB START + PUSH 0,GR1 + PUSH 0,GR2 + PUSH 0,GR3 + LAD GR0,0 ; フィボナッチ数 + LAD GR2,0 ; インデックス +LOOP CPA GR2,GR1 + JZE FIN + LAD GR3,SEQ,GR2 + AND GR2,GR2 + CPA GR2,=1 + JPL O2 + LAD GR0,1 + JUMP STSEQ +O2 LD GR0,-2,GR3 + ADDL GR0,-1,GR3 +STSEQ ST GR0,0,GR3 + LAD GR2,1,GR2 + JUMP LOOP +FIN POP GR3 + POP GR2 + POP GR1 + RET +SEQ DS 24 + END