32209a494d571983179ba3f42a0a9b2d46c55746
[YACASL2.git] / doc / yacasl2.texi
1 \input texinfo   @c -*-texinfo-*-
2 @c %**start of header
3 @setfilename yacasl2
4 @settitle YACASL2 -Linux上のCASL2処理系-
5 @c %**end of header
6
7 @copying
8 Copyright @copyright{} 2010 j8takagi
9 @end copying
10
11 @titlepage
12 @title
13
14 @c The following two commands start the copyright page.
15 @page
16 @vskip 0pt plus 1filll
17 @insertcopying
18 @end titlepage
19
20 @c Output the table of contents at the beginning.
21 @contents
22
23 @insertcopying
24
25 @chapter YACASL2の概要
26
27 @cindex chapter, first
28
29 YACASL2は、Linux上で動作するオープンソースのCASL II処理系です。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。
30
31 @quotation
32 @uref{http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf, 試験で使用する情報処理用語・プログラム言語など(2008年10月版)}[PDFファイル]
33 別紙 1 アセンブラ言語の仕様
34 @end quotation
35
36 YACASL2は、CASL IIアセンブラ言語で記述されたファイルをアセンブルし、仮想マシンCOMET II上で実行します。アセンブルと実行は、連続で行うことも別々に行うことも可能です。
37 YACASL2の動作はCASL IIの仕様に準拠しているため、情報処理試験の問題をはじめ各種参考書やサイトに記載されたCASL IIのプログラムをそのままアセンブルして実行できます。また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。
38
39 YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレーターと違い、デバッガーとして動作したり、コンピューター内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
40
41 @itemize @bullet
42
43 @item
44 ラベルとアドレスの対応
45
46 @item
47 アセンブラ結果
48
49 @item
50 実行時のレジスタの内容
51
52 @item
53 実行時のメモリの内容
54 @end itemize
55
56 出力された動作内容は、GNU/Linuxのさまざまなツール、たとえば@command{head}、@command{tail}、@command{grep}、@command{diff}などを使って解析できます。
57
58 @chapter YACASL2のインストール
59
60 YACASL2をインストールするには、Linux上で次の作業をします。
61
62 @enumerate
63
64 @item
65 @file{yacasl2.tar.gz}のダウンロード
66
67 @item
68 @file{yacasl2.tar.gz}の展開
69
70 @item
71 @command{casl2}、@command{comet2}、@command{dumpword}のビルド
72
73 @item
74 レグレッションテスト
75 @end enumerate
76
77 @unnumberedsec 要件
78 YACASL2は、Linux上で動作します。インストール時に、@command{tar}、@command{gcc}、@command{make}が必要です。
79
80 現在動作を確認しているのは、次のディストリビューションです。
81
82 @itemize @bullet
83
84 @item
85 Ubuntu Linux 9.04 / 8.04
86
87 @item
88 Vine Linux 4.2
89 @end itemize
90
91 @section @file{yacasl2.tar.gz}のダウンロード
92 (詳細未定)
93
94 @verbatim
95 $ cd
96 $ wget somewhere
97 @end verbatim
98
99 @section @file{yacasl2.tar.gz}の検証
100 (PGPを使った検証も導入予定)
101
102 ダウンロードが完了したら、次のコマンドで正しくファイルがダウンロードができているかを検証します。
103
104 @verbatim
105 $ md5sum
106 @end verbatim
107
108 @section @file{yacasl2.tar.gz}の展開
109 @file{yacasl2.tar.gz}をダウンロードしたら、次のコマンドで展開します。
110
111 @verbatim
112 $ tar xvzf yacasl2.tar.gz
113 @end verbatim
114
115 @section @command{casl2}、@command{comet2}、@command{dumpword}のビルド
116
117 @verbatim
118 $ cd yacasl2
119 $ make
120 @end verbatim
121
122 @section レグレッションテスト
123
124 @verbatim
125 $ make check
126 @end verbatim
127
128 @bye