@c %**end of header
@copying
-Copyright @copyright{} 2010-2018 j8takagi
+Copyright @copyright{} 2010-2021 j8takagi
@end copying
@dircategory Programming
@cartouche
@end iftex
@quotation
-@uref{http://www.jitec.jp/1_13download/shiken_yougo_ver2_2.pdf, 試験で使用する情報処理用語・プログラム言語など Ver 2.2(平成24年5月22日)}[PDFファイル]
+@uref{https://www.jitec.ipa.go.jp/1_13download/shiken_yougo_ver4_2.pdf, 情報処理技術者試験 情報処理安全確保支援士試験 試験で使用する情報技術に関する用語・プログラム言語など Ver 4.2}[PDFファイル]
+
別紙 1 アセンブラ言語の仕様
@end quotation
@iftex
また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。
YACASL2は、「ふつうの処理系」として動作します。
-ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、
-コンピュータ内部の模式図を表示したりすることはありません。
-そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
+YACASL2の操作は、端末上のコマンドラインインターフェイス(CLI)で操作します。
+YACASL2は、次のような動作内容をすべてテキストで出力します。
@itemize @bullet
実行時のメモリの内容
@end itemize
-出力された動作内容は、GNU/Linuxのさまざまなコマンド、
+YACASL2では、機械コードモニターを使い、動作中のCPUやメモリーを調べたりデバッグしたりすることもできます。
+
+また、出力された動作内容は、GNU/Linuxのさまざまなコマンド、
たとえば、@command{cat}、@command{less}、@command{grep}、@command{wc}などを使って解析できます。
-YACASL2の操作は、端末上のコマンドラインインターフェイスで行います。
+
@node Sample usage, casl2 invocation, Overview, Top
@chapter YACASL2の使用例
@example
$ @kbd{cat sum_10.casl}
;;; sum_10.casl
-;;; 出力 GR0: 1から10までの整数をすべて加算した値
+;;; 1から10までの整数をすべて加算した値をメモリーに格納する
MAIN START
- PUSH 0,GR1
- LAD GR0,0 ; GR0を初期化
- LD GR1,FST ; GR1に初項を転送
-LOOP ADDL GR0,GR1 ; ループ先頭
+ XOR GR2,GR2 ; GR2を初期化
+ LD GR1,FST ; GR1に初項をメモリーから転送
+LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1
ADDL GR1,STEP ; GR1 <- GR1 + 公差
CPL GR1,LST ; GR1が末項より大きい場合は終了
JPL FIN ; ↓
JUMP LOOP ; ループ終端
-FIN POP GR1
+FIN ST GR2,RST ; GR2の結果をメモリーに転送
RET
FST DC 1 ; 初項
LST DC 10 ; 末項
STEP DC 1 ; 公差
+RST DS 1 ; 結果
END
@end example
@command{comet2}の使用方法を表示して終了します。
@end table
-@node dumpword invocation, CASL2LIB Manual, comet2 invocation, Top
+@node dumpword invocation, , comet2 invocation, Top
@chapter @command{dumpword}の呼び出し
@pindex dumpword
#0048: 72 = #0048 = 0000000001001000 = 'H'
@end example
-@unnumberedsubsec オプション
+@unnumberedsec オプション
@command{dumpword}は、次のオプションを指定できます。