info: $(DOCNAME).info
-htmlnosplit: $(DOCNAME).html
- $(MV) $< index.html
+htmlnosplit: index.html
+
+index.html: $(SRC) $(CSS)
+ $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $(SRC)
html: $(SRC) $(CSS)
if test ! -e $@; then $(MKDIR) $@; fi;
pdf: $(DOCNAME).pdf
-$(DOCNAME).html: $(SRC) $(CSS)
- $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $(SRC)
-
$(DOCNAME).pdf: $(DOCNAME).dvi
$(DVI2PDF) $^
<ul>
<li><a href="#Download">2.1 YACASL2ファイルのダウンロード</a>
<li><a href="#Verify">2.2 YACASL2ファイルの検証</a>
+<ul>
+<li><a href="#Verify">2.2.1 GnuPG分離署名での検証</a>
+<li><a href="#Verify">2.2.2 MD5ハッシュ値での検証</a>
+</li></ul>
<li><a href="#Expand">2.3 YACASL2ファイルの展開</a>
<li><a href="#Build">2.4 <kbd>casl2</kbd> <kbd>comet2</kbd> <kbd>dumpword</kbd>のビルド</a>
<li><a href="#Simple-Test">2.5 <kbd>casl2</kbd>の実行テスト</a>
<p>YACASL2は、UNIX/Linuxのコマンドラインインターフェイスで動作するオープンソースのCASL II処理システムです。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。
<blockquote>
-<a href="http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf">試験で使用する情報処理用語・プログラム言語など(2008年10月版)</a>[PDFファイル]
+<a href="http://www.jitec.jp/1_04hanni_sukiru/_index_hanni_skill.html">「試験で使用する情報技術に関する用語・プログラム言語など」Ver2.2(2012年5月版)</a>[PDFファイル]
別紙 1 アセンブラ言語の仕様
</blockquote>
<p>YACASL2は、CASL IIアセンブラ言語で記述されたファイルをアセンブルし、仮想マシンCOMET II上で実行します。アセンブルと実行は、連続で行うことも別々に行うことも可能です。
YACASL2の動作はCASL IIの仕様に準拠しているため、情報処理試験の問題をはじめ各種参考書やサイトに記載されたCASL IIのプログラムをそのままアセンブルして実行できます。また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。
- <p>YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
+ <p>YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を直接表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
<ul>
<li>ラベルとアドレスの対応
<h3 class="unnumberedsec">要件</h3>
- <p>YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確認しているのは、次の環境です。
-
- <ul>
-<li>Ubuntu Linux 10.04
-
- <li>Vine Linux 5.2
-
- <li>Mac OS X 10.6.5
-</ul>
+ <p>YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。
- <p>インストール時に、<kbd>tar</kbd> <kbd>gcc</kbd> <kbd>make</kbd>が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、<code>Xcode</code>をインストールするといっしょにインストールされます。
+ <p>インストール時に、<kbd>tar</kbd> <kbd>gcc</kbd> <kbd>make</kbd>(<kbd>gmake</kbd>)が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、<code>Xcode</code>のcommand line toolsをインストールすれば使えるようになります。
<div class="node">
<a name="Install"></a>
<h3 class="section">2.1 YACASL2ファイルのダウンロード</h3>
- <p><a href="http://www.j8takagi.net/yacasl2/">YACASL2ã\81®ã\82µã\82¤ã\83\88</a>ã\81¾ã\81\9fã\81¯<a href="http://github.com/j8takagi/YACASL2/downloads/">githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸</a>ã\81\8bã\82\89æ\9c\80æ\96°ç\89\88ã\81®<samp><span class="file">tar.gz</span></samp>ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ます。
+ <p><a href="http://www.j8takagi.net/yacasl2/">YACASL2ã\81®ã\82µã\82¤ã\83\88</a>ã\81\8bã\82\89ã\80\81<samp><span class="file">tar.gz</span></samp>ã\81¾ã\81\9fã\81¯<samp><span class="file">tar.xz</span></samp>ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\80\81対å¿\9cã\81\99ã\82\8bæ¤\9c証ç\94¨ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ã\81¾ã\81\99ã\80\82<a href="http://github.com/j8takagi/YACASL2/downloads/">githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸</a>ã\81\8bã\82\89<samp><span class="file">tar.gz</span></samp>ã\81ªã\81©ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dます。
<div class="node">
<a name="Verify"></a>
<h3 class="section">2.2 YACASL2ファイルの検証</h3>
- <p>ダウンロードが完了したら、<kbd>md5sum</kbd>と<kbd>diff</kbd>で正しくファイルがダウンロードができているかを検証します。
+ <p>ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証にはGnuPG分離署名か、MD5ハッシュ値を使います。
+
+<h4 class="subsection">2.2.1 GnuPG分離署名での検証</h4>
+
+ <p>GnuPGの<kbd>gpg</kbd>で圧縮ファイルを検証します。この検証を行うには、GnuPGがインストールされ、自分の秘密鍵と公開鍵のペアが作成されている必要があります。
+
+<pre class="example">$ <kbd>gpg --verify yacasl2.tar.xz.asc</kbd>
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: Can't check signature: public key not found
+$ <kbd>gpg --recv-keys 25B62DD1</kbd>
+gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net
+gpg: key 25B62DD1: public key "j8takagi <j8takagi@nifty.com>" imported
+gpg: Total number processed: 1
+gpg: imported: 1 (RSA: 1)
+
+$ <kbd>gpg --lsign-key 25B62DD1</kbd>
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+sub 2048R/92E25C29 created: 2012-09-29 expires: never usage: E
+[ full ] (1). j8takagi <j8takagi@nifty.com>
+
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+ Primary key fingerprint: 653A 5D2E 49C3 2ADE 2FE3 87BB AB68 4DDB 25B6 2DD1
+
+ j8takagi <j8takagi@nifty.com>
+
+Are you sure that you want to sign this key with your
+key ".* <.*@.*>"
+
+The signature will be marked as non-exportable.
+
+Really sign? (y/N) y
+
+You need a passphrase to unlock the secret key for
+user: ".* <.*@.*>"
+2048-bit RSA key, ID ........, created 20..-..-..
+
+<input password>
+
+$ <kbd>gpg --verify yacasl2.tar.xz.asc</kbd>
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: checking the trustdb
+gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
+gpg: depth: 0 valid: 1 signed: 4 trust: 0-, 0q, 0n, 0m, 0f, 1u
+gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u
+gpg: Good signature from "j8takagi <j8takagi@nifty.com>"
+</pre>
+ <h4 class="subsection">2.2.2 MD5ハッシュ値での検証</h4>
+
+ <p><kbd>md5sum</kbd>と<kbd>diff</kbd>で圧縮ファイルを検証します。
<pre class="example">$ <kbd>openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -</kbd>
Files yacasl2.tar.gz.md5sum and - are identical
@titlepage
@title YACASL2
-@subtitle UNIX/Linuxのコマンドラインインターフェイスで動作するCASL II処理システム
+@subtitle UNIX系OSのコマンドラインで動作するオープンソースのCASL II処理システム
@author j8takagi
@insertcopying
@end titlepage
@cartouche
@end iftex
@quotation
-@uref{http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf, 試験で使用する情報処理用語・プログラム言語など(2008年10月版)}[PDFファイル]
+@uref{http://www.jitec.jp/1_04hanni_sukiru/_index_hanni_skill.html, 「試験で使用する情報技術に関する用語・プログラム言語など」Ver2.2(2012年5月版)}[PDFファイル]
別紙 1 アセンブラ言語の仕様
@end quotation
@iftex
YACASL2は、CASL IIアセンブラ言語で記述されたファイルをアセンブルし、仮想マシンCOMET II上で実行します。アセンブルと実行は、連続で行うことも別々に行うことも可能です。
YACASL2の動作はCASL IIの仕様に準拠しているため、情報処理試験の問題をはじめ各種参考書やサイトに記載されたCASL IIのプログラムをそのままアセンブルして実行できます。また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。
-YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
+YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を直接表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
@itemize @bullet
YACASL2の操作は、端末を開いてコマンドを入力・実行することで行います。
@unnumberedsec 要件
-YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確認しているのは、次の環境です。
+YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。
-@itemize @bullet
-
-@item
-Ubuntu Linux 10.04
-
-@item
-Vine Linux 5.2
-
-@item
-Mac OS X 10.6.5
-@end itemize
-
-インストール時に、@kbd{tar} @kbd{gcc} @kbd{make}が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、@code{Xcode}をインストールするといっしょにインストールされます。
+インストール時に、@kbd{tar} @kbd{gcc} @kbd{make}(@kbd{gmake})が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、@code{Xcode}のcommand line toolsをインストールすれば使えるようになります。
@node Install, Usage, About, Top
@chapter YACASL2のインストール
@node Download, Verify, Install, Install
@section YACASL2ファイルのダウンロード
-@uref{http://www.j8takagi.net/yacasl2/, YACASL2ã\81®ã\82µã\82¤ã\83\88}ã\81¾ã\81\9fã\81¯@uref{http://github.com/j8takagi/YACASL2/downloads/, githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸}ã\81\8bã\82\89æ\9c\80æ\96°ç\89\88ã\81®@file{tar.gz}ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ます。
+@uref{http://www.j8takagi.net/yacasl2/, YACASL2ã\81®ã\82µã\82¤ã\83\88}ã\81\8bã\82\89ã\80\81@file{tar.gz}ã\81¾ã\81\9fã\81¯@file{tar.xz}ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\80\81対å¿\9cã\81\99ã\82\8bæ¤\9c証ç\94¨ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ã\81¾ã\81\99ã\80\82@uref{http://github.com/j8takagi/YACASL2/downloads/, githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸}ã\81\8bã\82\89@file{tar.gz}ã\81ªã\81©ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dます。
@node Verify, Expand, Download, Install
@section YACASL2ファイルの検証
-ダウンロードが完了したら、@kbd{md5sum}と@kbd{diff}で正しくファイルがダウンロードができているかを検証します。
+ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証にはGnuPG分離署名か、MD5ハッシュ値を使います。
+
+@subsection GnuPG分離署名での検証
+
+GnuPGの@kbd{gpg}で圧縮ファイルを検証します。この検証を行うには、GnuPGがインストールされ、自分の秘密鍵と公開鍵のペアが作成されている必要があります。
+
+@example
+$ @kbd{gpg --verify yacasl2.tar.xz.asc}
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: Can't check signature: public key not found
+$ @kbd{gpg --recv-keys 25B62DD1}
+gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net
+gpg: key 25B62DD1: public key "j8takagi <j8takagi@@nifty.com>" imported
+gpg: Total number processed: 1
+gpg: imported: 1 (RSA: 1)
+
+$ @kbd{gpg --lsign-key 25B62DD1}
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+sub 2048R/92E25C29 created: 2012-09-29 expires: never usage: E
+[ full ] (1). j8takagi <j8takagi@@nifty.com>
+
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+ Primary key fingerprint: 653A 5D2E 49C3 2ADE 2FE3 87BB AB68 4DDB 25B6 2DD1
+
+ j8takagi <j8takagi@@nifty.com>
+
+Are you sure that you want to sign this key with your
+key ".* <.*@@.*>"
+
+The signature will be marked as non-exportable.
+
+Really sign? (y/N) y
+
+You need a passphrase to unlock the secret key for
+user: ".* <.*@@.*>"
+2048-bit RSA key, ID ........, created 20..-..-..
+
+<input password>
+
+$ @kbd{gpg --verify yacasl2.tar.xz.asc}
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: checking the trustdb
+gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
+gpg: depth: 0 valid: 1 signed: 4 trust: 0-, 0q, 0n, 0m, 0f, 1u
+gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u
+gpg: Good signature from "j8takagi <j8takagi@@nifty.com>"
+@end example
+
+@subsection MD5ハッシュ値での検証
+
+@kbd{md5sum}と@kbd{diff}で圧縮ファイルを検証します。
@example
$ @kbd{openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}