@c %**end of header
@copying
-Copyright @copyright{} 2010 j8takagi
+Copyright @copyright{} 2010-2011 j8takagi
@end copying
@exampleindent 2
@titlepage
@title YACASL2
-@subtitle Linux上のCASL II処理系
+@subtitle UNIX/Linuxのコマンドラインインターフェイスで動作するCASL II処理システム
@author j8takagi
@insertcopying
@end titlepage
@ifnottex
-@node Top
+@node Top, About, (dir), (dir)
@end ifnottex
@menu
-* About::
-* Install::
-* Usage::
-* Command Manual::
-* CASL2LIB Manual::
+* About:: YACASL2の概要
+* Install:: YACASL2のインストール
+* Usage:: YACASL2の使い方
+* Command Manual:: YACASL2コマンドマニュアル
+* CASL2LIB Manual:: CASL2LIBマニュアル
@end menu
@contents
@node About, Install, Top, Top
@chapter YACASL2の概要
-YACASL2は、Linux上で動作するオープンソースのCASL II処理系です。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。
+YACASL2は、UNIX/Linuxのコマンドラインインターフェイスで動作するオープンソースのCASL II処理システムです。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。
@iftex
@cartouche
* Build:: @kbd{casl2}、@kbd{comet2}、@kbd{dumpword}のビルド
* Simple Test:: @kbd{casl2}の実行テスト
* Detail Test:: 詳細なテスト
-* Environment:: 環境変数の設定
+* Environment:: 環境変数の設定
@end menu
@node Download, Verify, Install, Install
@section YACASL2ファイルのダウンロード
次の場所から最新版の@file{tar.gz}ファイルをダウンロードします。
-@iftex
-@cartouche
-@end iftex
-@quotation
-@uref{http://github.com/j8takagi/YACASL2, GitHub/j8takagi/YACASL2}の@uref{http://github.com/j8takagi/YACASL2/downloads, ダウンロードページ}
-@end quotation
-@iftex
-@end cartouche
-@end iftex
-続けて、対応する@file{md5sum}ファイルをダウンロードします。
+@itemize
+@item
+@uref{yacasl2.tar.gz} - YACASL2のファイル一式を@file{tar.gz}形式で圧縮したもの
+
+@item
+@uref{yacasl2.tar.gz.md5sum} - @file{yacasl2.tar.gz}のMD5ハッシュ値
+@end itemize
+
+または、@uref{http://github.com/j8takagi/YACASL2/downloads, githubのダウンロードページ}からダウンロード、
@node Verify, Expand, Download, Install
@section YACASL2ファイルの検証
ダウンロードが完了したら、@kbd{md5sum}と@kbd{diff}で正しくファイルがダウンロードができているかを検証します。
@example
-$ @kbd{md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}
+$ @kbd{openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}
Files yacasl2.tar.gz.md5sum and - are identical
@end example
All tests are succeded.
@end example
-@node Environment,, Detail Test, Install
+@node Environment, , Detail Test, Install
@section 環境変数の設定
環境変数を設定することで、YACASL2が使いやすくなります。環境変数の設定は、シェルの初期設定ファイルに追加することでログインしたあと自動的に反映されます。
#0010: GR0: 55 = #0037 = 0000000000110111 = '7'
@end example
-@node Step Count,, Ending Value, Register and Memory
+@node Step Count, , Ending Value, Register and Memory
@subsection プログラムのステップ数を表示
@kbd{grep}と@kbd{wc}を組み合わせれば、プログラムのステップ数を表示できます。
#0048: 72 = #0048 = 0000000001001000 = 'H'
@end example
-@node CASL2lib,, Analyze Word, Usage
+@node CASL2lib, , Analyze Word, Usage
@section CASL2ライブラリの使用
YACASL2の@file{as/casl2lib}ディレクトリには、CASL IIで記述されたライブラリファイルが格納されています。
4
@end example
-@node Command Manual,CASL2LIB Manual,Usage,TOP
+@node Command Manual, CASL2LIB Manual, Usage, Top
@chapter YACASL2コマンドマニュアル
@cindex YACASL2コマンドマニュアル
* dumpword::
@end menu
-@node casl2
+@node casl2, comet2, Command Manual, Command Manual
@section @kbd{casl2}
@pindex casl2
@kbd{casl2}の使用方法を表示して終了します。
@end table
-@node comet2
+@node comet2, dumpword, casl2, Command Manual
@section @kbd{comet2}
@pindex comet2
@kbd{comet2}の使用方法を表示して終了します。
@end table
-@node dumpword
+@node dumpword, , comet2, Command Manual
@section @kbd{dumpword}
@pindex dumpword
@kbd{dumpword}の使用方法を表示して終了します。
@end table
-@node CASL2LIB Manual,,Command Manual,TOP
+@node CASL2LIB Manual, , Command Manual, Top
@chapter CASL2LIBマニュアル
@menu
-* ABS::
-* DIVA::
-* DIVL::
-* INL::
-* L2STR::
-* MAX::
-* MINIM::
-* MULA::
-* MULL::
-* OUTA::
-* OUTB::
-* OUTD_Q15::
-* OUTL::
-* REV::
-* STR2L::
+* ABS:: @kbd{ABS} - @file{abs.casl}
+* DIVA:: @kbd{DIVA} - @file{diva.casl}
+* DIVL:: @kbd{DIVL} - @file{divl.casl}
+* INL:: @kbd{INL} - @file{inl.casl}
+* L2STR:: @kbd{L2STR} - @file{l2str.casl}
+* MAX:: @kbd{MAX} - @file{max.casl}
+* MINIM:: @kbd{MINIM} - @file{minim.casl}
+* MULA:: @kbd{MULA} - @file{mula.casl}
+* MULL:: @kbd{MULL} - @file{mull.casl}
+* OUTA:: @kbd{OUTA} - @file{outa.casl}
+* OUTB:: @kbd{OUTB} - @file{outb.casl}
+* OUTD_Q15:: @kbd{OUTD_Q15} - @file{outd_q15.casl}
+* OUTL:: @kbd{OUTL} - @file{outl.casl}
+* REV:: @kbd{REV} - @file{rev.casl}
+* STR2L:: @kbd{STR2L} - @file{str2l.casl}
@end menu
@node ABS, DIVA, CASL2LIB Manual, CASL2LIB Manual
@end example
@example
-$ @kbd{casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl
+$ @kbd{casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl \
$CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl}
1
@end example
@end example
@example
-$ @kbd{casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl
+$ @kbd{casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl \
$CASL2LIBDIR/outa.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/rev.casl}
-128
-127
@end example
@example
-$ @kbd{casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl
+$ @kbd{casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \
$CASL2LIBDIR/rev.casl}
256
254
@end example
@example
-$ @kbd{casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl
+$ @kbd{casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \
$CASL2LIBDIR/rev.casl}
256
254
@end example
-@node L2STR
+@node L2STR, MAX, INL, CASL2LIB Manual
@section @kbd{L2STR} - @file{l2str.casl}
-@node MAX
+符号なし整数を文字列に変換する
+
+@unnumberedsubsec 入力
+@table @code
+@item GR1
+符号なし整数
+
+@item GR2
+変換した文字列を格納するアドレス
+@end table
+
+@unnumberedsubsec 出力
+@table @code
+@item GR0
+文字列の長さ
+@end table
+
+@unnumberedsubsec 依存する副プログラム
+@itemize
+@item
+@code{DIVL}
+@end itemize
+
+@node MAX, MINIM, L2STR, CASL2LIB Manual
@section @kbd{MAX} - @file{max.casl}
-@node MINIM
+連続した複数のWORDを符号付き整数とみなして最大値を返す
+
+@unnumberedsubsec 入力
+@table @code
+@item GR1
+WORD値を格納したアドレス
+
+@item GR2
+値の個数
+@end table
+
+@unnumberedsubsec 出力
+@table @code
+@item GR0
+最大値
+@end table
+
+@unnumberedsubsec 依存する副プログラム
+なし
+
+@node MINIM, MULA, MAX, CASL2LIB Manual
@section @kbd{MINIM} - @file{minim.casl}
-@node MULA
+連続した複数のWORDを符号付き整数とみなして最小値を返す
+
+@unnumberedsubsec 入力
+@table @code
+@item GR1
+WORD値を格納したアドレス
+
+@item GR2
+値の個数
+@end table
+
+@unnumberedsubsec 出力
+@table @code
+@item GR0
+最小値
+@end table
+
+@unnumberedsubsec 依存する副プログラム
+なし
+
+@node MULA, MULL, MINIM, CASL2LIB Manual
@section @kbd{MULA} - @file{mula.casl}
-@node MULL
+@node MULL, OUTA, MULA, CASL2LIB Manual
@section @kbd{MULL} - @file{mull.casl}
-@node OUTA
+@node OUTA, OUTB, MULL, CASL2LIB Manual
@section @kbd{OUTA} - @file{outa.casl}
-@node OUTB
+@node OUTB, OUTD_Q15, OUTA, CASL2LIB Manual
@section @kbd{OUTB} - @file{outb.casl}
-@node OUTD_Q15
+@node OUTD_Q15, OUTL, OUTB, CASL2LIB Manual
@section @kbd{OUTD_Q15} - @file{outd_q15.casl}
-@node OUTL
+@node OUTL, REV, OUTD_Q15, CASL2LIB Manual
@section @kbd{OUTL} - @file{outl.casl}
-@node REV
+@node REV, STR2L, OUTL, CASL2LIB Manual
@section @kbd{REV} - @file{rev.casl}
-@node STR2L
+@node STR2L, , REV, CASL2LIB Manual
@section @kbd{STR2L} - @file{str2l.casl}
@bye