CASLファイルとテストの整理
authorj8takagi <j8takagi@nifty.com>
Sun, 7 Feb 2010 15:36:11 +0000 (00:36 +0900)
committerj8takagi <j8takagi@nifty.com>
Sun, 7 Feb 2010 15:36:11 +0000 (00:36 +0900)
94 files changed:
as/casl2lib/BUILD.mk [new file with mode: 0644]
as/casl2lib/Makefile
as/casl2lib/addl32.casl
as/casl2lib/diva.casl [new file with mode: 0644]
as/casl2lib/diva1.casl [deleted file]
as/casl2lib/divl.casl [moved from as/casl2lib/divl1.casl with 84% similarity]
as/casl2lib/inl.casl
as/casl2lib/inl_src/Makefile [new file with mode: 0644]
as/casl2lib/inl_src/inl_main.casl [moved from as/casl2lib/inl_main.casl with 76% similarity]
as/casl2lib/minim.casl
as/casl2lib/mula.casl
as/casl2lib/mula_src/Makefile [new file with mode: 0644]
as/casl2lib/mula_src/mula_main.casl [new file with mode: 0644]
as/casl2lib/outa.casl
as/casl2lib/outa_src/Makefile [new file with mode: 0644]
as/casl2lib/outa_src/outa_main.casl [moved from as/casl2lib/outa_main.casl with 100% similarity]
as/casl2lib/outb.casl
as/casl2lib/outb_src/Makefile [new file with mode: 0644]
as/casl2lib/outb_src/outb_main.casl [moved from as/casl2lib/outb_main.casl with 100% similarity]
as/casl2lib/outl.casl
as/casl2lib/outl_src/Makefile [new file with mode: 0644]
as/casl2lib/outl_src/outl_main.casl [moved from as/casl2lib/outl_main.casl with 100% similarity]
as/casl2lib/rev.casl
as/casl2lib_driver/abs.casl [moved from as/casl2lib_test/abs_call.casl with 100% similarity]
as/casl2lib_driver/abs0.casl [moved from as/casl2lib_test/abs_call1.casl with 100% similarity]
as/casl2lib_driver/addl32.casl [new file with mode: 0644]
as/casl2lib_driver/addl32_0.casl [moved from as/casl2lib_test/addl32_call.casl with 60% similarity]
as/casl2lib_driver/divl.casl [moved from as/casl2lib_test/divl_call.casl with 100% similarity]
as/casl2lib_driver/divl0.casl [moved from as/casl2lib_test/divl_call0.casl with 100% similarity]
as/casl2lib_driver/divl1.casl [moved from as/casl2lib_test/divl_call1.casl with 55% similarity]
as/casl2lib_driver/inl.casl [new file with mode: 0644]
as/casl2lib_driver/minim_call.casl [moved from as/casl2lib_test/minim_call.casl with 100% similarity]
as/casl2lib_driver/mula_call.casl [moved from as/casl2lib_test/mula_call.casl with 100% similarity]
as/casl2lib_driver/mula_call0.casl [moved from as/casl2lib_test/mula_call0.casl with 100% similarity]
as/casl2lib_driver/mula_call1.casl [moved from as/casl2lib_test/mula_call1.casl with 100% similarity]
as/casl2lib_driver/mula_call2.casl [moved from as/casl2lib_test/mula_call2.casl with 100% similarity]
as/casl2lib_driver/mull_call.casl [moved from as/casl2lib_test/mull_call.casl with 100% similarity]
as/casl2lib_driver/mull_call0.casl [moved from as/casl2lib_test/mull_call0.casl with 100% similarity]
as/casl2lib_driver/mull_call1.casl [moved from as/casl2lib_test/mull_call1.casl with 100% similarity]
as/casl2lib_driver/outa_call.casl [moved from as/casl2lib_test/outa_call.casl with 100% similarity]
as/casl2lib_driver/outa_call1.casl [moved from as/casl2lib_test/outa_call1.casl with 100% similarity]
as/casl2lib_driver/outa_call2.casl [moved from as/casl2lib_test/outa_call2.casl with 100% similarity]
as/casl2lib_driver/outb_call.casl [moved from as/casl2lib_test/outb_call.casl with 100% similarity]
as/casl2lib_driver/outd_q15_call.casl [moved from as/casl2lib_test/outd_q15_call.casl with 100% similarity]
as/casl2lib_driver/outd_q15_call0.casl [moved from as/casl2lib_test/outd_q15_call0.casl with 100% similarity]
as/casl2lib_driver/outl_call.casl [moved from as/casl2lib_test/outl_call.casl with 100% similarity]
as/casl2lib_driver/outl_call0.casl [moved from as/casl2lib_test/outl_call0.casl with 100% similarity]
as/casl2lib_driver/outl_call1.casl [moved from as/casl2lib_test/outl_call1.casl with 100% similarity]
as/casl2lib_driver/outl_call2.casl [moved from as/casl2lib_test/outl_call2.casl with 100% similarity]
as/casl2lib_driver/rev_call.casl [moved from as/casl2lib_test/rev_call.casl with 100% similarity]
as/casl2lib_driver/sum_call.casl [moved from as/casl2lib_test/sum_call.casl with 100% similarity]
as/casl2lib_test/inl_call.casl [deleted file]
as/cmd/OUT/out1.casl
as/cmd/in_out.casl [new file with mode: 0644]
as/misc/count1_call.casl [moved from as/casl2lib_test/count1_call.casl with 100% similarity]
as/misc/count1_call0.casl [moved from as/casl2lib_test/count1_call0.casl with 100% similarity]
as/misc/divl0_test/0.txt [moved from test/integration/casl2/divl0_call/0.txt with 100% similarity]
as/misc/divl0_test/1.txt [new file with mode: 0644]
as/misc/divl0_test/Makefile [moved from test/integration/casl2/divl0_call/Makefile with 100% similarity]
as/misc/divl0_test/report.txt [new file with mode: 0644]
as/misc/fib_outl/0.txt [moved from test/integration/casl2/fib_outl/0.txt with 51% similarity]
as/misc/fib_outl/Makefile [new file with mode: 0644]
as/misc/sum.casl [moved from as/casl2lib/sum.casl with 100% similarity]
as/yakuwa/binout_test/0.txt [moved from test/integration/casl2/binout/0.txt with 100% similarity]
as/yakuwa/binout_test/1.txt [new file with mode: 0644]
as/yakuwa/binout_test/Makefile [moved from test/integration/casl2/binout/Makefile with 81% similarity]
as/yakuwa/binout_test/report.txt [new file with mode: 0644]
as/yakuwa/floatedit/0.txt [moved from test/integration/casl2/floatedit/0.txt with 100% similarity]
as/yakuwa/floatedit/1.txt [new file with mode: 0644]
as/yakuwa/floatedit/Makefile [moved from test/integration/casl2/floatedit/Makefile with 100% similarity]
as/yakuwa/floatedit/report.txt [new file with mode: 0644]
as/yakuwa/floatedit/teststr.txt [moved from test/integration/casl2/floatedit/teststr.txt with 100% similarity]
test/integration/casl2/abs_call/Makefile [deleted file]
test/integration/casl2/cmd_out1/0.txt
test/integration/casl2/cmd_out1/Makefile
test/integration/casl2/divl1_call/Makefile [deleted file]
test/integration/casl2/ds_err/0.txt [deleted file]
test/integration/casl2/err_dserr/0.txt [new file with mode: 0644]
test/integration/casl2/err_dserr/Makefile [moved from test/integration/casl2/ds_err/Makefile with 59% similarity]
test/integration/casl2/hanoi/0.txt
test/integration/casl2/hanoi/Makefile
test/integration/casl2/iotest/#Makefile# [moved from test/integration/casl2/fib_outl/Makefile with 53% similarity]
test/integration/casl2/iotest/.#Makefile [new symlink]
test/integration/casl2/lib_abs/0.txt [moved from test/integration/casl2/abs_call/0.txt with 100% similarity]
test/integration/casl2/lib_abs/Makefile [new file with mode: 0644]
test/integration/casl2/lib_divl/0.txt [moved from test/integration/casl2/divl1_call/0.txt with 100% similarity]
test/integration/casl2/lib_divl/Makefile [new file with mode: 0644]
test/integration/casl2/lib_inl/#0.txt# [new file with mode: 0644]
test/integration/casl2/lib_inl/.#0.txt [new symlink]
test/integration/casl2/lib_inl/0.txt [new file with mode: 0644]
test/integration/casl2/lib_inl/Makefile [new file with mode: 0644]
test/integration/casl2/lib_inl/teststr.txt [new file with mode: 0644]
test/integration/casl2/misc_count1/0.txt [moved from test/integration/casl2/count_call/0.txt with 100% similarity]
test/integration/casl2/misc_count1/Makefile [moved from test/integration/casl2/count_call/Makefile with 100% similarity]

diff --git a/as/casl2lib/BUILD.mk b/as/casl2lib/BUILD.mk
new file mode 100644 (file)
index 0000000..392dc06
--- /dev/null
@@ -0,0 +1,6 @@
+.PHONY: clean
+
+$(TARGET): $(SRCFILE)
+       @cat $^ >$@
+clean:
+       @rm $(TARGET)
index cb6ecff..74da775 100644 (file)
@@ -1,8 +1,6 @@
-outl.casl: outl_main.casl divl1.casl rev.casl
-       cat $^ >$@
-outa.casl: outa_main.casl divl1.casl rev.casl abs.casl
-       cat $^ >$@
-outb.casl: outb_main.casl divl1.casl rev.casl
-       cat $^ >$@
-inl.casl: inl_main.casl mull1.casl
-       cat $^ >$@
+SRCDIR = `ls -d *src`
+.PHONY: all clean
+all:
+       @for target in $(SRCDIR); do $(MAKE) -C $$target; done
+clean:
+       @for target in $(SRCDIR); do $(MAKE) -C $$target clean; done
index cfb5c1d..1282e78 100644 (file)
@@ -3,33 +3,41 @@
 ;;; 入力 GR1:数値1の先頭アドレス GR2:数値2の先頭アドレス
 ;;; 出力 GR0:和の先頭アドレス
 ADDL32  START
-        ST      GR1,A
-        ST      GR2,B
+        RPUSH
+        ST      GR1,X           ; X <- GR1:数値1
+        ST      GR2,Y           ; Y <- GR2:数値2
         LD      GR3,LEN         ; GR3:語を表すインデックス 初期化
+        XOR     GR4,GR4         ; GR4:キャリー値 初期化
         LAD     GR3,-1,GR3      ; ↓
 LOOP    AND     GR3,GR3         ; ループ先頭。(GR3 = 0)の場合は、ループ脱出
         JMI     FIN             ; ↓
-        LD      GR1,GR3         ; GR1 <- (A + GR3)の値
-        ADDL    GR1,A           ; ↓
+        LD      GR1,X           ; GR1 <- (X + GR3)の値
+        ADDL    GR1,GR3         ; ↓
         LD      GR1,0,GR1       ; ↓
-        LD      GR2,GR3         ; GR2 <- (B + GR3)の値
-        ADDL    GR2,B           ; ↓
+        LD      GR2,Y           ; GR2 <- (Y + GR3)の値
+        ADDL    GR2,GR3         ; ↓
         LD      GR2,0,GR2       ; ↓
         ADDL    GR1,GR2         ; GR1 <- GR1 + GR2
-        ST      GR1,C,GR3       ; (C + GR3) <- GR1(フラグ不変)
-        LAD     GR3,-1,GR3      ; GR3 <- GR3 - 1(フラグ不変)
         JOV     CRRY            ; オーバーフロー時は、CRRYへジャンプ
-        XOR     GR1,GR1         ; GR1 <- 0
+        ADDL    GR1,GR4         ; GR1 <- GR1 + GR4
+        JOV     CRRY            ; オーバーフロー時は、CRRYへジャンプ
+        ST      GR1,A,GR3       ; (A + GR3) <- GR1
+        LAD     GR3,-1,GR3      ; GR3 <- GR3 - 1
+        XOR     GR4,GR4         ; GR4 <- 0
         JUMP    LOOP            ; ループ先頭へジャンプ
-CRRY    AND     GR3,GR3         ; 最上位の語でオーバーフローした場合
-        JZE     OV              ; ↓OVへジャンプ
-        LAD     GR1,1           ; GR1 <- 1
+CRRY    AND     GR3,GR3         ; 最上位の語でオーバーフローした場合、OVへジャンプ
+        JMI     OV              ; ↓
+        ST      GR1,A,GR3       ; (A + GR3) <- GR1
+        LAD     GR3,-1,GR3      ; GR3 <- GR3 - 1
+        LAD     GR4,1           ; GR4 <- 1
         JUMP    LOOP            ; ループ終端
-OV      ADDL    GR1,=#FFFF      ; 強制的にオーバーフロー発生
-FIN     LAD     GR0,C           ; GR3 <- C
+OV      LAD     GR3,=#8000      ; 強制的にオーバーフロー発生
+        SLL     GR3,1           ; ↓
+FIN     LAD     GR0,A           ; GR0 <- A
+        RPOP
         RET
-A       DS      1               ; 数値1のアドレス
-B       DS      1               ; 数値2のアドレス
-C       DS      2               ; 和
+X       DS      1               ; 数値1のアドレス
+Y       DS      1               ; 数値2のアドレス
+A       DS      2               ; 和
 LEN     DC      2               ; 数値の語数
         END
diff --git a/as/casl2lib/diva.casl b/as/casl2lib/diva.casl
new file mode 100644 (file)
index 0000000..eb87331
--- /dev/null
@@ -0,0 +1,7 @@
+;;; -32767〜32767の範囲にある整数の割算(筆算方式)を行う
+;;; 入力 GR1:被除数 GR2:除数
+;;; 出力 GR0:商 GR3:剰余
+;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+DIVL    START
+        RET
+        END
diff --git a/as/casl2lib/diva1.casl b/as/casl2lib/diva1.casl
deleted file mode 100644 (file)
index 3d867f5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; -32767〜32767の範囲にある整数の割算(筆算方式)を行う
-;;; 入力 GR1:被除数 GR2:除数
-;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
-DIVL    START
-        PUSH    0,GR1
-        PUSH    0,GR2
-        PUSH    0,GR4
-        AND     GR2,GR2         ; (GR2 = 0)の場合、DIVZEROへジャンプ
-        JZE     DIVZERO         ; ↓
-        ST      GR2,Y           ; YにGR2の初期値を保存
-        XOR     GR0,GR0         ; GR0の初期化
-        XOR     GR3,GR3         ; GR3の初期化
-        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
-SL      CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
-        JPL     LOOP            ; ↓
-        SLL     GR4,1           ; GR4を1回左シフト
-        ST      GR2,TMP         ; GR2の値をTMPに退避
-        SLL     GR2,1           ; GR2を1回左シフト
-        JOV     YOV             ; オーバーフローの場合は、YOVへジャンプ
-        JUMP    SL              ; ループ終端
-YOV     LD      GR2,TMP         ; GR2の値をTMPから復元
-        SRL     GR4,1           ; GR4を1回右シフト
-        JUMP    LPIN            ; LPINへジャンプ
-LOOP    SRL     GR4,1           ; ループ先頭。GR4を1回右シフト
-        JZE     SETMOD          ; (GR4 = 0)の場合、SETMODへループ脱出
-        SRL     GR2,1           ; GR2を1回右シフト
-        CPL     GR1,Y           ; (GR1 < Y)の場合、SETMODへループ脱出
-        JMI     SETMOD          ; ↓
-        CPL     GR1,GR2         ; (GR1 < GR2)の場合、ループ先頭へジャンプ
-        JMI     LOOP            ; ↓
-LPIN    SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
-        ADDL    GR0,GR4         ; GR0 <- GR0 + GR4
-        JUMP    LOOP            ; ループ終端
-DIVZERO LAD     GR3,#8000       ; 強制的にオーバーフローを発生させ、GR3 <- 0
-        SLL     GR3,1           ; ↓
-        JUMP    FIN             ; FIN へジャンプ
-SETMOD  LD      GR3,GR1         ; GR3 <- GR1。剰余の設定
-FIN     POP     GR4
-        POP     GR2
-        POP     GR1
-        RET
-Y       DS      1
-TMP     DS      1
-        END
similarity index 84%
rename from as/casl2lib/divl1.casl
rename to as/casl2lib/divl.casl
index 9fd2fab..3591366 100644 (file)
@@ -1,17 +1,19 @@
 ;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
 ;;; 入力 GR1:被除数 GR2:除数
 ;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
 DIVL    START
         PUSH    0,GR1
         PUSH    0,GR2
         PUSH    0,GR4
+        XOR     GR0,GR0         ; GR0:商 初期化
+        XOR     GR3,GR3         ; GR3:剰余 初期化
         AND     GR2,GR2         ; (GR2 = 0)の場合、DIVZEROへジャンプ
         JZE     DIVZERO         ; ↓
+        AND     GR1,GR1         ; (GR1 = 0)の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         ST      GR2,Y           ; YにGR2の初期値を保存
-        XOR     GR0,GR0         ; GR0の初期化
-        XOR     GR3,GR3         ; GR3の初期化
-        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
+        LAD     GR4,1           ; GR4:対象ビットのインデックス 初期化
 SL      CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
         JPL     LOOP            ; ↓
         SLL     GR4,1           ; GR4を1回左シフト
index aa9c6f8..0584e5f 100644 (file)
@@ -1,7 +1,13 @@
-;;; 入力された数値をGR0に格納する
+;;; 数値の入力を受け付ける
+;;; 入力 (SVC)
+;;; 出力 GR1: 入力された数値 GR0: 文字の長さ
 INL     START
-        RPUSH
+        PUSH    0,GR2
+        PUSH    0,GR3
+        PUSH    0,GR4
         IN      IBUF,ILEN       ; 入力文字列を格納
+        LD      GR0,ILEN        ; ILEN = 0の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         XOR     GR1,GR1         ; GR1:各桁の数値 初期化
         LAD     GR2,10          ; GR2:10進数の「10」 初期化
         LAD     GR3,0           ; GR3:値の一時格納 初期化
@@ -28,11 +34,14 @@ NEXT    LD      GR4,NLEN        ; GR4 <- NLEN。復元
         ADDL    GR3,GR1         ; GR3 <- GR3 + GR1
         LAD     GR4,1,GR4       ; GR4 <- GR4 + 1
         JUMP    STOL            ; ループ終端
-OV      LAD     GR0,1           ; GR0 <- 0。オーバーフローを強制的に発生させる
-        ADDL    GR0,=#FFFF      ; ↓
+OV      LAD     GR0,#8000       ; GR0 <- 0。オーバーフローを強制的に発生させる
+        SLL     GR0,1           ; ↓
         JUMP    FIN             ; FINへジャンプ
-CP      LD      GR0,GR3         ; GR0 <- GR3
-FIN     RPOP
+CP      LD      GR1,GR3         ; GR0 <- GR3
+        LD      GR0,ILEN        ; GR0 <- ILEN
+FIN     POP     GR4
+        POP     GR3
+        POP     GR2
         RET
 ZERO    DC      '0'
 NINE    DC      '9'
diff --git a/as/casl2lib/inl_src/Makefile b/as/casl2lib/inl_src/Makefile
new file mode 100644 (file)
index 0000000..20a23ff
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = ../inl.casl
+SRCFILE = inl_main.casl ../mull.casl
+include ../BUILD.mk
similarity index 76%
rename from as/casl2lib/inl_main.casl
rename to as/casl2lib/inl_src/inl_main.casl
index 40770ed..f40a303 100644 (file)
@@ -1,7 +1,13 @@
-;;; 入力された数値をGR0に格納する
+;;; 数値の入力を受け付ける
+;;; 入力 (SVC)
+;;; 出力 GR1: 入力された数値 GR0: 文字の長さ
 INL     START
-        RPUSH
+        PUSH    0,GR2
+        PUSH    0,GR3
+        PUSH    0,GR4
         IN      IBUF,ILEN       ; 入力文字列を格納
+        LD      GR0,ILEN        ; ILEN = 0の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         XOR     GR1,GR1         ; GR1:各桁の数値 初期化
         LAD     GR2,10          ; GR2:10進数の「10」 初期化
         LAD     GR3,0           ; GR3:値の一時格納 初期化
