casl2libを呼び出すコードを、testフォルダからas/casl2lib/sampleに移動
[YACASL2.git] / as / sample / sum_10.casl
diff --git a/as/sample/sum_10.casl b/as/sample/sum_10.casl
new file mode 100644 (file)
index 0000000..d691a10
--- /dev/null
@@ -0,0 +1,17 @@
+;;; sum_10.casl
+;;; 出力 GR0: 1から10までの整数をすべて加算した値
+MAIN    START
+        PUSH    0,GR1
+        LAD     GR0,0           ; GR0を初期化
+        LD      GR1,FST         ; GR1に初項を転送
+LOOP    ADDL    GR0,GR1         ; ループ先頭
+        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
+        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
+        JPL     FIN             ; ↓
+        JUMP    LOOP            ; ループ終端
+FIN     POP     GR1
+        RET
+FST     DC      1               ; 初項
+LST     DC      10              ; 末項
+STEP    DC      1               ; 公差
+        END