1 このファイルは、YACASL2のREADMEファイルです。
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ファイル)
17 Linux(Ubuntu Linux 9.04/8.04とVine Linux 4.2で動作確認)
21 yacasl2.tar.gz をダウンロードし、シェルで次のコマンド実行。
23 $ tar xvzf yacasl2.tar.gz
27 コンパイル後、次のコマンドでレグレッションテスト可能。
32 ※asディレクトリに、サンプルのcaslファイルを格納しています。
33 1. アセンブラファイルをアセンブルし、仮想システムCOMET II上で実行
35 $ ./casl2 as/hello.casl
38 2. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を出力。
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
45 as/CMD/ld0.casl: 3: LD GR0,GR1
47 as/CMD/ld0.casl: 4: RET
49 as/CMD/ld0.casl: 5: END
51 3. アセンブラファイルを仮想システムCOMET II上で実行し、
54 $ ./casl2 -t as/CMD/ld0.casl
56 Assemble as/CMD/ld0.casl (0)
58 Assemble as/CMD/ld0.casl (1)
60 Executing machine codes
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
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
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
100 5. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を
101 出力してから、仮想システムCOMET II上で実行。
103 -Mで、COMET IIのメモリサイズを指定できる。
105 $ ./casl2 -td -M 16 as/CMD/st0.casl
107 Assemble as/CMD/st0.casl (0)
109 Assemble as/CMD/st0.casl (1)
111 Executing machine codes
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
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
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
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
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
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
161 6. アセンブラファイルのアセンブラ結果をオブジェクトファイルadd.oに出力し、
162 comet2コマンドでadd.oを仮想システムCOMET II上で実行。
164 $ ./casl2 -Ofib.o as/FUNC/fib_outl.casl as/FUNC/outl.casl
195 Usage: ./casl2 [-tdslaAh] [-o <OUTFILE>] FILE ...
197 Usage: ./comet2 [-tdh] FILE
202 Copyright (C) 2010 j8takagi (j8takagi@nifty.com)