@@ -28,11 +34,14 @@ NEXT    LD      GR4,NLEN        ; GR4 <- NLEN。復元
         ADDL    GR3,GR1         ; GR3 <- GR3 + GR1
         LAD     GR4,1,GR4       ; GR4 <- GR4 + 1
         JUMP    STOL            ; ループ終端
-OV      LAD     GR0,1           ; GR0 <- 0。オーバーフローを強制的に発生させる
-        ADDL    GR0,=#FFFF      ; ↓
+OV      LAD     GR0,#8000       ; GR0 <- 0。オーバーフローを強制的に発生させる
+        SLL     GR0,1           ; ↓
         JUMP    FIN             ; FINへジャンプ
-CP      LD      GR0,GR3         ; GR0 <- GR3
-FIN     RPOP
+CP      LD      GR1,GR3         ; GR0 <- GR3
+        LD      GR0,ILEN        ; GR0 <- ILEN
+FIN     POP     GR4
+        POP     GR3
+        POP     GR2
         RET
 ZERO    DC      '0'
 NINE    DC      '9'
index 32ff6c0..83d973f 100644 (file)
@@ -3,21 +3,21 @@
 ;;; 出力: GR0: 最小値
 MINIM   START
         RPUSH
-        LD      GR0,0,GR1
-        ST      GR0,MIN
-        LAD     GR3,0
-S1      CPA     GR3,GR2
-        JZE     RET
-        LAD     GR1,1,GR1
-        LD      GR0,0,GR1
-        CPA     GR0,MIN
-        JPL     S2
-        JZE     S2
-        ST      GR0,MIN
-S2      LAD     GR3,1,GR3
-        JUMP    S1
-RET     LD      GR0,MIN
+        LD      GR0,0,GR1       ; MIN <- GR1アドレスの値
+        ST      GR0,MIN         ; ↓
+        LAD     GR3,0           ; GR3:インデックス 初期化
+S1      CPA     GR3,GR2         ; ループ先頭。(GR2 = GR3)の場合、終了
+        JZE     RET             ; ↓
+        LAD     GR1,1,GR1       ; GR1 <- GR1 + 1
+        LD      GR0,0,GR1       ;
+        CPA     GR0,MIN         ;
+        JPL     S2              ;
+        JZE     S2              ;
+        ST      GR0,MIN         ;
+S2      LAD     GR3,1,GR3       ;
+        JUMP    S1              ;
+RET     LD      GR0,MIN         ;
         RPOP
         RET
-MIN     DS      1
+MIN     DS      1               ; 最小値を格納
         END
index 431486a..6155e55 100644 (file)
@@ -39,3 +39,34 @@ FIN     RPOP
 ONE     DC      1
 ALLON   DC      #FFFF
         END
+;;; 0〜65535の範囲にある正数のかけ算(筆算方式)を行う
+;;; 入力 GR1:被乗数 GR2:乗数
+;;; 出力 GR0:積
+;;; 積が65535より大きい場合は、GR0は積の下位16ビットになり、オーバーフロー
+MULL    START
+        PUSH    0,GR1
+        PUSH    0,GR3
+        XOR     GR0,GR0         ; 積
+        AND     GR1,GR1         ; (GR1 = 0)の場合、終了
+        JZE     FIN             ; ↓
+        AND     GR2,GR2         ; (GR2 = 0)の場合、終了
+        JZE     FIN             ; ↓
+        LAD     GR3,1           ; 対象ビット
+LOOP    PUSH    0,GR3           ; ループ先頭。GR2のビット中でGR3が示すビットが0の場合、NEXTへジャンプ
+        AND     GR3,GR2         ; ↓
+        POP     GR3             ; ↓
+        JZE     NEXT            ; ↓
+        ADDL    GR0,GR1         ; GR0 <- GR0 + GR1
+        JOV     FIN             ; GR0がオーバーフローした場合、ループ脱出
+NEXT    SLL     GR3,1           ; GR3を1回左シフト
+        AND     GR3,GR3         ; (GR3 = 0)の場合、ループ脱出
+        JZE     FIN             ; ↓
+        CPL     GR3,GR2         ; (GR3 > GR2)の場合、ループ脱出
+        JPL     FIN             ; ↓
+        SLL     GR1,1           ; GR1を1回左シフト
+        JOV     FIN             ; GR1がオーバーフローした場合、ループ脱出
+        JUMP    LOOP            ; ループ終端
+FIN     POP     GR3
+        POP     GR1
+        RET
+        END
diff --git a/as/casl2lib/mula_src/Makefile b/as/casl2lib/mula_src/Makefile
new file mode 100644 (file)
index 0000000..ab620ae
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = ../mula.casl
+SRCFILE = mula_main.casl ../mull.casl
+include ../BUILD.mk
diff --git a/as/casl2lib/mula_src/mula_main.casl b/as/casl2lib/mula_src/mula_main.casl
new file mode 100644 (file)
index 0000000..431486a
--- /dev/null
@@ -0,0 +1,41 @@
+;;; -32767〜32767の範囲にある正数のかけ算(筆算方式)を行う
+;;; 入力 GR1:被乗数 GR2:乗数
+;;; 出力 GR0:積
+;;; 被乗数または乗数が-32768の場合は、オーバーフロー
+;;; 積が-32767未満または32767より大きい場合は、GR0は積の下位16ビットになり、オーバーフロー
+MULA    START
+        RPUSH
+        XOR     GR0,GR0         ; 積
+        AND     GR1,GR1         ; (GR1 = 0)の場合、終了
+        JZE     FIN             ; ↓
+        AND     GR2,GR2         ; (GR2 = 0)の場合、終了
+        JZE     FIN             ; ↓
+        LAD     GR3,1           ; 対象ビット
+        XOR     GR4,GR4         ; マイナスフラグ
+CHK1    AND     GR1,GR1         ; (GR1 > 0)の場合は、CHK2へジャンプ
+        JPL     CHK2            ; ↓
+        XOR     GR1,ALLON       ; GR1の正負を反転
+        ADDA    GR1,ONE         ; ↓
+        JOV     FIN             ; (GR1 = -32768)の場合は終了
+        XOR     GR4,ONE         ; GR4 <- 1
+CHK2    AND     GR2,GR2         ; (GR1 > 0)の場合は、LOOPへジャンプ
+        JPL     MUL             ; ↓
+        XOR     GR2,ALLON       ; GR2の正負を反転
+        ADDA    GR2,ONE         ; ↓
+        JOV     FIN             ; (GR2 = -32768)の場合は終了
+        XOR     GR4,ONE         ; マイナスフラグを反転
+MUL     CALL    MULL            ; GR0 <- GR1 * GR2
+        JOV     FIN
+        AND     GR0,GR0
+        JMI     OV
+MIN     AND     GR4,GR4         ; マイナスフラグがオフの場合、終了
+        JZE     FIN             ; ↓
+        XOR     GR0,ALLON       ; GR1の正負を反転
+        ADDA    GR0,ONE         ; ↓
+        JUMP    FIN
+OV      ADDL    GR0,=#8000
+FIN     RPOP
+        RET
+ONE     DC      1
+ALLON   DC      #FFFF
+        END
index f902b4f..3f7793d 100644 (file)
@@ -45,17 +45,19 @@ NCHAR   DC      '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 ;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
 ;;; 入力 GR1:被除数 GR2:除数
 ;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
 DIVL    START
         PUSH    0,GR1
         PUSH    0,GR2
         PUSH    0,GR4
+        XOR     GR0,GR0         ; GR0:商 初期化
+        XOR     GR3,GR3         ; GR3:剰余 初期化
         AND     GR2,GR2         ; (GR2 = 0)の場合、DIVZEROへジャンプ
         JZE     DIVZERO         ; ↓
+        AND     GR1,GR1         ; (GR1 = 0)の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         ST      GR2,Y           ; YにGR2の初期値を保存
-        LAD     GR0,0           ; GR0の初期化
-        LAD     GR3,0           ; GR3の初期化
-        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
+        LAD     GR4,1           ; GR4:対象ビットのインデックス 初期化
 SL      CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
         JPL     LOOP            ; ↓
         SLL     GR4,1           ; GR4を1回左シフト
@@ -79,7 +81,7 @@ LPIN    SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
 DIVZERO LAD     GR3,#8000       ; 強制的にオーバーフローを発生させ、GR3 <- 0
         SLL     GR3,1           ; ↓
         JUMP    FIN             ; FIN へジャンプ
-SETMOD  LD      GR3,GR1
+SETMOD  LD      GR3,GR1         ; GR3 <- GR1。剰余の設定
 FIN     POP     GR4
         POP     GR2
         POP     GR1
@@ -87,16 +89,18 @@ FIN     POP     GR4
 Y       DS      1
 TMP     DS      1
         END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;;     例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
 REV     START
         RPUSH
         LAD     GR3,0           ; GR3の初期化
 PU      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
         JZE     NEXT            ; ↓
-        LD      GR4,GR1         ; GR4にGR1の値をコピー
+        LD      GR4,GR1         ; GR4 <- GR1
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
+        LD      GR5,0,GR4       ; GR5 <- GR4アドレスの値
         PUSH    0,GR5           ; GR5をプッシュ
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PU              ; ループ終端
@@ -106,18 +110,9 @@ PO      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ル
         POP     GR5             ; GR5にポップ
         LD      GR4,GR1         ; GR4にGR1の値をコピー
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
+        ST      GR5,0,GR4       ; GR4のアドレス <- GR5の値
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PO              ; ループ終端
 FIN     RPOP
         RET
         END
-;;; GR1を絶対値に変換する
-ABS     START
-        AND     GR1,GR1
-        JPL     FIN
-        JZE     FIN
-        XOR     GR1,=#FFFF
-        ADDA    GR1,=1
-FIN     RET
-        END
diff --git a/as/casl2lib/outa_src/Makefile b/as/casl2lib/outa_src/Makefile
new file mode 100644 (file)
index 0000000..259e059
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = ../outa.casl
+SRCFILE = outa_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
index 7d429e6..6b1d274 100644 (file)
@@ -43,17 +43,19 @@ DIG     DC      16
 ;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
 ;;; 入力 GR1:被除数 GR2:除数
 ;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
 DIVL    START
         PUSH    0,GR1
         PUSH    0,GR2
         PUSH    0,GR4
+        XOR     GR0,GR0         ; GR0:商 初期化
+        XOR     GR3,GR3         ; GR3:剰余 初期化
         AND     GR2,GR2         ; (GR2 = 0)の場合、DIVZEROへジャンプ
         JZE     DIVZERO         ; ↓
+        AND     GR1,GR1         ; (GR1 = 0)の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         ST      GR2,Y           ; YにGR2の初期値を保存
-        LAD     GR0,0           ; GR0の初期化
-        LAD     GR3,0           ; GR3の初期化
-        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
+        LAD     GR4,1           ; GR4:対象ビットのインデックス 初期化
 SL      CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
         JPL     LOOP            ; ↓
         SLL     GR4,1           ; GR4を1回左シフト
@@ -77,7 +79,7 @@ LPIN    SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
 DIVZERO LAD     GR3,#8000       ; 強制的にオーバーフローを発生させ、GR3 <- 0
         SLL     GR3,1           ; ↓
         JUMP    FIN             ; FIN へジャンプ
-SETMOD  LD      GR3,GR1
+SETMOD  LD      GR3,GR1         ; GR3 <- GR1。剰余の設定
 FIN     POP     GR4
         POP     GR2
         POP     GR1
@@ -85,16 +87,18 @@ FIN     POP     GR4
 Y       DS      1
 TMP     DS      1
         END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;;     例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
 REV     START
         RPUSH
         LAD     GR3,0           ; GR3の初期化
 PU      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
         JZE     NEXT            ; ↓
-        LD      GR4,GR1         ; GR4にGR1の値をコピー
+        LD      GR4,GR1         ; GR4 <- GR1
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
+        LD      GR5,0,GR4       ; GR5 <- GR4アドレスの値
         PUSH    0,GR5           ; GR5をプッシュ
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PU              ; ループ終端
@@ -104,7 +108,7 @@ PO      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ル
         POP     GR5             ; GR5にポップ
         LD      GR4,GR1         ; GR4にGR1の値をコピー
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
+        ST      GR5,0,GR4       ; GR4のアドレス <- GR5の値
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PO              ; ループ終端
 FIN     RPOP
diff --git a/as/casl2lib/outb_src/Makefile b/as/casl2lib/outb_src/Makefile
new file mode 100644 (file)
index 0000000..4daa88c
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = ../outb.casl
+SRCFILE = outb_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
index ea419c0..a7a6d15 100644 (file)
@@ -36,17 +36,19 @@ NCHAR   DC      '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 ;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
 ;;; 入力 GR1:被除数 GR2:除数
 ;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
 DIVL    START
         PUSH    0,GR1
         PUSH    0,GR2
         PUSH    0,GR4
+        XOR     GR0,GR0         ; GR0:商 初期化
+        XOR     GR3,GR3         ; GR3:剰余 初期化
         AND     GR2,GR2         ; (GR2 = 0)の場合、DIVZEROへジャンプ
         JZE     DIVZERO         ; ↓
+        AND     GR1,GR1         ; (GR1 = 0)の場合、FINへジャンプ
+        JZE     FIN             ; ↓
         ST      GR2,Y           ; YにGR2の初期値を保存
-        LAD     GR0,0           ; GR0の初期化
-        LAD     GR3,0           ; GR3の初期化
-        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
+        LAD     GR4,1           ; GR4:対象ビットのインデックス 初期化
 SL      CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
         JPL     LOOP            ; ↓
         SLL     GR4,1           ; GR4を1回左シフト
@@ -70,7 +72,7 @@ LPIN    SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
 DIVZERO LAD     GR3,#8000       ; 強制的にオーバーフローを発生させ、GR3 <- 0
         SLL     GR3,1           ; ↓
         JUMP    FIN             ; FIN へジャンプ
-SETMOD  LD      GR3,GR1
+SETMOD  LD      GR3,GR1         ; GR3 <- GR1。剰余の設定
 FIN     POP     GR4
         POP     GR2
         POP     GR1
@@ -78,16 +80,18 @@ FIN     POP     GR4
 Y       DS      1
 TMP     DS      1
         END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;;     例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
 REV     START
         RPUSH
         LAD     GR3,0           ; GR3の初期化
 PU      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
         JZE     NEXT            ; ↓
-        LD      GR4,GR1         ; GR4にGR1の値をコピー
+        LD      GR4,GR1         ; GR4 <- GR1
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
+        LD      GR5,0,GR4       ; GR5 <- GR4アドレスの値
         PUSH    0,GR5           ; GR5をプッシュ
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PU              ; ループ終端
@@ -97,7 +101,7 @@ PO      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ル
         POP     GR5             ; GR5にポップ
         LD      GR4,GR1         ; GR4にGR1の値をコピー
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
+        ST      GR5,0,GR4       ; GR4のアドレス <- GR5の値
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PO              ; ループ終端
 FIN     RPOP
diff --git a/as/casl2lib/outl_src/Makefile b/as/casl2lib/outl_src/Makefile
new file mode 100644 (file)
index 0000000..2c75dcb
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = ../outl.casl
+SRCFILE = outl_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
index 8674381..397c5c4 100644 (file)
@@ -1,13 +1,15 @@
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;;     例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
 REV     START
         RPUSH
         LAD     GR3,0           ; GR3の初期化
 PU      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
         JZE     NEXT            ; ↓
-        LD      GR4,GR1         ; GR4にGR1の値をコピー
+        LD      GR4,GR1         ; GR4 <- GR1
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
+        LD      GR5,0,GR4       ; GR5 <- GR4アドレスの値
         PUSH    0,GR5           ; GR5をプッシュ
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PU              ; ループ終端
@@ -17,7 +19,7 @@ PO      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ル
         POP     GR5             ; GR5にポップ
         LD      GR4,GR1         ; GR4にGR1の値をコピー
         ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
+        ST      GR5,0,GR4       ; GR4のアドレス <- GR5の値
         LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
         JUMP    PO              ; ループ終端
 FIN     RPOP
diff --git a/as/casl2lib_driver/addl32.casl b/as/casl2lib_driver/addl32.casl
new file mode 100644 (file)
index 0000000..6072b8b
--- /dev/null
@@ -0,0 +1,13 @@
+MAIN    START
+        LAD     GR1,A
+        LAD     GR2,B
+        CALL    ADDL32
+        LD      GR2,GR0
+        LD      GR1,1,GR2
+        CALL    OUTL
+        LD      GR1,0,GR2
+        CALL    OUTL
+        RET
+A       DC      6,10
+B       DC      2,65530
+        END
similarity index 60%
rename from as/casl2lib_test/addl32_call.casl
rename to as/casl2lib_driver/addl32_0.casl
index 2b3b323..bb8fa0a 100644 (file)
@@ -2,8 +2,8 @@ MAIN    START
         LAD     GR1,A
         LAD     GR2,B
         CALL    ADDL32
+        LD      GR2,GR0
         RET
-A       DC      12,34
-B       DC      10,32767
-C       DS      2
+A       DC      6,10
+B       DC      2,65530
         END
similarity index 55%
rename from as/casl2lib_test/divl_call1.casl
rename to as/casl2lib_driver/divl1.casl
index 5b22066..bd84ab3 100644 (file)
@@ -1,7 +1,12 @@
-;;; casl2 div0_call0.casl div0.casl outl.casl
+;;; casl2 divl1.casl ../casl2lib/outl.casl
 MAIN    START
 BEGIN   LD      GR1,X
+        CALL    OUTL
         LD      GR2,Y
+        PUSH    0,GR1
+        LD      GR1,GR2
+        CALL    OUTL
+        POP     GR1
         CALL    DIVL
         LD      GR1,GR0
         CALL    OUTL
@@ -9,5 +14,5 @@ BEGIN   LD      GR1,X
         CALL    OUTL
         RET
 X       DC      123
-Y       DC      10       
+Y       DC      10
         END
diff --git a/as/casl2lib_driver/inl.casl b/as/casl2lib_driver/inl.casl
new file mode 100644 (file)
index 0000000..b24c688
--- /dev/null
@@ -0,0 +1,14 @@
+;;; casl2 inl.casl ../casl2lib/inl.casl ../casl2lib/outl.caslg
+MAIN    START
+LOOP    CALL    INL             ; GR1に数値、GR0に文字列の長さ
+        JOV     NAN
+        AND     GR0,GR0
+        JZE     FIN
+        CALL    OUTL
+        JUMP    LOOP
+NAN     OUT     NANMSG,MLEN
+        JUMP    LOOP
+FIN     RET
+NANMSG  DC      'Not A Number'
+MLEN    DC      12
+        END
diff --git a/as/casl2lib_test/inl_call.casl b/as/casl2lib_test/inl_call.casl
deleted file mode 100644 (file)
index c2e3d05..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-;;; casl2 inl_call.casl outl.casl
-MAIN    START
-        CALL    INL
-        JOV     NAN
-        LD      GR1,GR0
-        CALL    OUTL
-        JUMP    FIN
-NAN     OUT     NANMSG,MLEN        
-FIN     RET
-NANMSG  DC      'Not A Number'
-MLEN    DC      12        
-        END
index aedfb02..d7266b0 100644 (file)
@@ -1,7 +1,16 @@
 ;;; OUTの使用例
 OTEST   START
-        OUT     IOBUF,IOLEN
+        OUT     BUF1,L1
+        OUT     BUF2,L2
+        OUT     BUF3,L3
+        OUT     BUF4,L4
         RET
-IOBUF   DC      'aaaa',10,'b','c',10,'as','qwerty','111111'
-IOLEN   DC      24
+BUF1    DC      9,10            ; TAB、改行
+L1      DC      2
+BUF2    DC      ' !"#$%&''()*+,-./0123456789:;<=>?'
+L2      DC      32
+BUF3    DC      '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
+L3      DC      32
+BUF4    DC      '`abcdefghijklmnopqrstuvwxyz{|}~'
+L4      DC      32
         END
