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