casl2libとtestを整理
[YACASL2.git] / test / system / casl2_opt / opt_slaOn / 0.txt
1 ;;; sum_10.casl
2 ;;; 出力 GR0: 1から10までの整数をすべて加算した値
3 MAIN    START
4         PUSH    0,GR1
5         LAD     GR0,0           ; GR0を初期化
6         LD      GR1,FST         ; GR1に初項を転送
7 LOOP    ADDL    GR0,GR1         ; ループ先頭
8         ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
9         CPL     GR1,LST         ; GR1が末項より大きい場合は終了
10         JPL     FIN             ; ↓
11         JUMP    LOOP            ; ループ終端
12 FIN     POP     GR1
13         RET
14 FST     DC      1               ; 初項
15 LST     DC      10              ; 末項
16 STEP    DC      1               ; 公差
17         END
18
19 Assemble ../../../../as/sample/sum_10.casl (0)
20 ../../../../as/sample/sum_10.casl:    1:;;; sum_10.casl
21 ../../../../as/sample/sum_10.casl:    2:;;; 出力 GR0: 1から10までの整数をすべて加算した値
22 ../../../../as/sample/sum_10.casl:    3:MAIN    START
23 ../../../../as/sample/sum_10.casl:    4:        PUSH    0,GR1
24 ../../../../as/sample/sum_10.casl:    5:        LAD     GR0,0           ; GR0を初期化
25 ../../../../as/sample/sum_10.casl:    6:        LD      GR1,FST         ; GR1に初項を転送
26 ../../../../as/sample/sum_10.casl:    7:LOOP    ADDL    GR0,GR1         ; ループ先頭
27 ../../../../as/sample/sum_10.casl:    8:        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
28 ../../../../as/sample/sum_10.casl:    9:        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
29 ../../../../as/sample/sum_10.casl:   10:        JPL     FIN             ; ↓
30 ../../../../as/sample/sum_10.casl:   11:        JUMP    LOOP            ; ループ終端
31 ../../../../as/sample/sum_10.casl:   12:FIN     POP     GR1
32 ../../../../as/sample/sum_10.casl:   13:        RET
33 ../../../../as/sample/sum_10.casl:   14:FST     DC      1               ; 初項
34 ../../../../as/sample/sum_10.casl:   15:LST     DC      10              ; 末項
35 ../../../../as/sample/sum_10.casl:   16:STEP    DC      1               ; 公差
36 ../../../../as/sample/sum_10.casl:   17:        END
37
38 Label::::
39 MAIN ---> #0000
40 MAIN.LOOP ---> #0006
41 MAIN.FIN ---> #000F
42 MAIN.FST ---> #0011
43 MAIN.LST ---> #0012
44 MAIN.STEP ---> #0013
45
46 Assemble ../../../../as/sample/sum_10.casl (1)
47 ../../../../as/sample/sum_10.casl:    1:;;; sum_10.casl
48 ../../../../as/sample/sum_10.casl:    2:;;; 出力 GR0: 1から10までの整数をすべて加算した値
49 ../../../../as/sample/sum_10.casl:    3:MAIN    START
50 ../../../../as/sample/sum_10.casl:    4:        PUSH    0,GR1
51         #0000   #7001
52         #0001   #0000
53 ../../../../as/sample/sum_10.casl:    5:        LAD     GR0,0           ; GR0を初期化
54         #0002   #1200
55         #0003   #0000
56 ../../../../as/sample/sum_10.casl:    6:        LD      GR1,FST         ; GR1に初項を転送
57         #0004   #1010
58         #0005   #0011
59 ../../../../as/sample/sum_10.casl:    7:LOOP    ADDL    GR0,GR1         ; ループ先頭
60         #0006   #2601
61 ../../../../as/sample/sum_10.casl:    8:        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
62         #0007   #2210
63         #0008   #0013
64 ../../../../as/sample/sum_10.casl:    9:        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
65         #0009   #4110
66         #000A   #0012
67 ../../../../as/sample/sum_10.casl:   10:        JPL     FIN             ; ↓
68         #000B   #6500
69         #000C   #000F
70 ../../../../as/sample/sum_10.casl:   11:        JUMP    LOOP            ; ループ終端
71         #000D   #6400
72         #000E   #0006
73 ../../../../as/sample/sum_10.casl:   12:FIN     POP     GR1
74         #000F   #7110
75 ../../../../as/sample/sum_10.casl:   13:        RET
76         #0010   #8100
77 ../../../../as/sample/sum_10.casl:   14:FST     DC      1               ; 初項
78         #0011   #0001
79 ../../../../as/sample/sum_10.casl:   15:LST     DC      10              ; 末項
80         #0012   #000A
81 ../../../../as/sample/sum_10.casl:   16:STEP    DC      1               ; 公差
82         #0013   #0001
83 ../../../../as/sample/sum_10.casl:   17:        END