diff --git a/as/cmd/in_out.casl b/as/cmd/in_out.casl
new file mode 100644 (file)
index 0000000..40bd330
--- /dev/null
@@ -0,0 +1,21 @@
+MAIN    START
+        OUT     STRT,L1
+LOOP    IN      IOBUF,IOLEN
+        LD      GR1,IOLEN
+        JZE     FIN
+        OUT     TYPD,L2
+        OUT     IOBUF,IOLEN
+        OUT     WHTNXT,L3
+        JUMP    LOOP
+FIN     RET
+;;; メッセージと長さ
+STRT    DC      'LET''S START. TYPE IN'
+L1      DC      20
+TYPD    DC      'YOU TYPED'
+L2      DC      9
+WHTNXT  DC      'WHAT''S NEXT?'
+L3      DC      12
+;;; 入出力領域
+IOBUF   DS      64
+IOLEN   DS      1
+        END
diff --git a/as/misc/divl0_test/1.txt b/as/misc/divl0_test/1.txt
new file mode 100644 (file)
index 0000000..ed9b1d4
--- /dev/null
@@ -0,0 +1,5556 @@
+../../../../casl2 ../../../../as/FUNC/divl_call.casl ../../../../as/FUNC/divl0.casl ../../../../as/FUNC/outl_main.casl ../../../../as/FUNC/rev.casl
+--------------------
+100
+0
+Error: div by 0
+--------------------
+100
+1
+100
+0
+--------------------
+100
+2
+50
+0
+--------------------
+100
+3
+33
+1
+--------------------
+100
+4
+25
+0
+--------------------
+100
+5
+20
+0
+--------------------
+100
+6
+16
+4
+--------------------
+100
+7
+14
+2
+--------------------
+100
+8
+12
+4
+--------------------
+100
+9
+11
+1
+--------------------
+100
+10
+10
+0
+--------------------
+--------------------
+99
+0
+Error: div by 0
+--------------------
+99
+1
+99
+0
+--------------------
+99
+2
+49
+1
+--------------------
+99
+3
+33
+0
+--------------------
+99
+4
+24
+3
+--------------------
+99
+5
+19
+4
+--------------------
+99
+6
+16
+3
+--------------------
+99
+7
+14
+1
+--------------------
+99
+8
+12
+3
+--------------------
+99
+9
+11
+0
+--------------------
+99
+10
+9
+9
+--------------------
+--------------------
+98
+0
+Error: div by 0
+--------------------
+98
+1
+98
+0
+--------------------
+98
+2
+49
+0
+--------------------
+98
+3
+32
+2
+--------------------
+98
+4
+24
+2
+--------------------
+98
+5
+19
+3
+--------------------
+98
+6
+16
+2
+--------------------
+98
+7
+14
+0
+--------------------
+98
+8
+12
+2
+--------------------
+98
+9
+10
+8
+--------------------
+98
+10
+9
+8
+--------------------
+--------------------
+97
+0
+Error: div by 0
+--------------------
+97
+1
+97
+0
+--------------------
+97
+2
+48
+1
+--------------------
+97
+3
+32
+1
+--------------------
+97
+4
+24
+1
+--------------------
+97
+5
+19
+2
+--------------------
+97
+6
+16
+1
+--------------------
+97
+7
+13
+6
+--------------------
+97
+8
+12
+1
+--------------------
+97
+9
+10
+7
+--------------------
+97
+10
+9
+7
+--------------------
+--------------------
+96
+0
+Error: div by 0
+--------------------
+96
+1
+96
+0
+--------------------
+96
+2
+48
+0
+--------------------
+96
+3
+32
+0
+--------------------
+96
+4
+24
+0
+--------------------
+96
+5
+19
+1
+--------------------
+96
+6
+16
+0
+--------------------
+96
+7
+13
+5
+--------------------
+96
+8
+12
+0
+--------------------
+96
+9
+10
+6
+--------------------
+96
+10
+9
+6
+--------------------
+--------------------
+95
+0
+Error: div by 0
+--------------------
+95
+1
+95
+0
+--------------------
+95
+2
+47
+1
+--------------------
+95
+3
+31
+2
+--------------------
+95
+4
+23
+3
+--------------------
+95
+5
+19
+0
+--------------------
+95
+6
+15
+5
+--------------------
+95
+7
+13
+4
+--------------------
+95
+8
+11
+7
+--------------------
+95
+9
+10
+5
+--------------------
+95
+10
+9
+5
+--------------------
+--------------------
+94
+0
+Error: div by 0
+--------------------
+94
+1
+94
+0
+--------------------
+94
+2
+47
+0
+--------------------
+94
+3
+31
+1
+--------------------
+94
+4
+23
+2
+--------------------
+94
+5
+18
+4
+--------------------
+94
+6
+15
+4
+--------------------
+94
+7
+13
+3
+--------------------
+94
+8
+11
+6
+--------------------
+94
+9
+10
+4
+--------------------
+94
+10
+9
+4
+--------------------
+--------------------
+93
+0
+Error: div by 0
+--------------------
+93
+1
+93
+0
+--------------------
+93
+2
+46
+1
+--------------------
+93
+3
+31
+0
+--------------------
+93
+4
+23
+1
+--------------------
+93
+5
+18
+3
+--------------------
+93
+6
+15
+3
+--------------------
+93
+7
+13
+2
+--------------------
+93
+8
+11
+5
+--------------------
+93
+9
+10
+3
+--------------------
+93
+10
+9
+3
+--------------------
+--------------------
+92
+0
+Error: div by 0
+--------------------
+92
+1
+92
+0
+--------------------
+92
+2
+46
+0
+--------------------
+92
+3
+30
+2
+--------------------
+92
+4
+23
+0
+--------------------
+92
+5
+18
+2
+--------------------
+92
+6
+15
+2
+--------------------
+92
+7
+13
+1
+--------------------
+92
+8
+11
+4
+--------------------
+92
+9
+10
+2
+--------------------
+92
+10
+9
+2
+--------------------
+--------------------
+91
+0
+Error: div by 0
+--------------------
+91
+1
+91
+0
+--------------------
+91
+2
+45
+1
+--------------------
+91
+3
+30
+1
+--------------------
+91
+4
+22
+3
+--------------------
+91
+5
+18
+1
+--------------------
+91
+6
+15
+1
+--------------------
+91
+7
+13
+0
+--------------------
+91
+8
+11
+3
+--------------------
+91
+9
+10
+1
+--------------------
+91
+10
+9
+1
+--------------------
+--------------------
+90
+0
+Error: div by 0
+--------------------
+90
+1
+90
+0
+--------------------
+90
+2
+45
+0
+--------------------
+90
+3
+30
+0
+--------------------
+90
+4
+22
+2
+--------------------
+90
+5
+18
+0
+--------------------
+90
+6
+15
+0
+--------------------
+90
+7
+12
+6
+--------------------
+90
+8
+11
+2
+--------------------
+90
+9
+10
+0
+--------------------
+90
+10
+9
+0
+--------------------
+--------------------
+89
+0
+Error: div by 0
+--------------------
+89
+1
+89
+0
+--------------------
+89
+2
+44
+1
+--------------------
+89
+3
+29
+2
+--------------------
+89
+4
+22
+1
+--------------------
+89
+5
+17
+4
+--------------------
+89
+6
+14
+5
+--------------------
+89
+7
+12
+5
+--------------------
+89
+8
+11
+1
+--------------------
+89
+9
+9
+8
+--------------------
+89
+10
+8
+9
+--------------------
+--------------------
+88
+0
+Error: div by 0
+--------------------
+88
+1
+88
+0
+--------------------
+88
+2
+44
+0
+--------------------
+88
+3
+29
+1
+--------------------
+88
+4
+22
+0
+--------------------
+88
+5
+17
+3
+--------------------
+88
+6
+14
+4
+--------------------
+88
+7
+12
+4
+--------------------
+88
+8
+11
+0
+--------------------
+88
+9
+9
+7
+--------------------
+88
+10
+8
+8
+--------------------
+--------------------
+87
+0
+Error: div by 0
+--------------------
+87
+1
+87
+0
+--------------------
+87
+2
+43
+1
+--------------------
+87
+3
+29
+0
+--------------------
+87
+4
+21
+3
+--------------------
+87
+5
+17
+2
+--------------------
+87
+6
+14
+3
+--------------------
+87
+7
+12
+3
+--------------------
+87
+8
+10
+7
+--------------------
+87
+9
+9
+6
+--------------------
+87
+10
+8
+7
+--------------------
+--------------------
+86
+0
+Error: div by 0
+--------------------
+86
+1
+86
+0
+--------------------
+86
+2
+43
+0
+--------------------
+86
+3
+28
+2
+--------------------
+86
+4
+21
+2
+--------------------
+86
+5
+17
+1
+--------------------
+86
+6
+14
+2
+--------------------
+86
+7
+12
+2
+--------------------
+86
+8
+10
+6
+--------------------
+86
+9
+9
+5
+--------------------
+86
+10
+8
+6
+--------------------
+--------------------
+85
+0
+Error: div by 0
+--------------------
+85
+1
+85
+0
+--------------------
+85
+2
+42
+1
+--------------------
+85
+3
+28
+1
+--------------------
+85
+4
+21
+1
+--------------------
+85
+5
+17
+0
+--------------------
+85
+6
+14
+1
+--------------------
+85
+7
+12
+1
+--------------------
+85
+8
+10
+5
+--------------------
+85
+9
+9
+4
+--------------------
+85
+10
+8
+5
+--------------------
+--------------------
+84
+0
+Error: div by 0
+--------------------
+84
+1
+84
+0
+--------------------
+84
+2
+42
+0
+--------------------
+84
+3
+28
+0
+--------------------
+84
+4
+21
+0
+--------------------
+84
+5
+16
+4
+--------------------
+84
+6
+14
+0
+--------------------
+84
+7
+12
+0
+--------------------
+84
+8
+10
+4
+--------------------
+84
+9
+9
+3
+--------------------
+84
+10
+8
+4
+--------------------
+--------------------
+83
+0
+Error: div by 0
+--------------------
+83
+1
+83
+0
+--------------------
+83
+2
+41
+1
+--------------------
+83
+3
+27
+2
+--------------------
+83
+4
+20
+3
+--------------------
+83
+5
+16
+3
+--------------------
+83
+6
+13
+5
+--------------------
+83
+7
+11
+6
+--------------------
+83
+8
+10
+3
+--------------------
+83
+9
+9
+2
+--------------------
+83
+10
+8
+3
+--------------------
+--------------------
+82
+0
+Error: div by 0
+--------------------
+82
+1
+82
+0
+--------------------
+82
+2
+41
+0
+--------------------
+82
+3
+27
+1
+--------------------
+82
+4
+20
+2
+--------------------
+82
+5
+16
+2
+--------------------
+82
+6
+13
+4
+--------------------
+82
+7
+11
+5
+--------------------
+82
+8
+10
+2
+--------------------
+82
+9
+9
+1
+--------------------
+82
+10
+8
+2
+--------------------
+--------------------
+81
+0
+Error: div by 0
+--------------------
+81
+1
+81
+0
+--------------------
+81
+2
+40
+1
+--------------------
+81
+3
+27
+0
+--------------------
+81
+4
+20
+1
+--------------------
+81
+5
+16
+1
+--------------------
+81
+6
+13
+3
+--------------------
+81
+7
+11
+4
+--------------------
+81
+8
+10
+1
+--------------------
+81
+9
+9
+0
+--------------------
+81
+10
+8
+1
+--------------------
+--------------------
+80
+0
+Error: div by 0
+--------------------
+80
+1
+80
+0
+--------------------
+80
+2
+40
+0
+--------------------
+80
+3
+26
+2
+--------------------
+80
+4
+20
+0
+--------------------
+80
+5
+16
+0
+--------------------
+80
+6
+13
+2
+--------------------
+80
+7
+11
+3
+--------------------
+80
+8
+10
+0
+--------------------
+80
+9
+8
+8
+--------------------
+80
+10
+8
+0
+--------------------
+--------------------
+79
+0
+Error: div by 0
+--------------------
+79
+1
+79
+0
+--------------------
+79
+2
+39
+1
+--------------------
+79
+3
+26
+1
+--------------------
+79
+4
+19
+3
+--------------------
+79
+5
+15
+4
+--------------------
+79
+6
+13
+1
+--------------------
+79
+7
+11
+2
+--------------------
+79
+8
+9
+7
+--------------------
+79
+9
+8
+7
+--------------------
+79
+10
+7
+9
+--------------------
+--------------------
+78
+0
+Error: div by 0
+--------------------
+78
+1
+78
+0
+--------------------
+78
+2
+39
+0
+--------------------
+78
+3
+26
+0
+--------------------
+78
+4
+19
+2
+--------------------
+78
+5
+15
+3
+--------------------
+78
+6
+13
+0
+--------------------
+78
+7
+11
+1
+--------------------
+78
+8
+9
+6
+--------------------
+78
+9
+8
+6
+--------------------
+78
+10
+7
+8
+--------------------
+--------------------
+77
+0
+Error: div by 0
+--------------------
+77
+1
+77
+0
+--------------------
+77
+2
+38
+1
+--------------------
+77
+3
+25
+2
+--------------------
+77
+4
+19
+1
+--------------------
+77
+5
+15
+2
+--------------------
+77
+6
+12
+5
+--------------------
+77
+7
+11
+0
+--------------------
+77
+8
+9
+5
+--------------------
+77
+9
+8
+5
+--------------------
+77
+10
+7
+7
+--------------------
+--------------------
+76
+0
+Error: div by 0
+--------------------
+76
+1
+76
+0
+--------------------
+76
+2
+38
+0
+--------------------
+76
+3
+25
+1
+--------------------
+76
+4
+19
+0
+--------------------
+76
+5
+15
+1
+--------------------
+76
+6
+12
+4
+--------------------
+76
+7
+10
+6
+--------------------
+76
+8
+9
+4
+--------------------
+76
+9
+8
+4
+--------------------
+76
+10
+7
+6
+--------------------
+--------------------
+75
+0
+Error: div by 0
+--------------------
+75
+1
+75
+0
+--------------------
+75
+2
+37
+1
+--------------------
+75
+3
+25
+0
+--------------------
+75
+4
+18
+3
+--------------------
+75
+5
+15
+0
+--------------------
+75
+6
+12
+3
+--------------------
+75
+7
+10
+5
+--------------------
+75
+8
+9
+3
+--------------------
+75
+9
+8
+3
+--------------------
+75
+10
+7
+5
+--------------------
+--------------------
+74
+0
+Error: div by 0
+--------------------
+74
+1
+74
+0
+--------------------
+74
+2
+37
+0
+--------------------
+74
+3
+24
+2
+--------------------
+74
+4
+18
+2
+--------------------
+74
+5
+14
+4
+--------------------
+74
+6
+12
+2
+--------------------
+74
+7
+10
+4
+--------------------
+74
+8
+9
+2
+--------------------
+74
+9
+8
+2
+--------------------
+74
+10
+7
+4
+--------------------
+--------------------
+73
+0
+Error: div by 0
+--------------------
+73
+1
+73
+0
+--------------------
+73
+2
+36
+1
+--------------------
+73
+3
+24
+1
+--------------------
+73
+4
+18
+1
+--------------------
+73
+5
+14
+3
+--------------------
+73
+6
+12
+1
+--------------------
+73
+7
+10
+3
+--------------------
+73
+8
+9
+1
+--------------------
+73
+9
+8
+1
+--------------------
+73
+10
+7
+3
+--------------------
+--------------------
+72
+0
+Error: div by 0
+--------------------
+72
+1
+72
+0
+--------------------
+72
+2
+36
+0
+--------------------
+72
+3
+24
+0
+--------------------
+72
+4
+18
+0
+--------------------
+72
+5
+14
+2
+--------------------
+72
+6
+12
+0
+--------------------
+72
+7
+10
+2
+--------------------
+72
+8
+9
+0
+--------------------
+72
+9
+8
+0
+--------------------
+72
+10
+7
+2
+--------------------
+--------------------
+71
+0
+Error: div by 0
+--------------------
+71
+1
+71
+0
+--------------------
+71
+2
+35
+1
+--------------------
+71
+3
+23
+2
+--------------------
+71
+4
+17
+3
+--------------------
+71
+5
+14
+1
+--------------------
+71
+6
+11
+5
+--------------------
+71
+7
+10
+1
+--------------------
+71
+8
+8
+7
+--------------------
+71
+9
+7
+8
+--------------------
+71
+10
+7
+1
+--------------------
+--------------------
+70
+0
+Error: div by 0
+--------------------
+70
+1
+70
+0
+--------------------
+70
+2
+35
+0
+--------------------
+70
+3
+23
+1
+--------------------
+70
+4
+17
+2
+--------------------
+70
+5
+14
+0
+--------------------
+70
+6
+11
+4
+--------------------
+70
+7
+10
+0
+--------------------
+70
+8
+8
+6
+--------------------
+70
+9
+7
+7
+--------------------
+70
+10
+7
+0
+--------------------
+--------------------
+69
+0
+Error: div by 0
+--------------------
+69
+1
+69
+0
+--------------------
+69
+2
+34
+1
+--------------------
+69
+3
+23
+0
+--------------------
+69
+4
+17
+1
+--------------------
+69
+5
+13
+4
+--------------------
+69
+6
+11
+3
+--------------------
+69
+7
+9
+6
+--------------------
+69
+8
+8
+5
+--------------------
+69
+9
+7
+6
+--------------------
+69
+10
+6
+9
+--------------------
+--------------------
+68
+0
+Error: div by 0
+--------------------
+68
+1
+68
+0
+--------------------
+68
+2
+34
+0
+--------------------
+68
+3
+22
+2
+--------------------
+68
+4
+17
+0
+--------------------
+68
+5
+13
+3
+--------------------
+68
+6
+11
+2
+--------------------
+68
+7
+9
+5
+--------------------
+68
+8
+8
+4
+--------------------
+68
+9
+7
+5
+--------------------
+68
+10
+6
+8
+--------------------
+--------------------
+67
+0
+Error: div by 0
+--------------------
+67
+1
+67
+0
+--------------------
+67
+2
+33
+1
+--------------------
+67
+3
+22
+1
+--------------------
+67
+4
+16
+3
+--------------------
+67
+5
+13
+2
+--------------------
+67
+6
+11
+1
+--------------------
+67
+7
+9
+4
+--------------------
+67
+8
+8
+3
+--------------------
+67
+9
+7
+4
+--------------------
+67
+10
+6
+7
+--------------------
+--------------------
+66
+0
+Error: div by 0
+--------------------
+66
+1
+66
+0
+--------------------
+66
+2
+33
+0
+--------------------
+66
+3
+22
+0
+--------------------
+66
+4
+16
+2
+--------------------
+66
+5
+13
+1
+--------------------
+66
+6
+11
+0
+--------------------
+66
+7
+9
+3
+--------------------
+66
+8
+8
+2
+--------------------
+66
+9
+7
+3
+--------------------
+66
+10
+6
+6
+--------------------
+--------------------
+65
+0
+Error: div by 0
+--------------------
+65
+1
+65
+0
+--------------------
+65
+2
+32
+1
+--------------------
+65
+3
+21
+2
+--------------------
+65
+4
+16
+1
+--------------------
+65
+5
+13
+0
+--------------------
+65
+6
+10
+5
+--------------------
+65
+7
+9
+2
+--------------------
+65
+8
+8
+1
+--------------------
+65
+9
+7
+2
+--------------------
+65
+10
+6
+5
+--------------------
+--------------------
+64
+0
+Error: div by 0
+--------------------
+64
+1
+64
+0
+--------------------
+64
+2
+32
+0
+--------------------
+64
+3
+21
+1
+--------------------
+64
+4
+16
+0
+--------------------
+64
+5
+12
+4
+--------------------
+64
+6
+10
+4
+--------------------
+64
+7
+9
+1
+--------------------
+64
+8
+8
+0
+--------------------
+64
+9
+7
+1
+--------------------
+64
+10
+6
+4
+--------------------
+--------------------
+63
+0
+Error: div by 0
+--------------------
+63
+1
+63
+0
+--------------------
+63
+2
+31
+1
+--------------------
+63
+3
+21
+0
+--------------------
+63
+4
+15
+3
+--------------------
+63
+5
+12
+3
+--------------------
+63
+6
+10
+3
+--------------------
+63
+7
+9
+0
+--------------------
+63
+8
+7
+7
+--------------------
+63
+9
+7
+0
+--------------------
+63
+10
+6
+3
+--------------------
+--------------------
+62
+0
+Error: div by 0
+--------------------
+62
+1
+62
+0
+--------------------
+62
+2
+31
+0
+--------------------
+62
+3
+20
+2
+--------------------
+62
+4
+15
+2
+--------------------
+62
+5
+12
+2
+--------------------
+62
+6
+10
+2
+--------------------
+62
+7
+8
+6
+--------------------
+62
+8
+7
+6
+--------------------
+62
+9
+6
+8
+--------------------
+62
+10
+6
+2
+--------------------
+--------------------
+61
+0
+Error: div by 0
+--------------------
+61
+1
+61
+0
+--------------------
+61
+2
+30
+1
+--------------------
+61
+3
+20
+1
+--------------------
+61
+4
+15
+1
+--------------------
+61
+5
+12
+1
+--------------------
+61
+6
+10
+1
+--------------------
+61
+7
+8
+5
+--------------------
+61
+8
+7
+5
+--------------------
+61
+9
+6
+7
+--------------------
+61
+10
+6
+1
+--------------------
+--------------------
+60
+0
+Error: div by 0
+--------------------
+60
+1
+60
+0
+--------------------
+60
+2
+30
+0
+--------------------
+60
+3
+20
+0
+--------------------
+60
+4
+15
+0
+--------------------
+60
+5
+12
+0
+--------------------
+60
+6
+10
+0
+--------------------
+60
+7
+8
+4
+--------------------
+60
+8
+7
+4
+--------------------
+60
+9
+6
+6
+--------------------
+60
+10
+6
+0
+--------------------
+--------------------
+59
+0
+Error: div by 0
+--------------------
+59
+1
+59
+0
+--------------------
+59
+2
+29
+1
+--------------------
+59
+3
+19
+2
+--------------------
+59
+4
+14
+3
+--------------------
+59
+5
+11
+4
+--------------------
+59
+6
+9
+5
+--------------------
+59
+7
+8
+3
+--------------------
+59
+8
+7
+3
+--------------------
+59
+9
+6
+5
+--------------------
+59
+10
+5
+9
+--------------------
+--------------------
+58
+0
+Error: div by 0
+--------------------
+58
+1
+58
+0
+--------------------
+58
+2
+29
+0
+--------------------
+58
+3
+19
+1
+--------------------
+58
+4
+14
+2
+--------------------
+58
+5
+11
+3
+--------------------
+58
+6
+9
+4
+--------------------
+58
+7
+8
+2
+--------------------
+58
+8
+7
+2
+--------------------
+58
+9
+6
+4
+--------------------
+58
+10
+5
+8
+--------------------
+--------------------
+57
+0
+Error: div by 0
+--------------------
+57
+1
+57
+0
+--------------------
+57
+2
+28
+1
+--------------------
+57
+3
+19
+0
+--------------------
+57
+4
+14
+1
+--------------------
+57
+5
+11
+2
+--------------------
+57
+6
+9
+3
+--------------------
+57
+7
+8
+1
+--------------------
+57
+8
+7
+1
+--------------------
+57
+9
+6
+3
+--------------------
+57
+10
+5
+7
+--------------------
+--------------------
+56
+0
+Error: div by 0
+--------------------
+56
+1
+56
+0
+--------------------
+56
+2
+28
+0
+--------------------
+56
+3
+18
+2
+--------------------
+56
+4
+14
+0
+--------------------
+56
+5
+11
+1
+--------------------
+56
+6
+9
+2
+--------------------
+56
+7
+8
+0
+--------------------
+56
+8
+7
+0
+--------------------
+56
+9
+6
+2
+--------------------
+56
+10
+5
+6
+--------------------
+--------------------
+55
+0
+Error: div by 0
+--------------------
+55
+1
+55
+0
+--------------------
+55
+2
+27
+1
+--------------------
+55
+3
+18
+1
+--------------------
+55
+4
+13
+3
+--------------------
+55
+5
+11
+0
+--------------------
+55
+6
+9
+1
+--------------------
+55
+7
+7
+6
+--------------------
+55
+8
+6
+7
+--------------------
+55
+9
+6
+1
+--------------------
+55
+10
+5
+5
+--------------------
+--------------------
+54
+0
+Error: div by 0
+--------------------
+54
+1
+54
+0
+--------------------
+54
+2
+27
+0
+--------------------
+54
+3
+18
+0
+--------------------
+54
+4
+13
+2
+--------------------
+54
+5
+10
+4
+--------------------
+54
+6
+9
+0
+--------------------
+54
+7
+7
+5
+--------------------
+54
+8
+6
+6
+--------------------
+54
+9
+6
+0
+--------------------
+54
+10
+5
+4
+--------------------
+--------------------
+53
+0
+Error: div by 0
+--------------------
+53
+1
+53
+0
+--------------------
+53
+2
+26
+1
+--------------------
+53
+3
+17
+2
+--------------------
+53
+4
+13
+1
+--------------------
+53
+5
+10
+3
+--------------------
+53
+6
+8
+5
+--------------------
+53
+7
+7
+4
+--------------------
+53
+8
+6
+5
+--------------------
+53
+9
+5
+8
+--------------------
+53
+10
+5
+3
+--------------------
+--------------------
+52
+0
+Error: div by 0
+--------------------
+52
+1
+52
+0
+--------------------
+52
+2
+26
+0
+--------------------
+52
+3
+17
+1
+--------------------
+52
+4
+13
+0
+--------------------
+52
+5
+10
+2
+--------------------
+52
+6
+8
+4
+--------------------
+52
+7
+7
+3
+--------------------
+52
+8
+6
+4
+--------------------
+52
+9
+5
+7
+--------------------
+52
+10
+5
+2
+--------------------
+--------------------
+51
+0
+Error: div by 0
+--------------------
+51
+1
+51
+0
+--------------------
+51
+2
+25
+1
+--------------------
+51
+3
+17
+0
+--------------------
+51
+4
+12
+3
+--------------------
+51
+5
+10
+1
+--------------------
+51
+6
+8
+3
+--------------------
+51
+7
+7
+2
+--------------------
+51
+8
+6
+3
+--------------------
+51
+9
+5
+6
+--------------------
+51
+10
+5
+1
+--------------------
+--------------------
+50
+0
+Error: div by 0
+--------------------
+50
+1
+50
+0
+--------------------
+50
+2
+25
+0
+--------------------
+50
+3
+16
+2
+--------------------
+50
+4
+12
+2
+--------------------
+50
+5
+10
+0
+--------------------
+50
+6
+8
+2
+--------------------
+50
+7
+7
+1
+--------------------
+50
+8
+6
+2
+--------------------
+50
+9
+5
+5
+--------------------
+50
+10
+5
+0
+--------------------
+--------------------
+49
+0
+Error: div by 0
+--------------------
+49
+1
+49
+0
+--------------------
+49
+2
+24
+1
+--------------------
+49
+3
+16
+1
+--------------------
+49
+4
+12
+1
+--------------------
+49
+5
+9
+4
+--------------------
+49
+6
+8
+1
+--------------------
+49
+7
+7
+0
+--------------------
+49
+8
+6
+1
+--------------------
+49
+9
+5
+4
+--------------------
+49
+10
+4
+9
+--------------------
+--------------------
+48
+0
+Error: div by 0
+--------------------
+48
+1
+48
+0
+--------------------
+48
+2
+24
+0
+--------------------
+48
+3
+16
+0
+--------------------
+48
+4
+12
+0
+--------------------
+48
+5
+9
+3
+--------------------
+48
+6
+8
+0
+--------------------
+48
+7
+6
+6
+--------------------
+48
+8
+6
+0
+--------------------
+48
+9
+5
+3
+--------------------
+48
+10
+4
+8
+--------------------
+--------------------
+47
+0
+Error: div by 0
+--------------------
+47
+1
+47
+0
+--------------------
+47
+2
+23
+1
+--------------------
+47
+3
+15
+2
+--------------------
+47
+4
+11
+3
+--------------------
+47
+5
+9
+2
+--------------------
+47
+6
+7
+5
+--------------------
+47
+7
+6
+5
+--------------------
+47
+8
+5
+7
+--------------------
+47
+9
+5
+2
+--------------------
+47
+10
+4
+7
+--------------------
+--------------------
+46
+0
+Error: div by 0
+--------------------
+46
+1
+46
+0
+--------------------
+46
+2
+23
+0
+--------------------
+46
+3
+15
+1
+--------------------
+46
+4
+11
+2
+--------------------
+46
+5
+9
+1
+--------------------
+46
+6
+7
+4
+--------------------
+46
+7
+6
+4
+--------------------
+46
+8
+5
+6
+--------------------
+46
+9
+5
+1
+--------------------
+46
+10
+4
+6
+--------------------
+--------------------
+45
+0
+Error: div by 0
+--------------------
+45
+1
+45
+0
+--------------------
+45
+2
+22
+1
+--------------------
+45
+3
+15
+0
+--------------------
+45
+4
+11
+1
+--------------------
+45
+5
+9
+0
+--------------------
+45
+6
+7
+3
+--------------------
+45
+7
+6
+3
+--------------------
+45
+8
+5
+5
+--------------------
+45
+9
+5
+0
+--------------------
+45
+10
+4
+5
+--------------------
+--------------------
+44
+0
+Error: div by 0
+--------------------
+44
+1
+44
+0
+--------------------
+44
+2
+22
+0
+--------------------
+44
+3
+14
+2
+--------------------
+44
+4
+11
+0
+--------------------
+44
+5
+8
+4
+--------------------
+44
+6
+7
+2
+--------------------
+44
+7
+6
+2
+--------------------
+44
+8
+5
+4
+--------------------
+44
+9
+4
+8
+--------------------
+44
+10
+4
+4
+--------------------
+--------------------
+43
+0
+Error: div by 0
+--------------------
+43
+1
+43
+0
+--------------------
+43
+2
+21
+1
+--------------------
+43
+3
+14
+1
+--------------------
+43
+4
+10
+3
+--------------------
+43
+5
+8
+3
+--------------------
+43
+6
+7
+1
+--------------------
+43
+7
+6
+1
+--------------------
+43
+8
+5
+3
+--------------------
+43
+9
+4
+7
+--------------------
+43
+10
+4
+3
+--------------------
+--------------------
+42
+0
+Error: div by 0
+--------------------
+42
+1
+42
+0
+--------------------
+42
+2
+21
+0
+--------------------
+42
+3
+14
+0
+--------------------
+42
+4
+10
+2
+--------------------
+42
+5
+8
+2
+--------------------
+42
+6
+7
+0
+--------------------
+42
+7
+6
+0
+--------------------
+42
+8
+5
+2
+--------------------
+42
+9
+4
+6
+--------------------
+42
+10
+4
+2
+--------------------
+--------------------
+41
+0
+Error: div by 0
+--------------------
+41
+1
+41
+0
+--------------------
+41
+2
+20
+1
+--------------------
+41
+3
+13
+2
+--------------------
+41
+4
+10
+1
+--------------------
+41
+5
+8
+1
+--------------------
+41
+6
+6
+5
+--------------------
+41
+7
+5
+6
+--------------------
+41
+8
+5
+1
+--------------------
+41
+9
+4
+5
+--------------------
+41
+10
+4
+1
+--------------------
+--------------------
+40
+0
+Error: div by 0
+--------------------
+40
+1
+40
+0
+--------------------
+40
+2
+20
+0
+--------------------
+40
+3
+13
+1
+--------------------
+40
+4
+10
+0
+--------------------
+40
+5
+8
+0
+--------------------
+40
+6
+6
+4
+--------------------
+40
+7
+5
+5
+--------------------
+40
+8
+5
+0
+--------------------
+40
+9
+4
+4
+--------------------
+40
+10
+4
+0
+--------------------
+--------------------
+39
+0
+Error: div by 0
+--------------------
+39
+1
+39
+0
+--------------------
+39
+2
+19
+1
+--------------------
+39
+3
+13
+0
+--------------------
+39
+4
+9
+3
+--------------------
+39
+5
+7
+4
+--------------------
+39
+6
+6
+3
+--------------------
+39
+7
+5
+4
+--------------------
+39
+8
+4
+7
+--------------------
+39
+9
+4
+3
+--------------------
+39
+10
+3
+9
+--------------------
+--------------------
+38
+0
+Error: div by 0
+--------------------
+38
+1
+38
+0
+--------------------
+38
+2
+19
+0
+--------------------
+38
+3
+12
+2
+--------------------
+38
+4
+9
+2
+--------------------
+38
+5
+7
+3
+--------------------
+38
+6
+6
+2
+--------------------
+38
+7
+5
+3
+--------------------
+38
+8
+4
+6
+--------------------
+38
+9
+4
+2
+--------------------
+38
+10
+3
+8
+--------------------
+--------------------
+37
+0
+Error: div by 0
+--------------------
+37
+1
+37
+0
+--------------------
+37
+2
+18
+1
+--------------------
+37
+3
+12
+1
+--------------------
+37
+4
+9
+1
+--------------------
+37
+5
+7
+2
+--------------------
+37
+6
+6
+1
+--------------------
+37
+7
+5
+2
+--------------------
+37
+8
+4
+5
+--------------------
+37
+9
+4
+1
+--------------------
+37
+10
+3
+7
+--------------------
+--------------------
+36
+0
+Error: div by 0
+--------------------
+36
+1
+36
+0
+--------------------
+36
+2
+18
+0
+--------------------
+36
+3
+12
+0
+--------------------
+36
+4
+9
+0
+--------------------
+36
+5
+7
+1
+--------------------
+36
+6
+6
+0
+--------------------
+36
+7
+5
+1
+--------------------
+36
+8
+4
+4
+--------------------
+36
+9
+4
+0
+--------------------
+36
+10
+3
+6
+--------------------
+--------------------
+35
+0
+Error: div by 0
+--------------------
+35
+1
+35
+0
+--------------------
+35
+2
+17
+1
+--------------------
+35
+3
+11
+2
+--------------------
+35
+4
+8
+3
+--------------------
+35
+5
+7
+0
+--------------------
+35
+6
+5
+5
+--------------------
+35
+7
+5
+0
+--------------------
+35
+8
+4
+3
+--------------------
+35
+9
+3
+8
+--------------------
+35
+10
+3
+5
+--------------------
+--------------------
+34
+0
+Error: div by 0
+--------------------
+34
+1
+34
+0
+--------------------
+34
+2
+17
+0
+--------------------
+34
+3
+11
+1
+--------------------
+34
+4
+8
+2
+--------------------
+34
+5
+6
+4
+--------------------
+34
+6
+5
+4
+--------------------
+34
+7
+4
+6
+--------------------
+34
+8
+4
+2
+--------------------
+34
+9
+3
+7
+--------------------
+34
+10
+3
+4
+--------------------
+--------------------
+33
+0
+Error: div by 0
+--------------------
+33
+1
+33
+0
+--------------------
+33
+2
+16
+1
+--------------------
+33
+3
+11
+0
+--------------------
+33
+4
+8
+1
+--------------------
+33
+5
+6
+3
+--------------------
+33
+6
+5
+3
+--------------------
+33
+7
+4
+5
+--------------------
+33
+8
+4
+1
+--------------------
+33
+9
+3
+6
+--------------------
+33
+10
+3
+3
+--------------------
+--------------------
+32
+0
+Error: div by 0
+--------------------
+32
+1
+32
+0
+--------------------
+32
+2
+16
+0
+--------------------
+32
+3
+10
+2
+--------------------
+32
+4
+8
+0
+--------------------
+32
+5
+6
+2
+--------------------
+32
+6
+5
+2
+--------------------
+32
+7
+4
+4
+--------------------
+32
+8
+4
+0
+--------------------
+32
+9
+3
+5
+--------------------
+32
+10
+3
+2
+--------------------
+--------------------
+31
+0
+Error: div by 0
+--------------------
+31
+1
+31
+0
+--------------------
+31
+2
+15
+1
+--------------------
+31
+3
+10
+1
+--------------------
+31
+4
+7
+3
+--------------------
+31
+5
+6
+1
+--------------------
+31
+6
+5
+1
+--------------------
+31
+7
+4
+3
+--------------------
+31
+8
+3
+7
+--------------------
+31
+9
+3
+4
+--------------------
+31
+10
+3
+1
+--------------------
+--------------------
+30
+0
+Error: div by 0
+--------------------
+30
+1
+30
+0
+--------------------
+30
+2
+15
+0
+--------------------
+30
+3
+10
+0
+--------------------
+30
+4
+7
+2
+--------------------
+30
+5
+6
+0
+--------------------
+30
+6
+5
+0
+--------------------
+30
+7
+4
+2
+--------------------
+30
+8
+3
+6
+--------------------
+30
+9
+3
+3
+--------------------
+30
+10
+3
+0
+--------------------
+--------------------
+29
+0
+Error: div by 0
+--------------------
+29
+1
+29
+0
+--------------------
+29
+2
+14
+1
+--------------------
+29
+3
+9
+2
+--------------------
+29
+4
+7
+1
+--------------------
+29
+5
+5
+4
+--------------------
+29
+6
+4
+5
+--------------------
+29
+7
+4
+1
+--------------------
+29
+8
+3
+5
+--------------------
+29
+9
+3
+2
+--------------------
+29
+10
+2
+9
+--------------------
+--------------------
+28
+0
+Error: div by 0
+--------------------
+28
+1
+28
+0
+--------------------
+28
+2
+14
+0
+--------------------
+28
+3
+9
+1
+--------------------
+28
+4
+7
+0
+--------------------
+28
+5
+5
+3
+--------------------
+28
+6
+4
+4
+--------------------
+28
+7
+4
+0
+--------------------
+28
+8
+3
+4
+--------------------
+28
+9
+3
+1
+--------------------
+28
+10
+2
+8
+--------------------
+--------------------
+27
+0
+Error: div by 0
+--------------------
+27
+1
+27
+0
+--------------------
+27
+2
+13
+1
+--------------------
+27
+3
+9
+0
+--------------------
+27
+4
+6
+3
+--------------------
+27
+5
+5
+2
+--------------------
+27
+6
+4
+3
+--------------------
+27
+7
+3
+6
+--------------------
+27
+8
+3
+3
+--------------------
+27
+9
+3
+0
+--------------------
+27
+10
+2
+7
+--------------------
+--------------------
+26
+0
+Error: div by 0
+--------------------
+26
+1
+26
+0
+--------------------
+26
+2
+13
+0
+--------------------
+26
+3
+8
+2
+--------------------
+26
+4
+6
+2
+--------------------
+26
+5
+5
+1
+--------------------
+26
+6
+4
+2
+--------------------
+26
+7
+3
+5
+--------------------
+26
+8
+3
+2
+--------------------
+26
+9
+2
+8
+--------------------
+26
+10
+2
+6
+--------------------
+--------------------
+25
+0
+Error: div by 0
+--------------------
+25
+1
+25
+0
+--------------------
+25
+2
+12
+1
+--------------------
+25
+3
+8
+1
+--------------------
+25
+4
+6
+1
+--------------------
+25
+5
+5
+0
+--------------------
+25
+6
+4
+1
+--------------------
+25
+7
+3
+4
+--------------------
+25
+8
+3
+1
+--------------------
+25
+9
+2
+7
+--------------------
+25
+10
+2
+5
+--------------------
+--------------------
+24
+0
+Error: div by 0
+--------------------
+24
+1
+24
+0
+--------------------
+24
+2
+12
+0
+--------------------
+24
+3
+8
+0
+--------------------
+24
+4
+6
+0
+--------------------
+24
+5
+4
+4
+--------------------
+24
+6
+4
+0
+--------------------
+24
+7
+3
+3
+--------------------
+24
+8
+3
+0
+--------------------
+24
+9
+2
+6
+--------------------
+24
+10
+2
+4
+--------------------
+--------------------
+23
+0
+Error: div by 0
+--------------------
+23
+1
+23
+0
+--------------------
+23
+2
+11
+1
+--------------------
+23
+3
+7
+2
+--------------------
+23
+4
+5
+3
+--------------------
+23
+5
+4
+3
+--------------------
+23
+6
+3
+5
+--------------------
+23
+7
+3
+2
+--------------------
+23
+8
+2
+7
+--------------------
+23
+9
+2
+5
+--------------------
+23
+10
+2
+3
+--------------------
+--------------------
+22
+0
+Error: div by 0
+--------------------
+22
+1
+22
+0
+--------------------
+22
+2
+11
+0
+--------------------
+22
+3
+7
+1
+--------------------
+22
+4
+5
+2
+--------------------
+22
+5
+4
+2
+--------------------
+22
+6
+3
+4
+--------------------
+22
+7
+3
+1
+--------------------
+22
+8
+2
+6
+--------------------
+22
+9
+2
+4
+--------------------
+22
+10
+2
+2
+--------------------
+--------------------
+21
+0
+Error: div by 0
+--------------------
+21
+1
+21
+0
+--------------------
+21
+2
+10
+1
+--------------------
+21
+3
+7
+0
+--------------------
+21
+4
+5
+1
+--------------------
+21
+5
+4
+1
+--------------------
+21
+6
+3
+3
+--------------------
+21
+7
+3
+0
+--------------------
+21
+8
+2
+5
+--------------------
+21
+9
+2
+3
+--------------------
+21
+10
+2
+1
+--------------------
+--------------------
+20
+0
+Error: div by 0
+--------------------
+20
+1
+20
+0
+--------------------
+20
+2
+10
+0
+--------------------
+20
+3
+6
+2
+--------------------
+20
+4
+5
+0
+--------------------
+20
+5
+4
+0
+--------------------
+20
+6
+3
+2
+--------------------
+20
+7
+2
+6
+--------------------
+20
+8
+2
+4
+--------------------
+20
+9
+2
+2
+--------------------
+20
+10
+2
+0
+--------------------
+--------------------
+19
+0
+Error: div by 0
+--------------------
+19
+1
+19
+0
+--------------------
+19
+2
+9
+1
+--------------------
+19
+3
+6
+1
+--------------------
+19
+4
+4
+3
+--------------------
+19
+5
+3
+4
+--------------------
+19
+6
+3
+1
+--------------------
+19
+7
+2
+5
+--------------------
+19
+8
+2
+3
+--------------------
+19
+9
+2
+1
+--------------------
+19
+10
+1
+9
+--------------------
+--------------------
+18
+0
+Error: div by 0
+--------------------
+18
+1
+18
+0
+--------------------
+18
+2
+9
+0
+--------------------
+18
+3
+6
+0
+--------------------
+18
+4
+4
+2
+--------------------
+18
+5
+3
+3
+--------------------
+18
+6
+3
+0
+--------------------
+18
+7
+2
+4
+--------------------
+18
+8
+2
+2
+--------------------
+18
+9
+2
+0
+--------------------
+18
+10
+1
+8
+--------------------
+--------------------
+17
+0
+Error: div by 0
+--------------------
+17
+1
+17
+0
+--------------------
+17
+2
+8
+1
+--------------------
+17
+3
+5
+2
+--------------------
+17
+4
+4
+1
+--------------------
+17
+5
+3
+2
+--------------------
+17
+6
+2
+5
+--------------------
+17
+7
+2
+3
+--------------------
+17
+8
+2
+1
+--------------------
+17
+9
+1
+8
+--------------------
+17
+10
+1
+7
+--------------------
+--------------------
+16
+0
+Error: div by 0
+--------------------
+16
+1
+16
+0
+--------------------
+16
+2
+8
+0
+--------------------
+16
+3
+5
+1
+--------------------
+16
+4
+4
+0
+--------------------
+16
+5
+3
+1
+--------------------
+16
+6
+2
+4
+--------------------
+16
+7
+2
+2
+--------------------
+16
+8
+2
+0
+--------------------
+16
+9
+1
+7
+--------------------
+16
+10
+1
+6
+--------------------
+--------------------
+15
+0
+Error: div by 0
+--------------------
+15
+1
+15
+0
+--------------------
+15
+2
+7
+1
+--------------------
+15
+3
+5
+0
+--------------------
+15
+4
+3
+3
+--------------------
+15
+5
+3
+0
+--------------------
+15
+6
+2
+3
+--------------------
+15
+7
+2
+1
+--------------------
+15
+8
+1
+7
+--------------------
+15
+9
+1
+6
+--------------------
+15
+10
+1
+5
+--------------------
+--------------------
+14
+0
+Error: div by 0
+--------------------
+14
+1
+14
+0
+--------------------
+14
+2
+7
+0
+--------------------
+14
+3
+4
+2
+--------------------
+14
+4
+3
+2
+--------------------
+14
+5
+2
+4
+--------------------
+14
+6
+2
+2
+--------------------
+14
+7
+2
+0
+--------------------
+14
+8
+1
+6
+--------------------
+14
+9
+1
+5
+--------------------
+14
+10
+1
+4
+--------------------
+--------------------
+13
+0
+Error: div by 0
+--------------------
+13
+1
+13
+0
+--------------------
+13
+2
+6
+1
+--------------------
+13
+3
+4
+1
+--------------------
+13
+4
+3
+1
+--------------------
+13
+5
+2
+3
+--------------------
+13
+6
+2
+1
+--------------------
+13
+7
+1
+6
+--------------------
+13
+8
+1
+5
+--------------------
+13
+9
+1
+4
+--------------------
+13
+10
+1
+3
+--------------------
+--------------------
+12
+0
+Error: div by 0
+--------------------
+12
+1
+12
+0
+--------------------
+12
+2
+6
+0
+--------------------
+12
+3
+4
+0
+--------------------
+12
+4
+3
+0
+--------------------
+12
+5
+2
+2
+--------------------
+12
+6
+2
+0
+--------------------
+12
+7
+1
+5
+--------------------
+12
+8
+1
+4
+--------------------
+12
+9
+1
+3
+--------------------
+12
+10
+1
+2
+--------------------
+--------------------
+11
+0
+Error: div by 0
+--------------------
+11
+1
+11
+0
+--------------------
+11
+2
+5
+1
+--------------------
+11
+3
+3
+2
+--------------------
+11
+4
+2
+3
+--------------------
+11
+5
+2
+1
+--------------------
+11
+6
+1
+5
+--------------------
+11
+7
+1
+4
+--------------------
+11
+8
+1
+3
+--------------------
+11
+9
+1
+2
+--------------------
+11
+10
+1
+1
+--------------------
+--------------------
+10
+0
+Error: div by 0
+--------------------
+10
+1
+10
+0
+--------------------
+10
+2
+5
+0
+--------------------
+10
+3
+3
+1
+--------------------
+10
+4
+2
+2
+--------------------
+10
+5
+2
+0
+--------------------
+10
+6
+1
+4
+--------------------
+10
+7
+1
+3
+--------------------
+10
+8
+1
+2
+--------------------
+10
+9
+1
+1
+--------------------
+10
+10
+1
+0
+--------------------
+--------------------
+9
+0
+Error: div by 0
+--------------------
+9
+1
+9
+0
+--------------------
+9
+2
+4
+1
+--------------------
+9
+3
+3
+0
+--------------------
+9
+4
+2
+1
+--------------------
+9
+5
+1
+4
+--------------------
+9
+6
+1
+3
+--------------------
+9
+7
+1
+2
+--------------------
+9
+8
+1
+1
+--------------------
+9
+9
+1
+0
+--------------------
+9
+10
+0
+9
+--------------------
+--------------------
+8
+0
+Error: div by 0
+--------------------
+8
+1
+8
+0
+--------------------
+8
+2
+4
+0
+--------------------
+8
+3
+2
+2
+--------------------
+8
+4
+2
+0
+--------------------
+8
+5
+1
+3
+--------------------
+8
+6
+1
+2
+--------------------
+8
+7
+1
+1
+--------------------
+8
+8
+1
+0
+--------------------
+8
+9
+0
+8
+--------------------
+8
+10
+0
+8
+--------------------
+--------------------
+7
+0
+Error: div by 0
+--------------------
+7
+1
+7
+0
+--------------------
+7
+2
+3
+1
+--------------------
+7
+3
+2
+1
+--------------------
+7
+4
+1
+3
+--------------------
+7
+5
+1
+2
+--------------------
+7
+6
+1
+1
+--------------------
+7
+7
+1
+0
+--------------------
+7
+8
+0
+7
+--------------------
+7
+9
+0
+7
+--------------------
+7
+10
+0
+7
+--------------------
+--------------------
+6
+0
+Error: div by 0
+--------------------
+6
+1
+6
+0
+--------------------
+6
+2
+3
+0
+--------------------
+6
+3
+2
+0
+--------------------
+6
+4
+1
+2
+--------------------
+6
+5
+1
+1
+--------------------
+6
+6
+1
+0
+--------------------
+6
+7
+0
+6
+--------------------
+6
+8
+0
+6
+--------------------
+6
+9
+0
+6
+--------------------
+6
+10
+0
+6
+--------------------
+--------------------
+5
+0
+Error: div by 0
+--------------------
+5
+1
+5
+0
+--------------------
+5
+2
+2
+1
+--------------------
+5
+3
+1
+2
+--------------------
+5
+4
+1
+1
+--------------------
+5
+5
+1
+0
+--------------------
+5
+6
+0
+5
+--------------------
+5
+7
+0
+5
+--------------------
+5
+8
+0
+5
+--------------------
+5
+9
+0
+5
+--------------------
+5
+10
+0
+5
+--------------------
+--------------------
+4
+0
+Error: div by 0
+--------------------
+4
+1
+4
+0
+--------------------
+4
+2
+2
+0
+--------------------
+4
+3
+1
+1
+--------------------
+4
+4
+1
+0
+--------------------
+4
+5
+0
+4
+--------------------
+4
+6
+0
+4
+--------------------
+4
+7
+0
+4
+--------------------
+4
+8
+0
+4
+--------------------
+4
+9
+0
+4
+--------------------
+4
+10
+0
+4
+--------------------
+--------------------
+3
+0
+Error: div by 0
+--------------------
+3
+1
+3
+0
+--------------------
+3
+2
+1
+1
+--------------------
+3
+3
+1
+0
+--------------------
+3
+4
+0
+3
+--------------------
+3
+5
+0
+3
+--------------------
+3
+6
+0
+3
+--------------------
+3
+7
+0
+3
+--------------------
+3
+8
+0
+3
+--------------------
+3
+9
+0
+3
+--------------------
+3
+10
+0
+3
+--------------------
+--------------------
+2
+0
+Error: div by 0
+--------------------
+2
+1
+2
+0
+--------------------
+2
+2
+1
+0
+--------------------
+2
+3
+0
+2
+--------------------
+2
+4
+0
+2
+--------------------
+2
+5
+0
+2
+--------------------
+2
+6
+0
+2
+--------------------
+2
+7
+0
+2
+--------------------
+2
+8
+0
+2
+--------------------
+2
+9
+0
+2
+--------------------
+2
+10
+0
+2
+--------------------
+--------------------
+1
+0
+Error: div by 0
+--------------------
+1
+1
+1
+0
+--------------------
+1
+2
+0
+1
+--------------------
+1
+3
+0
+1
+--------------------
+1
+4
+0
+1
+--------------------
+1
+5
+0
+1
+--------------------
+1
+6
+0
+1
+--------------------
+1
+7
+0
+1
+--------------------
+1
+8
+0
+1
+--------------------
+1
+9
+0
+1
+--------------------
+1
+10
+0
+1
+--------------------
+--------------------
+0
+0
+Error: div by 0
+--------------------
+0
+1
+0
+0
+--------------------
+0
+2
+0
+0
+--------------------
+0
+3
+0
+0
+--------------------
+0
+4
+0
+0
+--------------------
+0
+5
+0
+0
+--------------------
+0
+6
+0
+0
+--------------------
+0
+7
+0
+0
+--------------------
+0
+8
+0
+0
+--------------------
+0
+9
+0
+0
+--------------------
+0
+10
+0
+0
+--------------------
diff --git a/as/misc/divl0_test/report.txt b/as/misc/divl0_test/report.txt
new file mode 100644 (file)
index 0000000..b05b3c8
--- /dev/null
@@ -0,0 +1 @@
+divl0_call: Test Success 2010-02-07 18:16:35
similarity index 51%
rename from test/integration/casl2/fib_outl/0.txt
rename to as/misc/fib_outl/0.txt
index 7d74a98..8067e50 100644 (file)
@@ -1,4 +1,4 @@
-../../../../casl2 ../../../../as/FUNC/fib_outl.casl ../../../../as/FUNC/outl.casl
+../../../../casl2 ../../../../as/misc/fib_outl.casl ../../../../as/casl2lib/outl.casl
 0
 1
 1
