ドキュメントの修正
[YACASL2.git] / README
1 このファイルは、YACASL2のREADMEファイルです。
2
3 ■機能概要
4 ■要件
5 ■コンパイル方法
6 ■実行方法
7 ■ライセンス    
8
9 ■機能概要
10 YACASL2は、Linux上で動作するオープンソースのCASL II処理系。
11 CASL IIは、情報処理試験で用いられるアセンブラ言語。
12 仕様は、次の資料「試験で使用する情報処理用語・プログラム言語など」(2008年10月版)の
13 中にある「別紙 1 アセンブラ言語の仕様」参照。\
14     http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf (PDFファイル)
15
16 ■要件
17 Linux(Ubuntu Linux 9.04/8.04とVine Linux 4.2で動作確認)
18 インストールに、gcc、makeが必要
19
20 ■コンパイル
21 yacasl2.tar.gz をダウンロードし、シェルで次のコマンド実行。
22
23  $ tar xvzf yacasl2.tar.gz
24  $ cd yacasl2
25  $ make
26
27 コンパイル後、次のコマンドでレグレッションテスト可能。
28
29  $ make check
30  
31 ■実行方法
32 ※asディレクトリに、サンプルのcaslファイルを格納しています。
33 1. アセンブラファイルをアセンブルし、仮想システムCOMET II上で実行
34
35  $ ./casl2 as/hello.casl
36  Hello, World!
37  
38 2. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を出力。
39
40  $ ./casl2 -al as/FUNC/sum_10.casl
41  as/CMD/ld0.casl:    1:MAIN    START
42  as/CMD/ld0.casl:    2:        LAD     GR1,3
43         #0000   #1210
44         #0001   #0003
45  as/CMD/ld0.casl:    3:        LD      GR0,GR1
46         #0002   #1401
47  as/CMD/ld0.casl:    4:        RET
48         #0003   #8100
49  as/CMD/ld0.casl:    5:        END
50
51 3. アセンブラファイルを仮想システムCOMET II上で実行し、
52    レジスタの内容を出力
53
54  $ ./casl2 -t as/CMD/ld0.casl
55
56  Assemble as/CMD/ld0.casl (0)
57
58  Assemble as/CMD/ld0.casl (1)
59
60  Executing machine codes
61  #0000: Register::::
62  #0000: GR0:      0 = #0000 = 0000000000000000
63  #0000: GR1:      0 = #0000 = 0000000000000000
64  #0000: GR2:      0 = #0000 = 0000000000000000
65  #0000: GR3:      0 = #0000 = 0000000000000000
66  #0000: GR4:      0 = #0000 = 0000000000000000
67  #0000: GR5:      0 = #0000 = 0000000000000000
68  #0000: GR6:      0 = #0000 = 0000000000000000
69  #0000: GR7:      0 = #0000 = 0000000000000000
70  #0000: SP:     512 = #0200 = 0000001000000000
71  #0000: PR:       0 = #0000 = 0000000000000000
72  #0000: FR (OF SF ZF): 000
73
74  #0002: Register::::
75  #0002: GR0:      0 = #0000 = 0000000000000000
76  #0002: GR1:      3 = #0003 = 0000000000000011
77  #0002: GR2:      0 = #0000 = 0000000000000000
78  #0002: GR3:      0 = #0000 = 0000000000000000
79  #0002: GR4:      0 = #0000 = 0000000000000000
80  #0002: GR5:      0 = #0000 = 0000000000000000
81  #0002: GR6:      0 = #0000 = 0000000000000000
82  #0002: GR7:      0 = #0000 = 0000000000000000
83  #0002: SP:     512 = #0200 = 0000001000000000
84  #0002: PR:       2 = #0002 = 0000000000000010
85  #0002: FR (OF SF ZF): 000
86
87  #0003: Register::::
88  #0003: GR0:      3 = #0003 = 0000000000000011
89  #0003: GR1:      3 = #0003 = 0000000000000011
90  #0003: GR2:      0 = #0000 = 0000000000000000
91  #0003: GR3:      0 = #0000 = 0000000000000000
92  #0003: GR4:      0 = #0000 = 0000000000000000
93  #0003: GR5:      0 = #0000 = 0000000000000000
94  #0003: GR6:      0 = #0000 = 0000000000000000
95  #0003: GR7:      0 = #0000 = 0000000000000000
96  #0003: SP:     512 = #0200 = 0000001000000000
97  #0003: PR:       3 = #0003 = 0000000000000011
98  #0003: FR (OF SF ZF): 000
99
100 5. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を
101    出力してから、仮想システムCOMET II上で実行。
102    実行時に、レジスタとメモリの内容を出力
103    -Mで、COMET IIのメモリサイズを指定できる。
104
105  $ ./casl2 -td -M 16 as/CMD/st0.casl 
106
107  Assemble as/CMD/st0.casl (0)
108
109  Assemble as/CMD/st0.casl (1)
110
111  Executing machine codes
112  #0000: Register::::
113  #0000: GR0:      0 = #0000 = 0000000000000000
114  #0000: GR1:      0 = #0000 = 0000000000000000
115  #0000: GR2:      0 = #0000 = 0000000000000000
116  #0000: GR3:      0 = #0000 = 0000000000000000
117  #0000: GR4:      0 = #0000 = 0000000000000000
118  #0000: GR5:      0 = #0000 = 0000000000000000
119  #0000: GR6:      0 = #0000 = 0000000000000000
120  #0000: GR7:      0 = #0000 = 0000000000000000
121  #0000: SP:      16 = #0010 = 0000000000010000
122  #0000: PR:       0 = #0000 = 0000000000000000
123  #0000: FR (OF SF ZF): 000
124  #0000: Memory::::
125  #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
126  #0000: 0000: 1200 011E 1100 0005 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
127
128  #0002: Register::::
129  #0002: GR0:    286 = #011E = 0000000100011110
130  #0002: GR1:      0 = #0000 = 0000000000000000
131  #0002: GR2:      0 = #0000 = 0000000000000000
132  #0002: GR3:      0 = #0000 = 0000000000000000
133  #0002: GR4:      0 = #0000 = 0000000000000000
134  #0002: GR5:      0 = #0000 = 0000000000000000
135  #0002: GR6:      0 = #0000 = 0000000000000000
136  #0002: GR7:      0 = #0000 = 0000000000000000
137  #0002: SP:      16 = #0010 = 0000000000010000
138  #0002: PR:       2 = #0002 = 0000000000000010
139  #0002: FR (OF SF ZF): 000
140  #0002: Memory::::
141  #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
142  #0002: 0000: 1200 011E 1100 0005 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
143
144  #0004: Register::::
145  #0004: GR0:    286 = #011E = 0000000100011110
146  #0004: GR1:      0 = #0000 = 0000000000000000
147  #0004: GR2:      0 = #0000 = 0000000000000000
148  #0004: GR3:      0 = #0000 = 0000000000000000
149  #0004: GR4:      0 = #0000 = 0000000000000000
150  #0004: GR5:      0 = #0000 = 0000000000000000
151  #0004: GR6:      0 = #0000 = 0000000000000000
152  #0004: GR7:      0 = #0000 = 0000000000000000
153  #0004: SP:      16 = #0010 = 0000000000010000
154  #0004: PR:       4 = #0004 = 0000000000000100
155  #0004: FR (OF SF ZF): 000
156  #0004: Memory::::
157  #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
158  #0004: 0000: 1200 011E 1100 0005 8100 011E 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
159
160
161 6. アセンブラファイルのアセンブラ結果をオブジェクトファイルadd.oに出力し、
162    comet2コマンドでadd.oを仮想システムCOMET II上で実行。
163
164  $ ./casl2 -Ofib.o as/FUNC/fib_outl.casl as/FUNC/outl.casl
165  $ ./comet2 fib.o
166  0
167  1
168  1
169  2
170  3
171  5
172  8
173  13
174  21
175  34
176  55
177  89
178  144
179  233
180  377
181  610
182  987
183  1597
184  2584
185  4181
186  6765
187  10946
188  17711
189  28657
190  46368
191
192 7. オプションの確認
193
194  $ ./casl2 --help
195  Usage: ./casl2 [-tdslaAh] [-o <OUTFILE>] FILE ...
196  $ ./comet2 --help
197  Usage: ./comet2 [-tdh] FILE
198
199 詳細は、チュートリアル(作成予定)参照。
200
201 ■ライセンス    
202 Copyright (C) 2010 j8takagi (j8takagi@nifty.com)
203 (未定。GPL or 修正BSDの予定)