as/sample/sum_10.caslを変更
[YACASL2.git] / test / system / casl2_opt / opt_slaOn / 0.txt
1 ;;; sum_10.casl
2 ;;; 1から10までの整数をすべて加算した値をメモリーに格納する
3 MAIN    START
4         PUSH    0,GR1
5         PUSH    0,GR2
6         XOR     GR2,GR2         ; GR2を初期化
7         LD      GR1,FST         ; GR1に初項をメモリーから転送
8 LOOP    ADDL    GR2,GR1         ; ループ先頭。GR2 <- GR2 + GR1
9         ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
10         CPL     GR1,LST         ; GR1が末項より大きい場合は終了
11         JPL     FIN             ; ↓
12         JUMP    LOOP            ; ループ終端
13 FIN     ST      GR2,RST         ; GR2の結果をメモリーに転送
14         POP     GR2
15         POP     GR1
16         RET
17 FST     DC      1               ; 初項
18 LST     DC      10              ; 末項
19 STEP    DC      1               ; 公差
20 RST     DS      1               ; 結果
21         END
22
23 Assemble ../../../../as/sample/sum_10.casl (0)
24 ../../../../as/sample/sum_10.casl:    1:;;; sum_10.casl
25 ../../../../as/sample/sum_10.casl:    2:;;; 1から10までの整数をすべて加算した値をメモリーに格納する
26 ../../../../as/sample/sum_10.casl:    3:MAIN    START
27 ../../../../as/sample/sum_10.casl:    4:        PUSH    0,GR1
28 ../../../../as/sample/sum_10.casl:    5:        PUSH    0,GR2
29 ../../../../as/sample/sum_10.casl:    6:        XOR     GR2,GR2         ; GR2を初期化
30 ../../../../as/sample/sum_10.casl:    7:        LD      GR1,FST         ; GR1に初項をメモリーから転送
31 ../../../../as/sample/sum_10.casl:    8:LOOP    ADDL    GR2,GR1         ; ループ先頭。GR2 <- GR2 + GR1
32 ../../../../as/sample/sum_10.casl:    9:        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
33 ../../../../as/sample/sum_10.casl:   10:        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
34 ../../../../as/sample/sum_10.casl:   11:        JPL     FIN             ; ↓
35 ../../../../as/sample/sum_10.casl:   12:        JUMP    LOOP            ; ループ終端
36 ../../../../as/sample/sum_10.casl:   13:FIN     ST      GR2,RST         ; GR2の結果をメモリーに転送
37 ../../../../as/sample/sum_10.casl:   14:        POP     GR2
38 ../../../../as/sample/sum_10.casl:   15:        POP     GR1
39 ../../../../as/sample/sum_10.casl:   16:        RET
40 ../../../../as/sample/sum_10.casl:   17:FST     DC      1               ; 初項
41 ../../../../as/sample/sum_10.casl:   18:LST     DC      10              ; 末項
42 ../../../../as/sample/sum_10.casl:   19:STEP    DC      1               ; 公差
43 ../../../../as/sample/sum_10.casl:   20:RST     DS      1               ; 結果
44 ../../../../as/sample/sum_10.casl:   21:        END
45
46 Label::::
47 MAIN ---> #0000
48 MAIN.LOOP ---> #0007
49 MAIN.FIN ---> #0010
50 MAIN.FST ---> #0015
51 MAIN.LST ---> #0016
52 MAIN.STEP ---> #0017
53 MAIN.RST ---> #0018
54
55 Assemble ../../../../as/sample/sum_10.casl (1)
56 ../../../../as/sample/sum_10.casl:    1:;;; sum_10.casl
57 ../../../../as/sample/sum_10.casl:    2:;;; 1から10までの整数をすべて加算した値をメモリーに格納する
58 ../../../../as/sample/sum_10.casl:    3:MAIN    START
59 ../../../../as/sample/sum_10.casl:    4:        PUSH    0,GR1
60         #0000   #7001
61         #0001   #0000
62 ../../../../as/sample/sum_10.casl:    5:        PUSH    0,GR2
63         #0002   #7002
64         #0003   #0000
65 ../../../../as/sample/sum_10.casl:    6:        XOR     GR2,GR2         ; GR2を初期化
66         #0004   #3622
67 ../../../../as/sample/sum_10.casl:    7:        LD      GR1,FST         ; GR1に初項をメモリーから転送
68         #0005   #1010
69         #0006   #0015
70 ../../../../as/sample/sum_10.casl:    8:LOOP    ADDL    GR2,GR1         ; ループ先頭。GR2 <- GR2 + GR1
71         #0007   #2621
72 ../../../../as/sample/sum_10.casl:    9:        ADDL    GR1,STEP        ; GR1 <- GR1 + 公差
73         #0008   #2210
74         #0009   #0017
75 ../../../../as/sample/sum_10.casl:   10:        CPL     GR1,LST         ; GR1が末項より大きい場合は終了
76         #000A   #4110
77         #000B   #0016
78 ../../../../as/sample/sum_10.casl:   11:        JPL     FIN             ; ↓
79         #000C   #6500
80         #000D   #0010
81 ../../../../as/sample/sum_10.casl:   12:        JUMP    LOOP            ; ループ終端
82         #000E   #6400
83         #000F   #0007
84 ../../../../as/sample/sum_10.casl:   13:FIN     ST      GR2,RST         ; GR2の結果をメモリーに転送
85         #0010   #1120
86         #0011   #0018
87 ../../../../as/sample/sum_10.casl:   14:        POP     GR2
88         #0012   #7120
89 ../../../../as/sample/sum_10.casl:   15:        POP     GR1
90         #0013   #7110
91 ../../../../as/sample/sum_10.casl:   16:        RET
92         #0014   #8100
93 ../../../../as/sample/sum_10.casl:   17:FST     DC      1               ; 初項
94         #0015   #0001
95 ../../../../as/sample/sum_10.casl:   18:LST     DC      10              ; 末項
96         #0016   #000A
97 ../../../../as/sample/sum_10.casl:   19:STEP    DC      1               ; 公差
98         #0017   #0001
99 ../../../../as/sample/sum_10.casl:   20:RST     DS      1               ; 結果
100         #0018   #0000
101 ../../../../as/sample/sum_10.casl:   21:        END