diff --git a/as/misc/fib_outl/Makefile b/as/misc/fib_outl/Makefile
new file mode 100644 (file)
index 0000000..0a8a14e
--- /dev/null
@@ -0,0 +1,6 @@
+include ../CMD.mk    # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/misc
+ASFILE = $(ASDIR)/fib_outl.casl $(LIBDIR)/outl.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
similarity index 100%
rename from as/casl2lib/sum.casl
rename to as/misc/sum.casl
diff --git a/as/yakuwa/binout_test/1.txt b/as/yakuwa/binout_test/1.txt
new file mode 100644 (file)
index 0000000..79aa0e7
--- /dev/null
@@ -0,0 +1,198 @@
+../../../../casl2 -la ../../../../as/YAKUWA/binout.casl
+
+Assemble ../../../../as/YAKUWA/binout.casl (0)
+
+Label::::
+BINOUT.OBUF ---> #0060
+BINOUT.ZERO ---> #002D
+BINOUT.OUT1 ---> #0041
+BINOUT.OUT2 ---> #0047
+BINOUT.STORE ---> #0033
+MAIN.MLOOP ---> #0002
+BINOUT.NZERO ---> #0071
+BINOUT.LOOP1 ---> #0023
+BINOUT.LOOP2 ---> #002B
+MAIN.MFIN ---> #000E
+MAIN ---> #0000
+BINOUT.OLNG ---> #0070
+MAIN.MWORD ---> #000F
+MAIN.MLEN ---> #0013
+BINOUT ---> #0014
+BINOUT.ONE ---> #0031
+
+Assemble ../../../../as/YAKUWA/binout.casl (1)
+../../../../as/YAKUWA/binout.casl:    1:;;; BINOUT: 主プログラムから渡された1語の内容を、
+../../../../as/YAKUWA/binout.casl:    2:;;;         ゼロ抑制を行った2進表記で出力する
+../../../../as/YAKUWA/binout.casl:    3:;;;     八鍬幸信『基本情報処理試験 らくらく突破 CASL II』172ページ
+../../../../as/YAKUWA/binout.casl:    4:;;; BINOUTを呼び出す
+../../../../as/YAKUWA/binout.casl:    5:MAIN    START
+../../../../as/YAKUWA/binout.casl:    6:        LAD     GR2,0
+       #0000   #1220
+       #0001   #0000
+../../../../as/YAKUWA/binout.casl:    7:MLOOP   CPA     GR2,MLEN
+       #0002   #4020
+       #0003   #0013
+../../../../as/YAKUWA/binout.casl:    8:        JZE     MFIN
+       #0004   #6300
+       #0005   #000E
+../../../../as/YAKUWA/binout.casl:    9:        LD      GR1,MWORD,GR2
+       #0006   #1012
+       #0007   #000F
+../../../../as/YAKUWA/binout.casl:   10:        CALL    BINOUT
+       #0008   #8000
+       #0009   #0014
+../../../../as/YAKUWA/binout.casl:   11:        LAD     GR2,1,GR2
+       #000A   #1222
+       #000B   #0001
+../../../../as/YAKUWA/binout.casl:   12:        JUMP    MLOOP
+       #000C   #6400
+       #000D   #0002
+../../../../as/YAKUWA/binout.casl:   13:MFIN    RET
+       #000E   #8100
+../../../../as/YAKUWA/binout.casl:   14:MWORD   DC      #0000,#0001,#09CD,#8001
+       #000F   #0000
+       #0010   #0001
+       #0011   #09CD
+       #0012   #8001
+../../../../as/YAKUWA/binout.casl:   15:MLEN    DC      4
+       #0013   #0004
+../../../../as/YAKUWA/binout.casl:   16:        END
+../../../../as/YAKUWA/binout.casl:   17:;;; BINOUT
+../../../../as/YAKUWA/binout.casl:   18:BINOUT  START
+../../../../as/YAKUWA/binout.casl:   19:        PUSH    0,GR1           ; レジスタの退避
+       #0014   #7001
+       #0015   #0000
+../../../../as/YAKUWA/binout.casl:   20:        PUSH    0,GR2           ; ↓
+       #0016   #7002
+       #0017   #0000
+../../../../as/YAKUWA/binout.casl:   21:        PUSH    0,GR3           ; ↓
+       #0018   #7003
+       #0019   #0000
+../../../../as/YAKUWA/binout.casl:   22:        PUSH    0,GR4           ; ↓
+       #001A   #7004
+       #001B   #0000
+../../../../as/YAKUWA/binout.casl:   23:        LAD     GR2,0           ; 出力ポインタの初期化
+       #001C   #1220
+       #001D   #0000
+../../../../as/YAKUWA/binout.casl:   24:        LAD     GR3,15          ; カウンタの初期化
+       #001E   #1230
+       #001F   #000F
+../../../../as/YAKUWA/binout.casl:   25:        LD      GR4,GR1         ; 全ビット = 0?
+       #0020   #1441
+../../../../as/YAKUWA/binout.casl:   26:        JZE     OUT1
+       #0021   #6300
+       #0022   #0041
+../../../../as/YAKUWA/binout.casl:   27:LOOP1   JMI     ONE             ; 先行するビット処理
+       #0023   #6100
+       #0024   #0031
+../../../../as/YAKUWA/binout.casl:   28:        LAD     GR3,-1,GR3      ; ↓
+       #0025   #1233
+       #0026   #FFFF
+../../../../as/YAKUWA/binout.casl:   29:        SLL     GR1,1           ; ↓
+       #0027   #5210
+       #0028   #0001
+../../../../as/YAKUWA/binout.casl:   30:        JUMP    LOOP1
+       #0029   #6400
+       #002A   #0023
+../../../../as/YAKUWA/binout.casl:   31:LOOP2   JMI     ONE             ; 符号ビットの判定
+       #002B   #6100
+       #002C   #0031
+../../../../as/YAKUWA/binout.casl:   32:ZERO    LAD     GR0,48          ; '0'→GR0
+       #002D   #1200
+       #002E   #0030
+../../../../as/YAKUWA/binout.casl:   33:        JUMP    STORE
+       #002F   #6400
+       #0030   #0033
+../../../../as/YAKUWA/binout.casl:   34:ONE     LAD     GR0,49          ; '1'→GR1
+       #0031   #1200
+       #0032   #0031
+../../../../as/YAKUWA/binout.casl:   35:STORE   ST      GR0,OBUF,GR2
+       #0033   #1102
+       #0034   #0060
+../../../../as/YAKUWA/binout.casl:   36:        LAD     GR2,1,GR2
+       #0035   #1222
+       #0036   #0001
+../../../../as/YAKUWA/binout.casl:   37:        LAD     GR3,-1,GR3
+       #0037   #1233
+       #0038   #FFFF
+../../../../as/YAKUWA/binout.casl:   38:        CPA     GR3,NZERO
+       #0039   #4030
+       #003A   #0071
+../../../../as/YAKUWA/binout.casl:   39:        JMI     OUT2            ; 全ビット終了?
+       #003B   #6100
+       #003C   #0047
+../../../../as/YAKUWA/binout.casl:   40:        SLL     GR1,1
+       #003D   #5210
+       #003E   #0001
+../../../../as/YAKUWA/binout.casl:   41:        JUMP    LOOP2
+       #003F   #6400
+       #0040   #002B
+../../../../as/YAKUWA/binout.casl:   42:OUT1    LAD     GR0,48
+       #0041   #1200
+       #0042   #0030
+../../../../as/YAKUWA/binout.casl:   43:        ST      GR0,OBUF,GR2
+       #0043   #1102
+       #0044   #0060
+../../../../as/YAKUWA/binout.casl:   44:        LAD     GR2,1,GR2
+       #0045   #1222
+       #0046   #0001
+../../../../as/YAKUWA/binout.casl:   45:OUT2    ST      GR2,OLNG
+       #0047   #1120
+       #0048   #0070
+../../../../as/YAKUWA/binout.casl:   46:        OUT     OBUF,OLNG
+       #0049   #7001
+       #004A   #0000
+       #004B   #7002
+       #004C   #0000
+       #004D   #1210
+       #004E   #0060
+       #004F   #1220
+       #0050   #0070
+       #0051   #F000
+       #0052   #0002
+       #0053   #1210
+       #0054   #0072
+       #0072   #000A
+       #0055   #1220
+       #0056   #0073
+       #0073   #0001
+       #0057   #F000
+       #0058   #0002
+       #0059   #7120
+       #005A   #7110
+../../../../as/YAKUWA/binout.casl:   47:        POP     GR4             ; レジスタの復元
+       #005B   #7140
+../../../../as/YAKUWA/binout.casl:   48:        POP     GR3             ; ↓
+       #005C   #7130
+../../../../as/YAKUWA/binout.casl:   49:        POP     GR2             ; ↓
+       #005D   #7120
+../../../../as/YAKUWA/binout.casl:   50:        POP     GR1             ; ↓
+       #005E   #7110
+../../../../as/YAKUWA/binout.casl:   51:        RET
+       #005F   #8100
+../../../../as/YAKUWA/binout.casl:   52:OBUF    DS      16
+       #0060   #0000
+       #0061   #0000
+       #0062   #0000
+       #0063   #0000
+       #0064   #0000
+       #0065   #0000
+       #0066   #0000
+       #0067   #0000
+       #0068   #0000
+       #0069   #0000
+       #006A   #0000
+       #006B   #0000
+       #006C   #0000
+       #006D   #0000
+       #006E   #0000
+       #006F   #0000
+../../../../as/YAKUWA/binout.casl:   53:OLNG    DS      1
+       #0070   #0000
+../../../../as/YAKUWA/binout.casl:   54:NZERO   DC      0
+       #0071   #0000
+../../../../as/YAKUWA/binout.casl:   55:        END
+0
+1
+100111001101
+1000000000000001
similarity index 81%
rename from test/integration/casl2/binout/Makefile
rename to as/yakuwa/binout_test/Makefile
index 163fe88..0d3626b 100644 (file)
@@ -1,6 +1,6 @@
 include ../CMD.mk    # YACASL2DIR, CASL2
 CASL2FLAG = -la
