X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=test%2Fsystem%2Fcasl2_cmd%2Fcmd_start_opd%2Fsum_10.casl;fp=test%2Fsystem%2Fcasl2_cmd%2Fcmd_start_opd%2Fsum_10.casl;h=d8eb9f0b21bee357583cb686d0402692dfe17cff;hb=9a1bf3c55911d68225635c91b68de98490c25a6f;hp=0000000000000000000000000000000000000000;hpb=2f0b91ab1a54973a084e1609b46a1432c8b8e334;p=YACASL2.git diff --git a/test/system/casl2_cmd/cmd_start_opd/sum_10.casl b/test/system/casl2_cmd/cmd_start_opd/sum_10.casl new file mode 100644 index 0000000..d8eb9f0 --- /dev/null +++ b/test/system/casl2_cmd/cmd_start_opd/sum_10.casl @@ -0,0 +1,21 @@ +;;; sum_10.casl +;;; 1から10までの整数をすべて加算した値をメモリーに格納する +MAIN START #20 + PUSH 0,GR1 + PUSH 0,GR2 + XOR GR2,GR2 ; GR2を初期化 + LD GR1,FST ; GR1に初項をメモリーから転送 +LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1 + ADDL GR1,STEP ; GR1 <- GR1 + 公差 + CPL GR1,LST ; GR1が末項より大きい場合は終了 + JPL FIN ; ↓ + JUMP LOOP ; ループ終端 +FIN ST GR2,RST ; GR2の結果をメモリーに転送 + POP GR2 + POP GR1 + RET +FST DC 1 ; 初項 +LST DC 10 ; 末項 +STEP DC 1 ; 公差 +RST DS 1 ; 結果 + END