このファイルは、YACASL2のREADMEファイルです。
-■機能概要
-■要件
-■コンパイル方法
-■実行方法
-■ライセンス
+YACASL2の概要
+******************
-■機能概要
-YACASL2は、Linux上で動作するオープンソースのCASL II処理系。
-CASL IIは、情報処理試験で用いられるアセンブラ言語。
-仕様は、次の資料「試験で使用する情報処理用語・プログラム言語など」(2008年10月版)の
-中にある「別紙 1 アセンブラ言語の仕様」参照。\
- http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf (PDFファイル)
+YACASL2は、UNIX/Linuxのコマンドラインインターフェイスで動作する
+オープンソースのCASL II処理システムです。
+CASL IIは、情報処理試験で用いられるアセンブラ言語で、次の資料で仕様が定義されています。
-■要件
-Linux(Ubuntu Linux 9.04/8.04とVine Linux 4.2で動作確認)
-インストールに、gcc、makeが必要
+ 試験で使用する情報処理用語・プログラム言語など Ver 2.2(平成24年5月22日)
+ http://www.jitec.jp/1_13download/shiken_yougo_ver2_2.pdf (PDFファイル)
+ 別紙 1 アセンブラ言語の仕様
-■コンパイル
-yacasl2.tar.gz をダウンロードし、シェルで次のコマンド実行。
- $ tar xvzf yacasl2.tar.gz
- $ cd yacasl2
- $ make
+同梱ドキュメント
+******************
-コンパイル後、次のコマンドでレグレッションテスト可能。
+YACASL2のインストール方法は、INSTALLを参照してください。
+YACASL2の使い方は、doc/manual.htmlを参照してください。
- $ make check
-
-■実行方法
-※asディレクトリに、サンプルのcaslファイルを格納しています。
-1. アセンブラファイルをアセンブルし、仮想システムCOMET II上で実行
- $ ./casl2 as/hello.casl
- Hello, World!
-
-2. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を出力。
+Webサイト
+******************
- $ ./casl2 -al as/FUNC/sum_10.casl
- as/CMD/ld0.casl: 1:MAIN START
- as/CMD/ld0.casl: 2: LAD GR1,3
- #0000 #1210
- #0001 #0003
- as/CMD/ld0.casl: 3: LD GR0,GR1
- #0002 #1401
- as/CMD/ld0.casl: 4: RET
- #0003 #8100
- as/CMD/ld0.casl: 5: END
+YACASL2のWebサイトは、次のURLです。
-3. アセンブラファイルを仮想システムCOMET II上で実行し、
- レジスタの内容を出力
+ http://www.j8takagi.net/yacasl2/
- $ ./casl2 -t as/CMD/ld0.casl
- Assemble as/CMD/ld0.casl (0)
+ライセンス
+******************
- Assemble as/CMD/ld0.casl (1)
+Copyright 2010-2014, j8takagi.
+YACASL2 is licensed under the MIT license.
- Executing machine codes
- #0000: Register::::
- #0000: GR0: 0 = #0000 = 0000000000000000
- #0000: GR1: 0 = #0000 = 0000000000000000
- #0000: GR2: 0 = #0000 = 0000000000000000
- #0000: GR3: 0 = #0000 = 0000000000000000
- #0000: GR4: 0 = #0000 = 0000000000000000
- #0000: GR5: 0 = #0000 = 0000000000000000
- #0000: GR6: 0 = #0000 = 0000000000000000
- #0000: GR7: 0 = #0000 = 0000000000000000
- #0000: SP: 512 = #0200 = 0000001000000000
- #0000: PR: 0 = #0000 = 0000000000000000
- #0000: FR (OF SF ZF): 000
-
- #0002: Register::::
- #0002: GR0: 0 = #0000 = 0000000000000000
- #0002: GR1: 3 = #0003 = 0000000000000011
- #0002: GR2: 0 = #0000 = 0000000000000000
- #0002: GR3: 0 = #0000 = 0000000000000000
- #0002: GR4: 0 = #0000 = 0000000000000000
- #0002: GR5: 0 = #0000 = 0000000000000000
- #0002: GR6: 0 = #0000 = 0000000000000000
- #0002: GR7: 0 = #0000 = 0000000000000000
- #0002: SP: 512 = #0200 = 0000001000000000
- #0002: PR: 2 = #0002 = 0000000000000010
- #0002: FR (OF SF ZF): 000
-
- #0003: Register::::
- #0003: GR0: 3 = #0003 = 0000000000000011
- #0003: GR1: 3 = #0003 = 0000000000000011
- #0003: GR2: 0 = #0000 = 0000000000000000
- #0003: GR3: 0 = #0000 = 0000000000000000
- #0003: GR4: 0 = #0000 = 0000000000000000
- #0003: GR5: 0 = #0000 = 0000000000000000
- #0003: GR6: 0 = #0000 = 0000000000000000
- #0003: GR7: 0 = #0000 = 0000000000000000
- #0003: SP: 512 = #0200 = 0000001000000000
- #0003: PR: 3 = #0003 = 0000000000000011
- #0003: FR (OF SF ZF): 000
-
-5. アセンブラファイルの、ラベルの解析結果とアセンブル詳細結果を
- 出力してから、仮想システムCOMET II上で実行。
- 実行時に、レジスタとメモリの内容を出力
- -Mで、COMET IIのメモリサイズを指定できる。
-
- $ ./casl2 -td -M 16 as/CMD/st0.casl
-
- Assemble as/CMD/st0.casl (0)
-
- Assemble as/CMD/st0.casl (1)
-
- Executing machine codes
- #0000: Register::::
- #0000: GR0: 0 = #0000 = 0000000000000000
- #0000: GR1: 0 = #0000 = 0000000000000000
- #0000: GR2: 0 = #0000 = 0000000000000000
- #0000: GR3: 0 = #0000 = 0000000000000000
- #0000: GR4: 0 = #0000 = 0000000000000000
- #0000: GR5: 0 = #0000 = 0000000000000000
- #0000: GR6: 0 = #0000 = 0000000000000000
- #0000: GR7: 0 = #0000 = 0000000000000000
- #0000: SP: 16 = #0010 = 0000000000010000
- #0000: PR: 0 = #0000 = 0000000000000000
- #0000: FR (OF SF ZF): 000
- #0000: Memory::::
- #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
- #0000: 0000: 1200 011E 1100 0005 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
- #0002: Register::::
- #0002: GR0: 286 = #011E = 0000000100011110
- #0002: GR1: 0 = #0000 = 0000000000000000
- #0002: GR2: 0 = #0000 = 0000000000000000
- #0002: GR3: 0 = #0000 = 0000000000000000
- #0002: GR4: 0 = #0000 = 0000000000000000
- #0002: GR5: 0 = #0000 = 0000000000000000
- #0002: GR6: 0 = #0000 = 0000000000000000
- #0002: GR7: 0 = #0000 = 0000000000000000
- #0002: SP: 16 = #0010 = 0000000000010000
- #0002: PR: 2 = #0002 = 0000000000000010
- #0002: FR (OF SF ZF): 000
- #0002: Memory::::
- #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
- #0002: 0000: 1200 011E 1100 0005 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
- #0004: Register::::
- #0004: GR0: 286 = #011E = 0000000100011110
- #0004: GR1: 0 = #0000 = 0000000000000000
- #0004: GR2: 0 = #0000 = 0000000000000000
- #0004: GR3: 0 = #0000 = 0000000000000000
- #0004: GR4: 0 = #0000 = 0000000000000000
- #0004: GR5: 0 = #0000 = 0000000000000000
- #0004: GR6: 0 = #0000 = 0000000000000000
- #0004: GR7: 0 = #0000 = 0000000000000000
- #0004: SP: 16 = #0010 = 0000000000010000
- #0004: PR: 4 = #0004 = 0000000000000100
- #0004: FR (OF SF ZF): 000
- #0004: Memory::::
- #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
- #0004: 0000: 1200 011E 1100 0005 8100 011E 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-
-6. アセンブラファイルのアセンブラ結果をオブジェクトファイルadd.oに出力し、
- comet2コマンドでadd.oを仮想システムCOMET II上で実行。
-
- $ ./casl2 -Ofib.o as/FUNC/fib_outl.casl as/FUNC/outl.casl
- $ ./comet2 fib.o
- 0
- 1
- 1
- 2
- 3
- 5
- 8
- 13
- 21
- 34
- 55
- 89
- 144
- 233
- 377
- 610
- 987
- 1597
- 2584
- 4181
- 6765
- 10946
- 17711
- 28657
- 46368
-
-7. オプションの確認
-
- $ ./casl2 --help
- Usage: ./casl2 [-tdslaAh] [-o <OUTFILE>] FILE ...
- $ ./comet2 --help
- Usage: ./comet2 [-tdh] FILE
-
-詳細は、チュートリアル(作成予定)参照。
-
-■ライセンス
-Copyright (C) 2010 j8takagi (j8takagi@nifty.com)
-(未定。GPL or 修正BSDの予定)
+ライセンスの詳細は、同梱のLICENSEを参照してください。