-ASDIR = $(YACASL2DIR)/as/YAKUWA
+ASDIR = $(YACASL2DIR)/as/yakuwa
 ASFILE = $(ASDIR)/binout.casl
 CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
 include ../TEST.mk
diff --git a/as/yakuwa/binout_test/report.txt b/as/yakuwa/binout_test/report.txt
new file mode 100644 (file)
index 0000000..e6bd1db
--- /dev/null
@@ -0,0 +1 @@
+binout: Test Success 2010-02-07 18:16:32
diff --git a/as/yakuwa/floatedit/1.txt b/as/yakuwa/floatedit/1.txt
new file mode 100644 (file)
index 0000000..03850ba
--- /dev/null
@@ -0,0 +1,503 @@
+../../../../casl2 -sla ../../../../as/YAKUWA/floatedit.casl
+
+Assemble ../../../../as/YAKUWA/floatedit.casl (0)
+../../../../as/YAKUWA/floatedit.casl:    1:EDIT        START
+../../../../as/YAKUWA/floatedit.casl:    2:RETRY       IN      INAREA,INLENG
+../../../../as/YAKUWA/floatedit.casl:    3:    LAD     GR1,0
+../../../../as/YAKUWA/floatedit.casl:    4:    OR      GR1,INLENG
+../../../../as/YAKUWA/floatedit.casl:    5:    JZE     FINISH
+../../../../as/YAKUWA/floatedit.casl:    6:    CPA     GR1,TEN
+../../../../as/YAKUWA/floatedit.casl:    7:    JZE     BEGIN
+../../../../as/YAKUWA/floatedit.casl:    8:    OUT     ERRMSG,MSGLNG
+../../../../as/YAKUWA/floatedit.casl:    9:    JUMP    RETRY
+../../../../as/YAKUWA/floatedit.casl:   10:BEGIN       LAD     GR0,1
+../../../../as/YAKUWA/floatedit.casl:   11:    ST      GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl:   12:    LAD     GR1,0
+../../../../as/YAKUWA/floatedit.casl:   13:    LAD     GR2,-1
+../../../../as/YAKUWA/floatedit.casl:   14:    LAD     GR3,0
+../../../../as/YAKUWA/floatedit.casl:   15:LOOP        LD      GR0,MASK,GR3
+../../../../as/YAKUWA/floatedit.casl:   16:    PUSH    1,GR3
+../../../../as/YAKUWA/floatedit.casl:   17:    LD      GR3,INAREA,GR1
+../../../../as/YAKUWA/floatedit.casl:   18:    LAD     GR1,1,GR1
+../../../../as/YAKUWA/floatedit.casl:   19:    CPL     GR0,DIGIT0
+../../../../as/YAKUWA/floatedit.casl:   20:    JZE     ENDSPR
+../../../../as/YAKUWA/floatedit.casl:   21:    CPL     GR0,DIGIT9
+../../../../as/YAKUWA/floatedit.casl:   22:    JNZ     NONDGT
+../../../../as/YAKUWA/floatedit.casl:   23:    CPL     GR3,DIGIT0
+../../../../as/YAKUWA/floatedit.casl:   24:    JNZ     ENDSPR
+../../../../as/YAKUWA/floatedit.casl:   25:    LAD     GR0,0
+../../../../as/YAKUWA/floatedit.casl:   26:    OR      GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl:   27:    JNZ     SUPPRS
+../../../../as/YAKUWA/floatedit.casl:   28:ENDSPR      LD      GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl:   29:    CPL     GR0,SPACE
+../../../../as/YAKUWA/floatedit.casl:   30:    JNZ     NOT1ST
+../../../../as/YAKUWA/floatedit.casl:   31:    LD      GR0,MASK
+../../../../as/YAKUWA/floatedit.casl:   32:    ST      GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl:   33:    LAD     GR0,0
+../../../../as/YAKUWA/floatedit.casl:   34:    ST      GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl:   35:NOT1ST      LAD     GR0,0,GR3
+../../../../as/YAKUWA/floatedit.casl:   36:    JUMP    STORE
+../../../../as/YAKUWA/floatedit.casl:   37:NONDGT      LAD     GR1,-1,GR1
+../../../../as/YAKUWA/floatedit.casl:   38:    LAD     GR3,0
+../../../../as/YAKUWA/floatedit.casl:   39:    OR      GR3,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl:   40:    JZE     STORE
+../../../../as/YAKUWA/floatedit.casl:   41:SUPPRS      LD      GR0,SPACE
+../../../../as/YAKUWA/floatedit.casl:   42:STORE       LAD     GR2,1,GR2
+../../../../as/YAKUWA/floatedit.casl:   43:    ST      GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl:   44:    POP     GR3
+../../../../as/YAKUWA/floatedit.casl:   45:    CPA     GR1,INLENG
+../../../../as/YAKUWA/floatedit.casl:   46:    JNZ     LOOP
+../../../../as/YAKUWA/floatedit.casl:   47:    LAD     GR2,1,GR2
+../../../../as/YAKUWA/floatedit.casl:   48:    ST      GR2,OTLENG
+../../../../as/YAKUWA/floatedit.casl:   49:    OUT     OTAREA,OTLENG
+../../../../as/YAKUWA/floatedit.casl:   50:    JUMP RETRY
+../../../../as/YAKUWA/floatedit.casl:   51:FINISH      RET
+../../../../as/YAKUWA/floatedit.casl:   52:MASK        DC      '\99,999,990.99'
+../../../../as/YAKUWA/floatedit.casl:   53:SPACE       DC      ' '
+../../../../as/YAKUWA/floatedit.casl:   54:DIGIT0      DC      '0'
+../../../../as/YAKUWA/floatedit.casl:   55:DIGIT9      DC      '9'
+../../../../as/YAKUWA/floatedit.casl:   56:TEN DC      10
+../../../../as/YAKUWA/floatedit.casl:   57:ERRMSG      DC      'input error!'
+../../../../as/YAKUWA/floatedit.casl:   58:MSGLNG      DC      12
+../../../../as/YAKUWA/floatedit.casl:   59:INAREA      DS      80
+../../../../as/YAKUWA/floatedit.casl:   60:INLENG      DS      1
+../../../../as/YAKUWA/floatedit.casl:   61:OTAREA      DS      80
+../../../../as/YAKUWA/floatedit.casl:   62:OTLENG      DS      1
+../../../../as/YAKUWA/floatedit.casl:   63:ZSFLAG      DS      1
+../../../../as/YAKUWA/floatedit.casl:   64:    END
+
+Label::::
+EDIT ---> #0000
+EDIT.SPACE ---> #009A
+EDIT.FINISH ---> #008B
+EDIT.INLENG ---> #00FB
+EDIT.SUPPRS ---> #0068
+EDIT.NOT1ST ---> #005C
+EDIT.DIGIT0 ---> #009B
+EDIT.DIGIT9 ---> #009C
+EDIT.OTAREA ---> #00FC
+EDIT.ENDSPR ---> #004E
+EDIT.ERRMSG ---> #009E
+EDIT.MSGLNG ---> #00AA
+EDIT.LOOP ---> #0034
+EDIT.ZSFLAG ---> #014D
+EDIT.TEN ---> #009D
+EDIT.INAREA ---> #00AB
+EDIT.RETRY ---> #0000
+EDIT.BEGIN ---> #002A
+EDIT.OTLENG ---> #014C
+EDIT.NONDGT ---> #0060
+EDIT.MASK ---> #008C
+EDIT.STORE ---> #006A
+
+Assemble ../../../../as/YAKUWA/floatedit.casl (1)
+../../../../as/YAKUWA/floatedit.casl:    1:EDIT        START
+../../../../as/YAKUWA/floatedit.casl:    2:RETRY       IN      INAREA,INLENG
+       #0000   #7001
+       #0001   #0000
+       #0002   #7002
+       #0003   #0000
+       #0004   #1210
+       #0005   #00AB
+       #0006   #1220
+       #0007   #00FB
+       #0008   #F000
+       #0009   #0001
+       #000A   #7120
+       #000B   #7110
+../../../../as/YAKUWA/floatedit.casl:    3:    LAD     GR1,0
+       #000C   #1210
+       #000D   #0000
+../../../../as/YAKUWA/floatedit.casl:    4:    OR      GR1,INLENG
+       #000E   #3110
+       #000F   #00FB
+../../../../as/YAKUWA/floatedit.casl:    5:    JZE     FINISH
+       #0010   #6300
+       #0011   #008B
+../../../../as/YAKUWA/floatedit.casl:    6:    CPA     GR1,TEN
+       #0012   #4010
+       #0013   #009D
+../../../../as/YAKUWA/floatedit.casl:    7:    JZE     BEGIN
+       #0014   #6300
+       #0015   #002A
+../../../../as/YAKUWA/floatedit.casl:    8:    OUT     ERRMSG,MSGLNG
+       #0016   #7001
+       #0017   #0000
+       #0018   #7002
+       #0019   #0000
+       #001A   #1210
+       #001B   #009E
+       #001C   #1220
+       #001D   #00AA
+       #001E   #F000
+       #001F   #0002
+       #0020   #1210
+       #0021   #014E
+       #014E   #000A
+       #0022   #1220
+       #0023   #014F
+       #014F   #0001
+       #0024   #F000
+       #0025   #0002
+       #0026   #7120
+       #0027   #7110
+../../../../as/YAKUWA/floatedit.casl:    9:    JUMP    RETRY
+       #0028   #6400
+       #0029   #0000
+../../../../as/YAKUWA/floatedit.casl:   10:BEGIN       LAD     GR0,1
+       #002A   #1200
+       #002B   #0001
+../../../../as/YAKUWA/floatedit.casl:   11:    ST      GR0,ZSFLAG
+       #002C   #1100
+       #002D   #014D
+../../../../as/YAKUWA/floatedit.casl:   12:    LAD     GR1,0
+       #002E   #1210
+       #002F   #0000
+../../../../as/YAKUWA/floatedit.casl:   13:    LAD     GR2,-1
+       #0030   #1220
+       #0031   #FFFF
+../../../../as/YAKUWA/floatedit.casl:   14:    LAD     GR3,0
+       #0032   #1230
+       #0033   #0000
+../../../../as/YAKUWA/floatedit.casl:   15:LOOP        LD      GR0,MASK,GR3
+       #0034   #1003
+       #0035   #008C
+../../../../as/YAKUWA/floatedit.casl:   16:    PUSH    1,GR3
+       #0036   #7003
+       #0037   #0001
+../../../../as/YAKUWA/floatedit.casl:   17:    LD      GR3,INAREA,GR1
+       #0038   #1031
+       #0039   #00AB
+../../../../as/YAKUWA/floatedit.casl:   18:    LAD     GR1,1,GR1
+       #003A   #1211
+       #003B   #0001
+../../../../as/YAKUWA/floatedit.casl:   19:    CPL     GR0,DIGIT0
+       #003C   #4100
+       #003D   #009B
+../../../../as/YAKUWA/floatedit.casl:   20:    JZE     ENDSPR
+       #003E   #6300
+       #003F   #004E
+../../../../as/YAKUWA/floatedit.casl:   21:    CPL     GR0,DIGIT9
+       #0040   #4100
+       #0041   #009C
+../../../../as/YAKUWA/floatedit.casl:   22:    JNZ     NONDGT
+       #0042   #6200
+       #0043   #0060
+../../../../as/YAKUWA/floatedit.casl:   23:    CPL     GR3,DIGIT0
+       #0044   #4130
+       #0045   #009B
+../../../../as/YAKUWA/floatedit.casl:   24:    JNZ     ENDSPR
+       #0046   #6200
+       #0047   #004E
+../../../../as/YAKUWA/floatedit.casl:   25:    LAD     GR0,0
+       #0048   #1200
+       #0049   #0000
+../../../../as/YAKUWA/floatedit.casl:   26:    OR      GR0,ZSFLAG
+       #004A   #3100
+       #004B   #014D
+../../../../as/YAKUWA/floatedit.casl:   27:    JNZ     SUPPRS
+       #004C   #6200
+       #004D   #0068
+../../../../as/YAKUWA/floatedit.casl:   28:ENDSPR      LD      GR0,OTAREA,GR2
+       #004E   #1002
+       #004F   #00FC
+../../../../as/YAKUWA/floatedit.casl:   29:    CPL     GR0,SPACE
+       #0050   #4100
+       #0051   #009A
+../../../../as/YAKUWA/floatedit.casl:   30:    JNZ     NOT1ST
+       #0052   #6200
+       #0053   #005C
+../../../../as/YAKUWA/floatedit.casl:   31:    LD      GR0,MASK
+       #0054   #1000
+       #0055   #008C
+../../../../as/YAKUWA/floatedit.casl:   32:    ST      GR0,OTAREA,GR2
+       #0056   #1102
+       #0057   #00FC
+../../../../as/YAKUWA/floatedit.casl:   33:    LAD     GR0,0
+       #0058   #1200
+       #0059   #0000
+../../../../as/YAKUWA/floatedit.casl:   34:    ST      GR0,ZSFLAG
+       #005A   #1100
+       #005B   #014D
+../../../../as/YAKUWA/floatedit.casl:   35:NOT1ST      LAD     GR0,0,GR3
+       #005C   #1203
+       #005D   #0000
+../../../../as/YAKUWA/floatedit.casl:   36:    JUMP    STORE
+       #005E   #6400
+       #005F   #006A
+../../../../as/YAKUWA/floatedit.casl:   37:NONDGT      LAD     GR1,-1,GR1
+       #0060   #1211
+       #0061   #FFFF
+../../../../as/YAKUWA/floatedit.casl:   38:    LAD     GR3,0
+       #0062   #1230
+       #0063   #0000
+../../../../as/YAKUWA/floatedit.casl:   39:    OR      GR3,ZSFLAG
+       #0064   #3130
+       #0065   #014D
+../../../../as/YAKUWA/floatedit.casl:   40:    JZE     STORE
+       #0066   #6300
+       #0067   #006A
+../../../../as/YAKUWA/floatedit.casl:   41:SUPPRS      LD      GR0,SPACE
+       #0068   #1000
+       #0069   #009A
+../../../../as/YAKUWA/floatedit.casl:   42:STORE       LAD     GR2,1,GR2
+       #006A   #1222
+       #006B   #0001
+../../../../as/YAKUWA/floatedit.casl:   43:    ST      GR0,OTAREA,GR2
+       #006C   #1102
+       #006D   #00FC
+../../../../as/YAKUWA/floatedit.casl:   44:    POP     GR3
+       #006E   #7130
+../../../../as/YAKUWA/floatedit.casl:   45:    CPA     GR1,INLENG
+       #006F   #4010
+       #0070   #00FB
+../../../../as/YAKUWA/floatedit.casl:   46:    JNZ     LOOP
+       #0071   #6200
+       #0072   #0034
+../../../../as/YAKUWA/floatedit.casl:   47:    LAD     GR2,1,GR2
+       #0073   #1222
+       #0074   #0001
+../../../../as/YAKUWA/floatedit.casl:   48:    ST      GR2,OTLENG
+       #0075   #1120
+       #0076   #014C
+../../../../as/YAKUWA/floatedit.casl:   49:    OUT     OTAREA,OTLENG
+       #0077   #7001
+       #0078   #0000
+       #0079   #7002
+       #007A   #0000
+       #007B   #1210
+       #007C   #00FC
+       #007D   #1220
+       #007E   #014C
+       #007F   #F000
+       #0080   #0002
+       #0081   #1210
+       #0082   #0150
+       #0150   #000A
+       #0083   #1220
+       #0084   #0151
+       #0151   #0001
+       #0085   #F000
+       #0086   #0002
+       #0087   #7120
+       #0088   #7110
+../../../../as/YAKUWA/floatedit.casl:   50:    JUMP RETRY
+       #0089   #6400
+       #008A   #0000
+../../../../as/YAKUWA/floatedit.casl:   51:FINISH      RET
+       #008B   #8100
+../../../../as/YAKUWA/floatedit.casl:   52:MASK        DC      '\99,999,990.99'
+       #008C   #005C
+       #008D   #0039
+       #008E   #0039
+       #008F   #002C
+       #0090   #0039
+       #0091   #0039
+       #0092   #0039
+       #0093   #002C
+       #0094   #0039
+       #0095   #0039
+       #0096   #0030
+       #0097   #002E
+       #0098   #0039
+       #0099   #0039
+../../../../as/YAKUWA/floatedit.casl:   53:SPACE       DC      ' '
+       #009A   #0020
+../../../../as/YAKUWA/floatedit.casl:   54:DIGIT0      DC      '0'
+       #009B   #0030
+../../../../as/YAKUWA/floatedit.casl:   55:DIGIT9      DC      '9'
+       #009C   #0039
+../../../../as/YAKUWA/floatedit.casl:   56:TEN DC      10
+       #009D   #000A
+../../../../as/YAKUWA/floatedit.casl:   57:ERRMSG      DC      'input error!'
+       #009E   #0069
+       #009F   #006E
+       #00A0   #0070
+       #00A1   #0075
+       #00A2   #0074
+       #00A3   #0020
+       #00A4   #0065
+       #00A5   #0072
+       #00A6   #0072
+       #00A7   #006F
+       #00A8   #0072
+       #00A9   #0021
+../../../../as/YAKUWA/floatedit.casl:   58:MSGLNG      DC      12
+       #00AA   #000C
+../../../../as/YAKUWA/floatedit.casl:   59:INAREA      DS      80
+       #00AB   #0000
+       #00AC   #0000
+       #00AD   #0000
+       #00AE   #0000
+       #00AF   #0000
+       #00B0   #0000
+       #00B1   #0000
+       #00B2   #0000
+       #00B3   #0000
+       #00B4   #0000
+       #00B5   #0000
+       #00B6   #0000
+       #00B7   #0000
+       #00B8   #0000
+       #00B9   #0000
+       #00BA   #0000
+       #00BB   #0000
+       #00BC   #0000
+       #00BD   #0000
+       #00BE   #0000
+       #00BF   #0000
+       #00C0   #0000
+       #00C1   #0000
+       #00C2   #0000
+       #00C3   #0000
+       #00C4   #0000
+       #00C5   #0000
+       #00C6   #0000
+       #00C7   #0000
+       #00C8   #0000
+       #00C9   #0000
+       #00CA   #0000
+       #00CB   #0000
+       #00CC   #0000
+       #00CD   #0000
+       #00CE   #0000
+       #00CF   #0000
+       #00D0   #0000
+       #00D1   #0000
+       #00D2   #0000
+       #00D3   #0000
+       #00D4   #0000
+       #00D5   #0000
+       #00D6   #0000
+       #00D7   #0000
+       #00D8   #0000
+       #00D9   #0000
+       #00DA   #0000
+       #00DB   #0000
+       #00DC   #0000
+       #00DD   #0000
+       #00DE   #0000
+       #00DF   #0000
+       #00E0   #0000
+       #00E1   #0000
+       #00E2   #0000
+       #00E3   #0000
+       #00E4   #0000
+       #00E5   #0000
+       #00E6   #0000
+       #00E7   #0000
+       #00E8   #0000
+       #00E9   #0000
+       #00EA   #0000
+       #00EB   #0000
+       #00EC   #0000
+       #00ED   #0000
+       #00EE   #0000
+       #00EF   #0000
+       #00F0   #0000
+       #00F1   #0000
+       #00F2   #0000
+       #00F3   #0000
+       #00F4   #0000
+       #00F5   #0000
+       #00F6   #0000
+       #00F7   #0000
+       #00F8   #0000
+       #00F9   #0000
+       #00FA   #0000
+../../../../as/YAKUWA/floatedit.casl:   60:INLENG      DS      1
+       #00FB   #0000
+../../../../as/YAKUWA/floatedit.casl:   61:OTAREA      DS      80
+       #00FC   #0000
+       #00FD   #0000
+       #00FE   #0000
+       #00FF   #0000
+       #0100   #0000
+       #0101   #0000
+       #0102   #0000
+       #0103   #0000
+       #0104   #0000
+       #0105   #0000
+       #0106   #0000
+       #0107   #0000
+       #0108   #0000
+       #0109   #0000
+       #010A   #0000
+       #010B   #0000
+       #010C   #0000
+       #010D   #0000
+       #010E   #0000
+       #010F   #0000
+       #0110   #0000
+       #0111   #0000
+       #0112   #0000
+       #0113   #0000
+       #0114   #0000
+       #0115   #0000
+       #0116   #0000
+       #0117   #0000
+       #0118   #0000
+       #0119   #0000
+       #011A   #0000
+       #011B   #0000
+       #011C   #0000
+       #011D   #0000
+       #011E   #0000
+       #011F   #0000
+       #0120   #0000
+       #0121   #0000
+       #0122   #0000
+       #0123   #0000
+       #0124   #0000
+       #0125   #0000
+       #0126   #0000
+       #0127   #0000
+       #0128   #0000
+       #0129   #0000
+       #012A   #0000
+       #012B   #0000
+       #012C   #0000
+       #012D   #0000
+       #012E   #0000
+       #012F   #0000
+       #0130   #0000
+       #0131   #0000
+       #0132   #0000
+       #0133   #0000
+       #0134   #0000
+       #0135   #0000
+       #0136   #0000
+       #0137   #0000
+       #0138   #0000
+       #0139   #0000
+       #013A   #0000
+       #013B   #0000
+       #013C   #0000
+       #013D   #0000
+       #013E   #0000
+       #013F   #0000
+       #0140   #0000
+       #0141   #0000
+       #0142   #0000
+       #0143   #0000
+       #0144   #0000
+       #0145   #0000
+       #0146   #0000
+       #0147   #0000
+       #0148   #0000
+       #0149   #0000
+       #014A   #0000
+       #014B   #0000
+../../../../as/YAKUWA/floatedit.casl:   62:OTLENG      DS      1
+       #014C   #0000
+../../../../as/YAKUWA/floatedit.casl:   63:ZSFLAG      DS      1
+       #014D   #0000
+../../../../as/YAKUWA/floatedit.casl:   64:    END
+input error!
+input error!
+input error!
+\12,345,678.90
+\12,345,678.09
+ \2,234,568.19
+ \2,234,068.19
+         \0.01
diff --git a/as/yakuwa/floatedit/report.txt b/as/yakuwa/floatedit/report.txt
new file mode 100644 (file)
index 0000000..382b807
--- /dev/null
@@ -0,0 +1 @@
+floatedit: Test Success 2010-02-07 18:16:38
diff --git a/test/integration/casl2/abs_call/Makefile b/test/integration/casl2/abs_call/Makefile
deleted file mode 100644 (file)
index a83a47d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-include ../CMD.mk    # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/abs_call.casl $(ASDIR)/abs.casl $(ASDIR)/outa_main.casl $(ASDIR)/divl1.casl $(ASDIR)/rev.casl
-CMD = $(CASL2) $(ASFILE)
-include ../TEST.mk
index f524010..739adba 100644 (file)
@@ -1,584 +1,4 @@
-../../../../casl2 -latd ../../../../as/CMD/out1.casl
-
-Assemble ../../../../as/CMD/out1.casl (0)
-
-Label::::
-OTEST.IOLEN ---> #0029
-OTEST ---> #0000
-OTEST.IOBUF ---> #0013
-
-Assemble ../../../../as/CMD/out1.casl (1)
-../../../../as/CMD/out1.casl:    1:;;; OUTの使用例
-../../../../as/CMD/out1.casl:    2:OTEST   START
-../../../../as/CMD/out1.casl:    3:        OUT     IOBUF,IOLEN
-       #0000   #7001
-       #0001   #0000
-       #0002   #7002
-       #0003   #0000
-       #0004   #1210
-       #0005   #0013
-       #0006   #1220
-       #0007   #0029
-       #0008   #F000
-       #0009   #0002
-       #000A   #1210
-       #000B   #002A
-       #002A   #000A
-       #000C   #1220
-       #000D   #002B
-       #002B   #0001
-       #000E   #F000
-       #000F   #0002
-       #0010   #7120
-       #0011   #7110
-../../../../as/CMD/out1.casl:    4:        RET
-       #0012   #8100
-../../../../as/CMD/out1.casl:    5:IOBUF   DC      'aaaa',10,'b','c',10,'as','qwerty','111111'
-       #0013   #0061
-       #0014   #0061
-       #0015   #0061
-       #0016   #0061
-       #0017   #000A
-       #0018   #0062
-       #0019   #0063
-       #001A   #000A
-       #001B   #0061
-       #001C   #0073
-       #001D   #0071
-       #001E   #0077
-       #001F   #0065
-       #0020   #0072
-       #0021   #0074
-       #0022   #0079
-       #0023   #0031
-       #0024   #0031
-       #0025   #0031
-       #0026   #0031
-       #0027   #0031
-       #0028   #0031
-../../../../as/CMD/out1.casl:    6:IOLEN   DC      24
-       #0029   #0018
-../../../../as/CMD/out1.casl:    7:        END
-
-Executing machine codes
-#0000: Register::::
-#0000: GR0:      0 = #0000 = 0000000000000000
-#0000: GR1:      0 = #0000 = 0000000000000000
-#0000: GR2:      0 = #0000 = 0000000000000000
-#0000: GR3:      0 = #0000 = 0000000000000000
-#0000: GR4:      0 = #0000 = 0000000000000000
-#0000: GR5:      0 = #0000 = 0000000000000000
-#0000: GR6:      0 = #0000 = 0000000000000000
-#0000: GR7:      0 = #0000 = 0000000000000000
-#0000: SP:     512 = #0200 = 0000001000000000
-#0000: PR:       0 = #0000 = 0000000000000000
-#0000: FR (OF SF ZF): 000
-#0000: Memory::::
-#0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0000: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0000: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0002: Register::::
-#0002: GR0:      0 = #0000 = 0000000000000000
-#0002: GR1:      0 = #0000 = 0000000000000000
-#0002: GR2:      0 = #0000 = 0000000000000000
-#0002: GR3:      0 = #0000 = 0000000000000000
-#0002: GR4:      0 = #0000 = 0000000000000000
-#0002: GR5:      0 = #0000 = 0000000000000000
-#0002: GR6:      0 = #0000 = 0000000000000000
-#0002: GR7:      0 = #0000 = 0000000000000000
-#0002: SP:     511 = #01FF = 0000000111111111
-#0002: PR:       2 = #0002 = 0000000000000010
-#0002: FR (OF SF ZF): 000
-#0002: Memory::::
-#0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0002: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0002: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0004: Register::::
-#0004: GR0:      0 = #0000 = 0000000000000000
-#0004: GR1:      0 = #0000 = 0000000000000000
-#0004: GR2:      0 = #0000 = 0000000000000000
-#0004: GR3:      0 = #0000 = 0000000000000000
-#0004: GR4:      0 = #0000 = 0000000000000000
-#0004: GR5:      0 = #0000 = 0000000000000000
-#0004: GR6:      0 = #0000 = 0000000000000000
-#0004: GR7:      0 = #0000 = 0000000000000000
-#0004: SP:     510 = #01FE = 0000000111111110
-#0004: PR:       4 = #0004 = 0000000000000100
-#0004: FR (OF SF ZF): 000
-#0004: Memory::::
-#0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0004: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0004: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0006: Register::::
-#0006: GR0:      0 = #0000 = 0000000000000000
-#0006: GR1:     19 = #0013 = 0000000000010011
-#0006: GR2:      0 = #0000 = 0000000000000000
-#0006: GR3:      0 = #0000 = 0000000000000000
-#0006: GR4:      0 = #0000 = 0000000000000000
-#0006: GR5:      0 = #0000 = 0000000000000000
-#0006: GR6:      0 = #0000 = 0000000000000000
-#0006: GR7:      0 = #0000 = 0000000000000000
-#0006: SP:     510 = #01FE = 0000000111111110
-#0006: PR:       6 = #0006 = 0000000000000110
-#0006: FR (OF SF ZF): 000
-#0006: Memory::::
-#0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0006: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0006: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0008: Register::::
-#0008: GR0:      0 = #0000 = 0000000000000000
-#0008: GR1:     19 = #0013 = 0000000000010011
-#0008: GR2:     41 = #0029 = 0000000000101001 = ')'
-#0008: GR3:      0 = #0000 = 0000000000000000
-#0008: GR4:      0 = #0000 = 0000000000000000
-#0008: GR5:      0 = #0000 = 0000000000000000
-#0008: GR6:      0 = #0000 = 0000000000000000
-#0008: GR7:      0 = #0000 = 0000000000000000
-#0008: SP:     510 = #01FE = 0000000111111110
-#0008: PR:       8 = #0008 = 0000000000001000
-#0008: FR (OF SF ZF): 000
-#0008: Memory::::
-#0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0008: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0008: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-aaaa
-bc
-asqwerty111111.
-#000A: Register::::
-#000A: GR0:      0 = #0000 = 0000000000000000
-#000A: GR1:     19 = #0013 = 0000000000010011
-#000A: GR2:     41 = #0029 = 0000000000101001 = ')'
-#000A: GR3:      0 = #0000 = 0000000000000000
-#000A: GR4:      0 = #0000 = 0000000000000000
-#000A: GR5:      0 = #0000 = 0000000000000000
-#000A: GR6:      0 = #0000 = 0000000000000000
-#000A: GR7:      0 = #0000 = 0000000000000000
-#000A: SP:     510 = #01FE = 0000000111111110
-#000A: PR:      10 = #000A = 0000000000001010
-#000A: FR (OF SF ZF): 000
-#000A: Memory::::
-#000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000A: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000A: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#000C: Register::::
-#000C: GR0:      0 = #0000 = 0000000000000000
-#000C: GR1:     42 = #002A = 0000000000101010 = '*'
-#000C: GR2:     41 = #0029 = 0000000000101001 = ')'
-#000C: GR3:      0 = #0000 = 0000000000000000
-#000C: GR4:      0 = #0000 = 0000000000000000
-#000C: GR5:      0 = #0000 = 0000000000000000
-#000C: GR6:      0 = #0000 = 0000000000000000
-#000C: GR7:      0 = #0000 = 0000000000000000
-#000C: SP:     510 = #01FE = 0000000111111110
-#000C: PR:      12 = #000C = 0000000000001100
-#000C: FR (OF SF ZF): 000
-#000C: Memory::::
-#000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000C: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000C: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#000E: Register::::
-#000E: GR0:      0 = #0000 = 0000000000000000
-#000E: GR1:     42 = #002A = 0000000000101010 = '*'
-#000E: GR2:     43 = #002B = 0000000000101011 = '+'
-#000E: GR3:      0 = #0000 = 0000000000000000
-#000E: GR4:      0 = #0000 = 0000000000000000
-#000E: GR5:      0 = #0000 = 0000000000000000
-#000E: GR6:      0 = #0000 = 0000000000000000
-#000E: GR7:      0 = #0000 = 0000000000000000
-#000E: SP:     510 = #01FE = 0000000111111110
-#000E: PR:      14 = #000E = 0000000000001110
-#000E: FR (OF SF ZF): 000
-#000E: Memory::::
-#000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000E: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000E: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-
-#0010: Register::::
-#0010: GR0:      0 = #0000 = 0000000000000000
-#0010: GR1:     42 = #002A = 0000000000101010 = '*'
-#0010: GR2:     43 = #002B = 0000000000101011 = '+'
-#0010: GR3:      0 = #0000 = 0000000000000000
-#0010: GR4:      0 = #0000 = 0000000000000000
-#0010: GR5:      0 = #0000 = 0000000000000000
-#0010: GR6:      0 = #0000 = 0000000000000000
-#0010: GR7:      0 = #0000 = 0000000000000000
-#0010: SP:     510 = #01FE = 0000000111111110
-#0010: PR:      16 = #0010 = 0000000000010000
-#0010: FR (OF SF ZF): 000
-#0010: Memory::::
-#0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0010: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0010: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0011: Register::::
-#0011: GR0:      0 = #0000 = 0000000000000000
-#0011: GR1:     42 = #002A = 0000000000101010 = '*'
-#0011: GR2:      0 = #0000 = 0000000000000000
-#0011: GR3:      0 = #0000 = 0000000000000000
-#0011: GR4:      0 = #0000 = 0000000000000000
-#0011: GR5:      0 = #0000 = 0000000000000000
-#0011: GR6:      0 = #0000 = 0000000000000000
-#0011: GR7:      0 = #0000 = 0000000000000000
-#0011: SP:     511 = #01FF = 0000000111111111
-#0011: PR:      17 = #0011 = 0000000000010001
-#0011: FR (OF SF ZF): 000
-#0011: Memory::::
-#0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0011: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0011: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0012: Register::::
-#0012: GR0:      0 = #0000 = 0000000000000000
-#0012: GR1:      0 = #0000 = 0000000000000000
-#0012: GR2:      0 = #0000 = 0000000000000000
-#0012: GR3:      0 = #0000 = 0000000000000000
-#0012: GR4:      0 = #0000 = 0000000000000000
-#0012: GR5:      0 = #0000 = 0000000000000000
-#0012: GR6:      0 = #0000 = 0000000000000000
-#0012: GR7:      0 = #0000 = 0000000000000000
-#0012: SP:     512 = #0200 = 0000001000000000
-#0012: PR:      18 = #0012 = 0000000000010010
-#0012: FR (OF SF ZF): 000
-#0012: Memory::::
-#0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0012: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0012: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
+../../../../casl2 ../../../../as/cmd/OUT/out1.casl
+Assemble error - 123: ' !"#$%&''()*+,-./0123456789:: illegal string
+ ../../../../as/cmd/OUT/out1.casl:10: BUF2    DC      ' !"#$%&''()*+,-./0123456789:;<=>?'
 
