CASLファイルの構成変更。casllibとmiscを分離
[YACASL2.git] / as / misc / mull0.casl
diff --git a/as/misc/mull0.casl b/as/misc/mull0.casl
new file mode 100644 (file)
index 0000000..20168d6
--- /dev/null
@@ -0,0 +1,14 @@
+;GR1の値とGR2の値の積をGR0に格納
+MULL    START
+        RPUSH
+        LAD     GR3,0           ; インデックス
+        LAD     GR0,0           ; 積
+MLOOP   CPA     GR2,GR3         ; ループ先頭。(GR2 = GR3)の場合、ループ脱出
+        JZE     MFIN            ; ↓
+        ADDL    GR0,GR1         ; GR0 <- GR0 + GR1
+        JOV     MFIN            ; オーバーフローした場合、ループ脱出
+        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
+        JUMP    MLOOP           ; ループ終端
+MFIN    RPOP
+        RET
+        END