\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename yacasl2.info
-@settitle YACASL2 - Linux上のCASL2処理系
+@settitle YACASL2 - Linux上のCASL II処理系
@c %**end of header
-@exampleindent 2
-
@copying
Copyright @copyright{} 2010 j8takagi
@end copying
+@exampleindent 2
+
+@dircategory Basics
+@direntry
+* YACASL2: (yacasl2).
+@end direntry
+
@titlepage
-@title
+@title YACASL2
+@subtitle Linux上のCASL II処理系
+@author j8takagi
+@insertcopying
@end titlepage
+
+@ifnottex
@node Top
+@end ifnottex
@menu
-* YACASL2の概要:about.
-* YACASL2のインストール:install.
-* YACASL2の使い方:tutorial.
+* YACASL2の概要::
+* YACASL2のインストール::
+* YACASL2の使い方::
@end menu
-
-@c Output the table of contents at the beginning.
@contents
-@insertcopying
-
-@node about, install, Top, Top
+@node YACASL2の概要, YACASL2のインストール, Top, Top
@chapter YACASL2の概要
-@cindex chapter, first
-
YACASL2は、Linux上で動作するオープンソースのCASL II処理系です。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。
@quotation
インストール時に、@command{tar}、@command{gcc}、@command{make}が必要です。
-@node install, tutorial, about, Top
+@node YACASL2のインストール, YACASL2の使い方, YACASL2の概要, Top
@chapter YACASL2のインストール
-
YACASL2をインストールするには、Linux上で次の作業をします。
@enumerate
詳細なテスト
@item
-環境設定@var{PATH}の設定
+環境変数@var{PATH}の設定
@end enumerate
以下の操作は、端末を開きコマンドを実行します。
@cartouche
@example
-$ @b{cd}
-$ @b{wget somewhere/yacasl2.tar.gz}
-$ @b{wget somewhere/yacasl2.tar.gz.md5sum}
+$ @command{cd}
+$ @command{wget somewhere/yacasl2.tar.gz}
+$ @command{wget somewhere/yacasl2.tar.gz.md5sum}
@end example
@end cartouche
@cartouche
@example
-$ @b{md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}
+$ @command{md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}
Files yacasl2.tar.gz.md5sum and - are identical
@end example
@end cartouche
@cartouche
@example
-$ @b{tar xvzf yacasl2.tar.gz}
+$ @command{tar xvzf yacasl2.tar.gz}
@end example
@end cartouche
@cartouche
@example
-$ @b{cd yacasl2}
-$ @b{make}
+$ @command{cd yacasl2}
+$ @command{make}
make -C src
make[1]: Entering directory ‘/home/kazubito/yacasl2/src’
gcc -c -g -Wall -I ../include casl2.c
@cartouche
@example
-$ @b{./casl2 as/hello.casl}
+$ @command{./casl2 as/hello.casl}
Hello, World!
@end example
@end cartouche
@cartouche
@example
-$ @b{make check}
+$ @command{make check}
194 / 194 tests passed. Details in /home/kazubito/yacasl2/test/integra
tion/casl2/Test.log
All tests are succeded.
@end example
@end cartouche
-@section 環境設定@var{PATH}の設定
+@section 環境変数@var{PATH}の設定
環境変数@var{PATH}にYACASL2のディレクトリーを追加すると、どのディレクトリーでも@command{casl2}、@command{comet2}、@command{dumpword}を実行できます。
-環境変数の設定方法は使っているシェルによって異なります。シェルは、次のコマンドで確認できます。現在もっとも多く使われているのは、BASHでしょう。
+環境変数の設定方法は使っているシェルによって異なります。シェルは、次のコマンドで確認できます。
@cartouche
@example
-$ @b{echo $SHELL}
+$ @command{echo $SHELL}
/bin/bash
@end example
@end cartouche
-シェルがBASHの場合、次のコマンドを実行すると環境変数@var{PATH}にYACASL2のディレクトリーが追加されます。
+現在もっとも多く使われているシェルは、BASHでしょう。BASHでは、次のコマンドを実行すると環境変数@var{PATH}にYACASL2のディレクトリーが追加されます。
@cartouche
@example
-$ @b{PATH=$PATH:~/yacasl2 && export PATH}
+$ @command{PATH=$PATH:~/yacasl2 && export PATH}
@end example
@end cartouche
-ã\82·ã\82§ã\83«ã\81®å\88\9dæ\9c\9fè¨å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81«ä¸\8aè¨\98ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\82\92追å\8a ã\81\99ã\82\8cã\81°ã\80\81ä»\8aå¾\8cã\83ã\82°ã\82¤ã\83³ã\81\97ã\81\9få¾\8cã\81¯è\87ªå\8b\95ç\9a\84ã\81«ã\81©ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83¼ã\81§ã\82\82 @command{casl2}ã\80\81@command{comet2}ã\80\81@command{dumpword}ã\82\92å®\9fè¡\8cã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\82\8aã\81¾ã\81\99ã\80\82BASHã\81®å ´å\90\88ã\81¯ã\83\9bã\83¼ã\83 ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83¼ã\81«ã\81\82ã\82\8b@file{.bashrc}ã\81\8cå\88\9dæ\9c\9fè¨å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\81\9fã\82\81ã\80\81ã\82³ã\83\9eã\83³ã\83\89ã\81¯æ¬¡ã\81®ã\82\88ã\81\86ã\81«ã\81ªã\82\8aます。
+ã\82·ã\82§ã\83«ã\81®å\88\9dæ\9c\9fè¨å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81«ä¸\8aè¨\98ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\82\92追å\8a ã\81\99ã\82\8cã\81°ã\80\81ä»\8aå¾\8cã\83ã\82°ã\82¤ã\83³ã\81\97ã\81\9få¾\8cã\81¯è\87ªå\8b\95ç\9a\84ã\81«ã\81©ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83¼ã\81§ã\82\82 @command{casl2}ã\80\81@command{comet2}ã\80\81@command{dumpword}ã\82\92å®\9fè¡\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82BASHã\81§ã\81¯ã\83\9bã\83¼ã\83 ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83¼ã\81«ã\81\82ã\82\8b@file{.bashrc}ã\81\8cå\88\9dæ\9c\9fè¨å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\81\9fã\82\81ã\80\81次ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81§è¿½å\8a ã\81\95ã\82\8cます。
@cartouche
@example
-$ @b{echo ’PATH=$PATH:~/yacasl2 && export PATH’ >>~/.bashrc}
+$ @command{echo ’PATH=$PATH:~/yacasl2 && export PATH’ >>~/.bashrc}
@end example
@end cartouche
-@node tutorial,, install, Top
+@node YACASL2の使い方,, YACASL2のインストール, Top
@chapter YACASL2 の使い方
-
YACASL2 は、テキストファイルに記述されたCASLプログラムを処理します。以下の例で用いられるCASLプログラムのファイルは、テキストエディタなどで作成してください。また、インストールしたディレクトリーの中にある@file{as}ディレクトリーからコピーして作成することもできます。
@section 実行結果の出力だけを表示
@cartouche
@example
-$ @b{cat hello.casl}
+$ @command{cat hello.casl}
MAIN START
OUT OBUF,LEN
RET
@cartouche
@example
-$ @b{casl2 hello.casl}
+$ @command{casl2 hello.casl}
Hello, World!
@end example
@end cartouche
@cartouche
@example
-$ @b{cat addl.casl}
+$ @command{cat addl.casl}
;;; ADDL r,adr
MAIN START
LD GR1,A
@cartouche
@example
-$ @b{casl2 addl.casl}
+$ @command{casl2 addl.casl}
$
@end example
@end cartouche
@cartouche
@example
-$ @b{cat sum_10.casl}
+$ @command{cat sum_10.casl}
;;; sum_10.casl
;;; 出力 GR0: 1から10までの整数をすべて加算した値
MAIN START
このプログラムも、オプションなしで実行した場合には結果が出力されません。
@cartouche
@example
-$ @b{casl2 sum_10.casl}
+$ @command{casl2 sum_10.casl}
$
@end example
@end cartouche
@cartouche
@example
-$ @b{casl2 -a -l hello.casl}
+$ @command{casl2 -a -l hello.casl}
Assemble hello.casl (0)
@cartouche
@example
-$ @b{casl2 -a -l addl.casl}
+$ @command{casl2 -a -l addl.casl}
Assemble addl.casl (0)
@cartouche
@example
-$ @b{casl2 -t -d -M8 addl.casl | less}
+$ @command{casl2 -t -d -M8 addl.casl | less}
Assemble addl.casl (0)
@cartouche
@example
-$ @b{casl2 -t addl.casl | grep 'GR1:'}
+$ @command{casl2 -t addl.casl | grep 'GR1:'}
#0000: GR1: 0 = #0000 = 0000000000000000
#0002: GR1: 3 = #0003 = 0000000000000011
#0004: GR1: 4 = #0004 = 0000000000000100
@cartouche
@example
-$ @b{casl2 -t addl.casl | grep 'GR1:' | tail -1}
+$ @command{casl2 -t addl.casl | grep 'GR1:' | tail -1}
#0004: GR1: 4 = #0004 = 0000000000000100
@end example
@end cartouche
@cartouche
@example
-$ @b{casl2 -t sum_10.casl | grep 'GR0:' | tail -1}
+$ @command{casl2 -t sum_10.casl | grep 'GR0:' | tail -1}
#0010: GR0: 55 = #0037 = 0000000000110111 = '7'
@end example
@end cartouche
@cartouche
@example
-$ @b{casl2 -t hello.casl | grep 'GR1:' | wc -l}
+$ @command{casl2 -t hello.casl | grep 'GR1:' | wc -l}
11
@end example
@end cartouche
@cartouche
@example
-$ @b{casl2 -t addl.casl | grep 'GR1:' | wc -l}
+$ @command{casl2 -t addl.casl | grep 'GR1:' | wc -l}
3
@end example
@end cartouche
@cartouche
@example
-$ @b{casl2 -t sum_10.casl | grep 'GR0:' | wc -l}
+$ @command{casl2 -t sum_10.casl | grep 'GR0:' | wc -l}
54
@end example
@end cartouche
@section アセンブルと実行を別に行う
-@command{casl2}に@option{-O}<@file{ファイル名}>を指定すると、オブジェクトファイルを作成できます。
+@command{casl2}に@option{-O}@file{ファイル名}を指定すると、オブジェクトファイルを作成できます。
@cartouche
@example
-$ @b{casl2 -Ohello.o hello.casl}
+$ @command{casl2 -Ohello.o hello.casl}
@end example
@end cartouche
@cartouche
@example
-$ @b{od -t x2 hello.o}
+$ @command{od -t x2 hello.o}
0000000 7001 0000 7002 0000 1210 0013 1220 0020
0000020 f000 0002 1210 0021 1220 0022 f000 0002
0000040 7120 7110 8100 0048 0065 006c 006c 006f
@cartouche
@example
-$ @b{comet2 hello.o}
+$ @command{comet2 hello.o}
Hello, World!
@end example
@end cartouche
@cartouche
@example
-$ @b{dumpword 72}
+$ @command{dumpword 72}
72: 72 = #0048 = 0000000001001000 = 'H'
@end example
@end cartouche
@cartouche
@example
-$ @b{dumpword -- -72}
+$ @command{dumpword} @verb{|--|} @command{-72}
-72: -72 = #FFB8 = 1111111110111000
@end example
@end cartouche
@cartouche
@example
-$ @b{dumpword '#0048'}
+$ @command{dumpword '#0048'}
#0048: 72 = #0048 = 0000000001001000 = 'H'
@end example
@end cartouche