index c87fbd6..9e2b516 100644 (file)
@@ -1,6 +1,5 @@
 include ../CMD.mk    # YACASL2DIR, CASL2
-CASL2FLAG = -latd
-ASDIR = $(YACASL2DIR)/as/CMD
+ASDIR = $(YACASL2DIR)/as/cmd/OUT
 ASFILE = $(ASDIR)/out1.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
+CMD = $(CASL2) $(ASFILE)
 include ../TEST.mk
diff --git a/test/integration/casl2/divl1_call/Makefile b/test/integration/casl2/divl1_call/Makefile
deleted file mode 100644 (file)
index f566163..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-include ../CMD.mk    # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/divl_call.casl $(ASDIR)/divl1.casl $(ASDIR)/outl_main.casl $(ASDIR)/rev.casl
-CMD = $(CASL2) $(ASFILE)
-include ../TEST.mk
diff --git a/test/integration/casl2/ds_err/0.txt b/test/integration/casl2/ds_err/0.txt
deleted file mode 100644 (file)
index 908ba09..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-../../../../casl2 -slatd ../../../../as/ERR/ds_err.casl
-
-Assemble ../../../../as/ERR/ds_err.casl (0)
-../../../../as/ERR/ds_err.casl:    1:MAIN    START
-../../../../as/ERR/ds_err.casl:    2:        LAD     GR0,=10
-../../../../as/ERR/ds_err.casl:    3:        ST      GR0,A
-../../../../as/ERR/ds_err.casl:    4:A       DS
-Assemble error - 106: operand count mismatch
- ../../../../as/ERR/ds_err.casl:4: A       DS
-
diff --git a/test/integration/casl2/err_dserr/0.txt b/test/integration/casl2/err_dserr/0.txt
new file mode 100644 (file)
index 0000000..c8272bf
--- /dev/null
@@ -0,0 +1,10 @@
+../../../../casl2 -slatd ../../../../as/err/ds_err.casl
+
+Assemble ../../../../as/err/ds_err.casl (0)
+../../../../as/err/ds_err.casl:    1:MAIN    START
+../../../../as/err/ds_err.casl:    2:        LAD     GR0,=10
+../../../../as/err/ds_err.casl:    3:        ST      GR0,A
+../../../../as/err/ds_err.casl:    4:A       DS
+Assemble error - 106: operand count mismatch
+ ../../../../as/err/ds_err.casl:4: A       DS
+
similarity index 59%
rename from test/integration/casl2/ds_err/Makefile
rename to test/integration/casl2/err_dserr/Makefile
index dd5dbaa..0229353 100644 (file)
@@ -1,6 +1,6 @@
 include ../CMD.mk    # YACASL2DIR, CASL2
 CASL2FLAG = -slatd
