CASLファイルとテストの整理
[YACASL2.git] / as / misc / sum.casl
diff --git a/as/misc/sum.casl b/as/misc/sum.casl
new file mode 100644 (file)
index 0000000..0121134
--- /dev/null
@@ -0,0 +1,16 @@
+;;; sum.casl
+;;; 入力 GR1: 1以上の正数
+;;; 出力 GR0: 1からGR1で指定された値までの正数をすべて加算した値。
+;;;           オーバーフローした場合は、0
+SUM     START
+        LAD     GR0,0
+        LAD     GR2,1
+LOOP    CPL     GR2,GR1
+        JPL     FIN
+        ADDL    GR0,GR2
+        JOV     OV
+        LAD     GR2,1,GR2
+        JUMP    LOOP
+OV      LAD     GR0,0
+FIN     RET
+        END