<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.3, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Copyright © 2010-2026 j8takagi -->
<title>casl2 invocation (YACASL2 - CASL II 処理システム)</title>
<meta name="description" content="casl2 invocation (YACASL2 - CASL II 処理システム)">
<meta name="keywords" content="casl2 invocation (YACASL2 - CASL II 処理システム)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html" rel="up" title="Top">
<link href="comet2-invocation.html" rel="next" title="comet2 invocation">
<link href="Sample-usage.html" rel="prev" title="Sample usage">
<style type="text/css">
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
div.example {margin-left: 3.2em}
kbd.kbd {font-style: oblique}
span:hover a.copiable-link {visibility: visible}
ul.mark-bullet {list-style-type: disc}
</style>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="chapter-level-extent" id="casl2-invocation">
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="comet2-invocation.html" accesskey="n" rel="next"><code class="command">comet2</code>の呼び出し</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Sample-usage.html" accesskey="p" rel="prev">YACASL2の使用例</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="index.html" accesskey="u" rel="up">YACASL2 - CASL II 処理システム</a></span></span><span class="nav-button"> </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>
<hr>
<h2 class="chapter" id="casl2_306e_547c_3073_51fa_3057"><span>3 <code class="command">casl2</code>の呼び出し<a class="copiable-link" href="#casl2_306e_547c_3073_51fa_3057"> ¶</a></span></h2>
<a class="index-entry-id" id="index-casl2-1"></a>
<a class="index-entry-id" id="index-casl2"></a>
<a class="index-entry-id" id="index-invoking"></a>
<a class="index-entry-id" id="index-options"></a>
<a class="index-entry-id" id="index-usage"></a>
<a class="index-entry-id" id="index-help"></a>
<p><code class="command">casl2</code>は、引数として指定されたCASLファイルをアセンブルし、仮想マシンCOMET II上で実行します。
CASLファイルは、アセンブラ言語CASL IIで記述されたテキストファイルです。
引数が指定されない場合は、エラーメッセージを表示して終了します。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 hello.casl</kbd>
</pre></div>
<p>複数のCASLファイルを指定することで、副プログラムを呼び出すこともできます。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl</kbd>
</pre></div>
<ul class="mini-toc">
<li><a href="#g_t_30aa_30d7_30b7_30e7_30f3" accesskey="1">オプション</a></li>
</ul>
<div class="unnumberedsec-level-extent" id="g_t_30aa_30d7_30b7_30e7_30f3">
<h3 class="unnumberedsec"><span>オプション<a class="copiable-link" href="#g_t_30aa_30d7_30b7_30e7_30f3"> ¶</a></span></h3>
<p><code class="command">casl2</code>は、次のオプションを指定できます。
</p>
<dl class="table">
<dt><samp class="option">-s</samp></dt>
<dt><samp class="option">--source</samp></dt>
<dd><p>CASLファイルの内容を表示します。
</p>
</dd>
<dt><samp class="option">-l</samp></dt>
<dt><samp class="option">--label</samp></dt>
<dd><p>ラベルの一覧を次の形式で表示します。
表示後、ほかの作業を続行します。
</p>
<div class="example">
<pre class="example-preformatted"><プログラム名>.<ラベル名> ---> <アドレスの16進数表現>
</pre></div>
</dd>
<dt><samp class="option">-L</samp></dt>
<dt><samp class="option">--labelonly</samp></dt>
<dd><p><samp class="option">-l</samp>と同じ形式でラベルの一覧を表示します。
表示後、ほかの作業は続行せず、終了します。
</p>
</dd>
<dt><samp class="option">-a</samp></dt>
<dt><samp class="option">--assembledetail</samp></dt>
<dd><p>アセンブル詳細結果を表示し、ほかの作業を続行します。
</p>
</dd>
<dt><samp class="option">-A</samp></dt>
<dt><samp class="option">--assembledetailonly</samp></dt>
<dd><p>アセンブル詳細結果を表示して終了します。
</p>
</dd>
<dt><samp class="option">-o<OBJECTFILE></samp></dt>
<dt><samp class="option">--assembleout<OBJECTFILE></samp></dt>
<dd><p>アセンブル結果をオブジェクトファイル<samp class="file"><OBJECTFILE></samp>に出力し、ほかの作業を続行します。
出力されたオブジェクトファイルは、<code class="command">comet2</code>で実行できます。
オブジェクトファイルを指定しない場合、出力先は<samp class="file">a.o</samp>です。
オブジェクトファイルは1つだけ指定できます。
</p>
</dd>
<dt><samp class="option">-O[<OBJECTFILE>]</samp></dt>
<dt><samp class="option">--assembleoutonly[<OBJECTFILE>]</samp></dt>
<dd><p>アセンブル結果をオブジェクトファイル<samp class="file"><OBJECTFILE></samp>に出力し、終了します。
出力されたオブジェクトファイルは、<code class="command">comet2</code>で実行できます。
オブジェクトファイルを指定しない場合、出力先は<samp class="file">a.o</samp>です。
オブジェクトファイルは1つだけ指定できます。
</p>
</dd>
<dt><samp class="option">-t</samp></dt>
<dt><samp class="option">--trace</samp></dt>
<dt><samp class="option">--tracearithmetic</samp></dt>
<dd><p>プログラム実行中のレジスタの値を次の形式で表示します。
</p>
<div class="example">
<pre class="example-preformatted"><PR値の16進数表現>: <レジスタ>: <値の10進数表現> =
<値の16進数表現> = <値の2進数表現>[ ='文字']
</pre></div>
<ul class="itemize mark-bullet">
<li><code class="code"><PR値の16進数表現></code>と<code class="code"><レジスタ></code>、<code class="code"><値の16進数表現></code>は、4けたの16進数で表されます。
<code class="code"><PR値の16進数表現></code>と<code class="code"><値の16進数表現></code>には、先頭に<code class="code">#</code>が付きます。
範囲は<code class="code">#0000</code>から<code class="code">#FFFF</code>です
</li><li><code class="code"><値の10進数表現></code>は符号の付いた10進数です。
範囲は-32768から32767です。
</li><li><code class="code"><値の2進数表現></code>は、16けたの2進数で表されます。
範囲は、<code class="code">0000000000000000</code>から<code class="code">1111111111111111</code>です
</li><li><code class="code">[ ='文字']</code>は、レジストリの値が「文字の組」の範囲に含まれる場合に表示されます。
</li></ul>
<p>表示されるレジスタには、次の種類があります。
</p>
<dl class="table">
<dt><code class="code">GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7</code></dt>
<dd><p>汎用レジスタ
</p>
</dd>
<dt><code class="code">SP</code></dt>
<dd><p>スタックポインタ
</p>
</dd>
<dt><code class="code">PR</code></dt>
<dd><p>プログラムレジスタ
</p>
</dd>
<dt><code class="code">FR</code></dt>
<dd><p>フラグレジスタ
</p></dd>
</dl>
<p>例えば、次のように表示されます。
</p>
<div class="example">
<pre class="example-preformatted">#0002: GR1: 3 = #0003 = 0000000000000011
</pre></div>
</dd>
<dt><samp class="option">-T</samp></dt>
<dt><samp class="option">--tracelogical</samp></dt>
<dd><p><samp class="option">-t</samp>と同じように、プログラム実行中のレジスタの値を表示します。
ただし<samp class="option">-t</samp>と異なり、<code class="code"><値の10進数表現></code>は符号の付かない10進数です。
値の範囲は0から65535です。
</p>
</dd>
<dt><samp class="option">-d</samp></dt>
<dt><samp class="option">--dump</samp></dt>
<dd><p>メモリの内容をすべて表示します。
</p>
</dd>
<dt><samp class="option">-M <MEMORYSIZE></samp></dt>
<dt><samp class="option">--memorysize <MEMORYSIZE></samp></dt>
<dd><p>アセンブルおよび実行時のメモリサイズ<samp class="option"><MEMORYSIZE></samp>を0から65535の範囲で指定します。
指定しない場合、512です。
</p>
</dd>
<dt><samp class="option">-C <CLOCKS></samp></dt>
<dt><samp class="option">--clocks <CLOCKS></samp></dt>
<dd><p>実行時のクロック周波数<samp class="option"><CLOCKS></samp>を0より大きい整数で指定します。
指定しない場合、クロック周波数は5000000です。
</p>
</dd>
<dt><samp class="option">-v</samp></dt>
<dt><samp class="option">--version</samp></dt>
<dd><p><code class="command">casl2</code>のバージョンを表示して終了します。
</p>
</dd>
<dt><samp class="option">-h</samp></dt>
<dt><samp class="option">--help</samp></dt>
<dd><p><code class="command">casl2</code>の使用方法を表示して終了します。
</p></dd>
</dl>
</div>
</div>
<hr>
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="comet2-invocation.html"><code class="command">comet2</code>の呼び出し</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Sample-usage.html">YACASL2の使用例</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="index.html">YACASL2 - CASL II 処理システム</a></span></span><span class="nav-button"> </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>
</body>
</html>