-ASDIR = $(YACASL2DIR)/as/ERR
+ASDIR = $(YACASL2DIR)/as/err
 ASFILE = $(ASDIR)/ds_err.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
+CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
 include ../TEST.mk
index fa8412a..c204ebb 100644 (file)
@@ -1,52 +1,52 @@
-../../../../casl2 -sla ../../../../as/FUNC/hanoi.casl
+../../../../casl2 -sla ../../../../as/misc/hanoi.casl
 
-Assemble ../../../../as/FUNC/hanoi.casl (0)
-../../../../as/FUNC/hanoi.casl:    1:; ハノイの塔を解くプログラム
-../../../../as/FUNC/hanoi.casl:    2:MAIN    START
-../../../../as/FUNC/hanoi.casl:    3:        LD      GR0,N
-../../../../as/FUNC/hanoi.casl:    4:        LD      GR1,A
-../../../../as/FUNC/hanoi.casl:    5:        LD      GR2,B
-../../../../as/FUNC/hanoi.casl:    6:        LD      GR3,C
-../../../../as/FUNC/hanoi.casl:    7:        CALL    HANOI
-../../../../as/FUNC/hanoi.casl:    8:        RET
-../../../../as/FUNC/hanoi.casl:    9:HANOI   CPA     GR0,=1
-../../../../as/FUNC/hanoi.casl:   10:        JZE     DISP
-../../../../as/FUNC/hanoi.casl:   11:        SUBA    GR0,=1
-../../../../as/FUNC/hanoi.casl:   12:        PUSH    0,GR2
-../../../../as/FUNC/hanoi.casl:   13:        PUSH    0,GR3
-../../../../as/FUNC/hanoi.casl:   14:        POP     GR2
-../../../../as/FUNC/hanoi.casl:   15:        POP     GR3
-../../../../as/FUNC/hanoi.casl:   16:        CALL    HANOI
-../../../../as/FUNC/hanoi.casl:   17:        PUSH    0,GR2
-../../../../as/FUNC/hanoi.casl:   18:        PUSH    0,GR3
-../../../../as/FUNC/hanoi.casl:   19:        POP     GR2
-../../../../as/FUNC/hanoi.casl:   20:        POP     GR3
-../../../../as/FUNC/hanoi.casl:   21:        CALL    DISP
-../../../../as/FUNC/hanoi.casl:   22:        PUSH    0,GR1
-../../../../as/FUNC/hanoi.casl:   23:        PUSH    0,GR2
-../../../../as/FUNC/hanoi.casl:   24:        POP     GR1
-../../../../as/FUNC/hanoi.casl:   25:        POP     GR2
-../../../../as/FUNC/hanoi.casl:   26:        CALL    HANOI
-../../../../as/FUNC/hanoi.casl:   27:        PUSH    0,GR1
-../../../../as/FUNC/hanoi.casl:   28:        PUSH    0,GR2
-../../../../as/FUNC/hanoi.casl:   29:        POP     GR1
-../../../../as/FUNC/hanoi.casl:   30:        POP     GR2
-../../../../as/FUNC/hanoi.casl:   31:        ADDA    GR0,=1
-../../../../as/FUNC/hanoi.casl:   32:        RET
-../../../../as/FUNC/hanoi.casl:   33:DISP    ST      GR1,MSG1
-../../../../as/FUNC/hanoi.casl:   34:        ST      GR3,MSG2
-../../../../as/FUNC/hanoi.casl:   35:        OUT     MSG,LNG
-../../../../as/FUNC/hanoi.casl:   36:        RET
-../../../../as/FUNC/hanoi.casl:   37:N       DC      3               ; 輪の総数
-../../../../as/FUNC/hanoi.casl:   38:LNG     DC      11              ; メッセージの長さ
-../../../../as/FUNC/hanoi.casl:   39:A       DC      'A'
-../../../../as/FUNC/hanoi.casl:   40:B       DC      'B'
-../../../../as/FUNC/hanoi.casl:   41:C       DC      'C'
-../../../../as/FUNC/hanoi.casl:   42:MSG     DC      'from '
-../../../../as/FUNC/hanoi.casl:   43:MSG1    DS      1
-../../../../as/FUNC/hanoi.casl:   44:        DC      ' to '
-../../../../as/FUNC/hanoi.casl:   45:MSG2    DS      1
-../../../../as/FUNC/hanoi.casl:   46:        END
+Assemble ../../../../as/misc/hanoi.casl (0)
+../../../../as/misc/hanoi.casl:    1:; ハノイの塔を解くプログラム
+../../../../as/misc/hanoi.casl:    2:MAIN    START
+../../../../as/misc/hanoi.casl:    3:        LD      GR0,N
+../../../../as/misc/hanoi.casl:    4:        LD      GR1,A
+../../../../as/misc/hanoi.casl:    5:        LD      GR2,B
+../../../../as/misc/hanoi.casl:    6:        LD      GR3,C
+../../../../as/misc/hanoi.casl:    7:        CALL    HANOI
+../../../../as/misc/hanoi.casl:    8:        RET
+../../../../as/misc/hanoi.casl:    9:HANOI   CPA     GR0,=1
+../../../../as/misc/hanoi.casl:   10:        JZE     DISP
+../../../../as/misc/hanoi.casl:   11:        SUBA    GR0,=1
+../../../../as/misc/hanoi.casl:   12:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   13:        PUSH    0,GR3
+../../../../as/misc/hanoi.casl:   14:        POP     GR2
+../../../../as/misc/hanoi.casl:   15:        POP     GR3
+../../../../as/misc/hanoi.casl:   16:        CALL    HANOI
+../../../../as/misc/hanoi.casl:   17:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   18:        PUSH    0,GR3
+../../../../as/misc/hanoi.casl:   19:        POP     GR2
+../../../../as/misc/hanoi.casl:   20:        POP     GR3
+../../../../as/misc/hanoi.casl:   21:        CALL    DISP
+../../../../as/misc/hanoi.casl:   22:        PUSH    0,GR1
+../../../../as/misc/hanoi.casl:   23:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   24:        POP     GR1
+../../../../as/misc/hanoi.casl:   25:        POP     GR2
+../../../../as/misc/hanoi.casl:   26:        CALL    HANOI
+../../../../as/misc/hanoi.casl:   27:        PUSH    0,GR1
+../../../../as/misc/hanoi.casl:   28:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   29:        POP     GR1
+../../../../as/misc/hanoi.casl:   30:        POP     GR2
+../../../../as/misc/hanoi.casl:   31:        ADDA    GR0,=1
+../../../../as/misc/hanoi.casl:   32:        RET
+../../../../as/misc/hanoi.casl:   33:DISP    ST      GR1,MSG1
+../../../../as/misc/hanoi.casl:   34:        ST      GR3,MSG2
+../../../../as/misc/hanoi.casl:   35:        OUT     MSG,LNG
+../../../../as/misc/hanoi.casl:   36:        RET
+../../../../as/misc/hanoi.casl:   37:N       DC      3               ; 輪の総数
+../../../../as/misc/hanoi.casl:   38:LNG     DC      11              ; メッセージの長さ
+../../../../as/misc/hanoi.casl:   39:A       DC      'A'
+../../../../as/misc/hanoi.casl:   40:B       DC      'B'
+../../../../as/misc/hanoi.casl:   41:C       DC      'C'
+../../../../as/misc/hanoi.casl:   42:MSG     DC      'from '
+../../../../as/misc/hanoi.casl:   43:MSG1    DS      1
+../../../../as/misc/hanoi.casl:   44:        DC      ' to '
+../../../../as/misc/hanoi.casl:   45:MSG2    DS      1
+../../../../as/misc/hanoi.casl:   46:        END
 
 Label::::
 MAIN.MSG ---> #004E
@@ -61,99 +61,99 @@ MAIN ---> #0000
 MAIN.DISP ---> #0032
 MAIN.HANOI ---> #000B
 
-Assemble ../../../../as/FUNC/hanoi.casl (1)
-../../../../as/FUNC/hanoi.casl:    1:; ハノイの塔を解くプログラム
-../../../../as/FUNC/hanoi.casl:    2:MAIN    START
-../../../../as/FUNC/hanoi.casl:    3:        LD      GR0,N
+Assemble ../../../../as/misc/hanoi.casl (1)
+../../../../as/misc/hanoi.casl:    1:; ハノイの塔を解くプログラム
+../../../../as/misc/hanoi.casl:    2:MAIN    START
+../../../../as/misc/hanoi.casl:    3:        LD      GR0,N
        #0000   #1000
        #0001   #0049
-../../../../as/FUNC/hanoi.casl:    4:        LD      GR1,A
+../../../../as/misc/hanoi.casl:    4:        LD      GR1,A
        #0002   #1010
        #0003   #004B
-../../../../as/FUNC/hanoi.casl:    5:        LD      GR2,B
+../../../../as/misc/hanoi.casl:    5:        LD      GR2,B
        #0004   #1020
        #0005   #004C
-../../../../as/FUNC/hanoi.casl:    6:        LD      GR3,C
+../../../../as/misc/hanoi.casl:    6:        LD      GR3,C
        #0006   #1030
        #0007   #004D
-../../../../as/FUNC/hanoi.casl:    7:        CALL    HANOI
+../../../../as/misc/hanoi.casl:    7:        CALL    HANOI
        #0008   #8000
        #0009   #000B
-../../../../as/FUNC/hanoi.casl:    8:        RET
+../../../../as/misc/hanoi.casl:    8:        RET
        #000A   #8100
-../../../../as/FUNC/hanoi.casl:    9:HANOI   CPA     GR0,=1
+../../../../as/misc/hanoi.casl:    9:HANOI   CPA     GR0,=1
        #0059   #0001
        #000B   #4000
        #000C   #0059
-../../../../as/FUNC/hanoi.casl:   10:        JZE     DISP
+../../../../as/misc/hanoi.casl:   10:        JZE     DISP
        #000D   #6300
        #000E   #0032
-../../../../as/FUNC/hanoi.casl:   11:        SUBA    GR0,=1
+../../../../as/misc/hanoi.casl:   11:        SUBA    GR0,=1
        #005A   #0001
        #000F   #2100
        #0010   #005A
-../../../../as/FUNC/hanoi.casl:   12:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   12:        PUSH    0,GR2
        #0011   #7002
        #0012   #0000
-../../../../as/FUNC/hanoi.casl:   13:        PUSH    0,GR3
+../../../../as/misc/hanoi.casl:   13:        PUSH    0,GR3
        #0013   #7003
        #0014   #0000
-../../../../as/FUNC/hanoi.casl:   14:        POP     GR2
+../../../../as/misc/hanoi.casl:   14:        POP     GR2
        #0015   #7120
-../../../../as/FUNC/hanoi.casl:   15:        POP     GR3
+../../../../as/misc/hanoi.casl:   15:        POP     GR3
        #0016   #7130
-../../../../as/FUNC/hanoi.casl:   16:        CALL    HANOI
+../../../../as/misc/hanoi.casl:   16:        CALL    HANOI
        #0017   #8000
        #0018   #000B
-../../../../as/FUNC/hanoi.casl:   17:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   17:        PUSH    0,GR2
        #0019   #7002
        #001A   #0000
-../../../../as/FUNC/hanoi.casl:   18:        PUSH    0,GR3
+../../../../as/misc/hanoi.casl:   18:        PUSH    0,GR3
        #001B   #7003
        #001C   #0000
-../../../../as/FUNC/hanoi.casl:   19:        POP     GR2
+../../../../as/misc/hanoi.casl:   19:        POP     GR2
        #001D   #7120
-../../../../as/FUNC/hanoi.casl:   20:        POP     GR3
+../../../../as/misc/hanoi.casl:   20:        POP     GR3
        #001E   #7130
-../../../../as/FUNC/hanoi.casl:   21:        CALL    DISP
+../../../../as/misc/hanoi.casl:   21:        CALL    DISP
        #001F   #8000
        #0020   #0032
-../../../../as/FUNC/hanoi.casl:   22:        PUSH    0,GR1
+../../../../as/misc/hanoi.casl:   22:        PUSH    0,GR1
        #0021   #7001
        #0022   #0000
-../../../../as/FUNC/hanoi.casl:   23:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   23:        PUSH    0,GR2
        #0023   #7002
        #0024   #0000
-../../../../as/FUNC/hanoi.casl:   24:        POP     GR1
+../../../../as/misc/hanoi.casl:   24:        POP     GR1
        #0025   #7110
-../../../../as/FUNC/hanoi.casl:   25:        POP     GR2
+../../../../as/misc/hanoi.casl:   25:        POP     GR2
        #0026   #7120
-../../../../as/FUNC/hanoi.casl:   26:        CALL    HANOI
+../../../../as/misc/hanoi.casl:   26:        CALL    HANOI
        #0027   #8000
        #0028   #000B
-../../../../as/FUNC/hanoi.casl:   27:        PUSH    0,GR1
+../../../../as/misc/hanoi.casl:   27:        PUSH    0,GR1
        #0029   #7001
        #002A   #0000
-../../../../as/FUNC/hanoi.casl:   28:        PUSH    0,GR2
+../../../../as/misc/hanoi.casl:   28:        PUSH    0,GR2
        #002B   #7002
        #002C   #0000
-../../../../as/FUNC/hanoi.casl:   29:        POP     GR1
+../../../../as/misc/hanoi.casl:   29:        POP     GR1
        #002D   #7110
-../../../../as/FUNC/hanoi.casl:   30:        POP     GR2
+../../../../as/misc/hanoi.casl:   30:        POP     GR2
        #002E   #7120
-../../../../as/FUNC/hanoi.casl:   31:        ADDA    GR0,=1
+../../../../as/misc/hanoi.casl:   31:        ADDA    GR0,=1
        #005B   #0001
        #002F   #2000
        #0030   #005B
-../../../../as/FUNC/hanoi.casl:   32:        RET
+../../../../as/misc/hanoi.casl:   32:        RET
        #0031   #8100
-../../../../as/FUNC/hanoi.casl:   33:DISP    ST      GR1,MSG1
+../../../../as/misc/hanoi.casl:   33:DISP    ST      GR1,MSG1
        #0032   #1110
        #0033   #0053
-../../../../as/FUNC/hanoi.casl:   34:        ST      GR3,MSG2
+../../../../as/misc/hanoi.casl:   34:        ST      GR3,MSG2
        #0034   #1130
        #0035   #0058
-../../../../as/FUNC/hanoi.casl:   35:        OUT     MSG,LNG
+../../../../as/misc/hanoi.casl:   35:        OUT     MSG,LNG
        #0036   #7001
        #0037   #0000
        #0038   #7002
@@ -174,34 +174,34 @@ Assemble ../../../../as/FUNC/hanoi.casl (1)
        #0045   #0002
        #0046   #7120
        #0047   #7110
-../../../../as/FUNC/hanoi.casl:   36:        RET
+../../../../as/misc/hanoi.casl:   36:        RET
        #0048   #8100
-../../../../as/FUNC/hanoi.casl:   37:N       DC      3               ; 輪の総数
+../../../../as/misc/hanoi.casl:   37:N       DC      3               ; 輪の総数
        #0049   #0003
-../../../../as/FUNC/hanoi.casl:   38:LNG     DC      11              ; メッセージの長さ
+../../../../as/misc/hanoi.casl:   38:LNG     DC      11              ; メッセージの長さ
        #004A   #000B
-../../../../as/FUNC/hanoi.casl:   39:A       DC      'A'
+../../../../as/misc/hanoi.casl:   39:A       DC      'A'
        #004B   #0041
-../../../../as/FUNC/hanoi.casl:   40:B       DC      'B'
+../../../../as/misc/hanoi.casl:   40:B       DC      'B'
        #004C   #0042
-../../../../as/FUNC/hanoi.casl:   41:C       DC      'C'
+../../../../as/misc/hanoi.casl:   41:C       DC      'C'
        #004D   #0043
-../../../../as/FUNC/hanoi.casl:   42:MSG     DC      'from '
+../../../../as/misc/hanoi.casl:   42:MSG     DC      'from '
        #004E   #0066
        #004F   #0072
        #0050   #006F
        #0051   #006D
        #0052   #0020
-../../../../as/FUNC/hanoi.casl:   43:MSG1    DS      1
+../../../../as/misc/hanoi.casl:   43:MSG1    DS      1
        #0053   #0000
-../../../../as/FUNC/hanoi.casl:   44:        DC      ' to '
+../../../../as/misc/hanoi.casl:   44:        DC      ' to '
        #0054   #0020
        #0055   #0074
        #0056   #006F
        #0057   #0020
-../../../../as/FUNC/hanoi.casl:   45:MSG2    DS      1
+../../../../as/misc/hanoi.casl:   45:MSG2    DS      1
        #0058   #0000
-../../../../as/FUNC/hanoi.casl:   46:        END
+../../../../as/misc/hanoi.casl:   46:        END
 from A to C
 from A to B
 from C to B
index ccce287..b34f79d 100644 (file)
@@ -1,6 +1,6 @@
 include ../CMD.mk    # YACASL2DIR, CASL2
 CASL2FLAG = -sla
-ASDIR = $(YACASL2DIR)/as/FUNC
+ASDIR = $(YACASL2DIR)/as/misc
 ASFILE = $(ASDIR)/hanoi.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
+CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
 include ../TEST.mk
similarity index 53%
rename from test/integration/casl2/fib_outl/Makefile
rename to test/integration/casl2/iotest/#Makefile#
index a5a87dc..3aa55d8 100644 (file)
@@ -1,5 +1,6 @@
 include ../CMD.mk    # YACASL2DIR, CASL2
 ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/fib_outl.casl $(ASDIR)/outl.casl
-CMD = $(CASL2) $(ASFILE)
+ASFILE = $(ASDIR)/iotest.casl
+IN = teststr.txt
+CMD = $(CASL2) $(ASFILE) <$(IN)
 include ../TEST.mk
diff --git a/test/integration/casl2/iotest/.#Makefile b/test/integration/casl2/iotest/.#Makefile
new file mode 120000 (symlink)
index 0000000..5d881fb
--- /dev/null
@@ -0,0 +1 @@
+kazubito@horse.j8takagi.net.13917:1265068188
\ No newline at end of file
diff --git a/test/integration/casl2/lib_abs/Makefile b/test/integration/casl2/lib_abs/Makefile
new file mode 100644 (file)
index 0000000..1cd5d7d
--- /dev/null
@@ -0,0 +1,6 @@
+include ../CMD.mk    # YACASL2DIR, CASL2
+ASDIR = $(YACASL2DIR)/as/casl2lib_driver
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASFILE = $(ASDIR)/abs_call.casl $(LIBDIR)/abs.casl $(LIBDIR)/outa.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
diff --git a/test/integration/casl2/lib_divl/Makefile b/test/integration/casl2/lib_divl/Makefile
new file mode 100644 (file)
index 0000000..2dd63a4
--- /dev/null
@@ -0,0 +1,6 @@
+include ../CMD.mk    # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/casl2lib_test
+ASFILE = $(ASDIR)/divl_call.casl $(LIBDIR)/divl.casl $(LIBDIR)/outl_main.casl $(LIBDIR)/rev.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
diff --git a/test/integration/casl2/lib_inl/#0.txt# b/test/integration/casl2/lib_inl/#0.txt#
new file mode 100644 (file)
index 0000000..e888dde
--- /dev/null
@@ -0,0 +1,15 @@
+../../../../casl2 ../../../../as/casl2lib_driver/inl.casl ../../../../as/casl2lib/inl.casl ../../../../as/casl2lib/outl.casl
+0
+1
+2
+10
+12
+32767
+32768
+65535
+0
+18000
+Not A Number
+Not A Number
+Not A Number
+g
\ No newline at end of file
diff --git a/test/integration/casl2/lib_inl/.#0.txt b/test/integration/casl2/lib_inl/.#0.txt
new file mode 120000 (symlink)
index 0000000..5d881fb
--- /dev/null
@@ -0,0 +1 @@
+kazubito@horse.j8takagi.net.13917:1265068188
\ No newline at end of file
diff --git a/test/integration/casl2/lib_inl/0.txt b/test/integration/casl2/lib_inl/0.txt
new file mode 100644 (file)
index 0000000..20938f4
--- /dev/null
@@ -0,0 +1,14 @@
+../../../../casl2 ../../../../as/casl2lib_driver/inl.casl ../../../../as/casl2lib/inl.casl ../../../../as/casl2lib/outl.casl
+0
+1
+2
+10
+12
+32767
+32768
+65535
+0
+18000
+Not A Number
+Not A Number
+Not A Number
diff --git a/test/integration/casl2/lib_inl/Makefile b/test/integration/casl2/lib_inl/Makefile
new file mode 100644 (file)
index 0000000..a8d59a4
--- /dev/null
@@ -0,0 +1,7 @@
+include ../CMD.mk    # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/casl2lib_driver
+ASFILE = $(ASDIR)/inl.casl $(LIBDIR)/inl.casl $(LIBDIR)/outl.casl
+IN = teststr.txt
+CMD = $(CASL2) $(ASFILE) <$(IN)
+include ../TEST.mk
diff --git a/test/integration/casl2/lib_inl/teststr.txt b/test/integration/casl2/lib_inl/teststr.txt
new file mode 100644 (file)
index 0000000..c51770a
--- /dev/null
@@ -0,0 +1,14 @@
+0
+1
+2
+10
+12
+32767
+32768
+65535
+65536
+90000
+100000
+-1
+NOTNUMBER
+