<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>doc/manual_html/casl2-invocation.html</title>
<meta name='robots' content='noindex,nofollow' />
<meta name='generator' content='GLOBAL-6.6.14' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<link rel='stylesheet' type='text/css' href='../style.css' />
</head>
<body>
<a id='TOP' name='TOP'></a><h2 class='header'><a href='../mains.html'>root</a>/<a href='../files/2914.html'>doc</a>/<a href='../files/2919.html'>manual_html</a>/casl2-invocation.html</h2>
<em class='comment'>/* [<][>][^][v][top]<a href='#BOTTOM'>[bottom]</a><a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
<hr />
<pre>
<a id='L1' name='L1'></a><!DOCTYPE html>
<a id='L2' name='L2'></a><html>
<a id='L3' name='L3'></a><!-- Created by GNU Texinfo 7.3, https://www.gnu.org/software/texinfo/ -->
<a id='L4' name='L4'></a><head>
<a id='L5' name='L5'></a><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<a id='L6' name='L6'></a><!-- Copyright © 2010-2023 j8takagi -->
<a id='L7' name='L7'></a><title>casl2 invocation (YACASL2 - CASL II 処理システム)</title>
<a id='L8' name='L8'></a>
<a id='L9' name='L9'></a><meta name="description" content="casl2 invocation (YACASL2 - CASL II 処理システム)">
<a id='L10' name='L10'></a><meta name="keywords" content="casl2 invocation (YACASL2 - CASL II 処理システム)">
<a id='L11' name='L11'></a><meta name="resource-type" content="document">
<a id='L12' name='L12'></a><meta name="distribution" content="global">
<a id='L13' name='L13'></a><meta name="Generator" content="makeinfo">
<a id='L14' name='L14'></a><meta name="viewport" content="width=device-width,initial-scale=1">
<a id='L15' name='L15'></a>
<a id='L16' name='L16'></a><link href="index.html" rel="start" title="Top">
<a id='L17' name='L17'></a><link href="index.html" rel="up" title="Top">
<a id='L18' name='L18'></a><link href="comet2-invocation.html" rel="next" title="comet2 invocation">
<a id='L19' name='L19'></a><link href="Sample-usage.html" rel="prev" title="Sample usage">
<a id='L20' name='L20'></a><style type="text/css">
<a id='L21' name='L21'></a>a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
<a id='L22' name='L22'></a>div.example {margin-left: 3.2em}
<a id='L23' name='L23'></a>kbd.kbd {font-style: oblique}
<a id='L24' name='L24'></a>span:hover a.copiable-link {visibility: visible}
<a id='L25' name='L25'></a>ul.mark-bullet {list-style-type: disc}
<a id='L26' name='L26'></a></style>
<a id='L27' name='L27'></a><link rel="stylesheet" type="text/css" href="style.css">
<a id='L28' name='L28'></a>
<a id='L29' name='L29'></a>
<a id='L30' name='L30'></a></head>
<a id='L31' name='L31'></a>
<a id='L32' name='L32'></a><body>
<a id='L33' name='L33'></a><div class="chapter-level-extent" id="casl2-invocation">
<a id='L34' name='L34'></a><p class="nav-panel">
<a id='L35' name='L35'></a><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">Top</a></span></span><span class="nav-button"> &nbsp; </span></p>
<a id='L36' name='L36'></a><hr>
<a id='L37' name='L37'></a><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"> &para;</a></span></h2>
<a id='L38' name='L38'></a>
<a id='L39' name='L39'></a><a class="index-entry-id" id="index-casl2-1"></a>
<a id='L40' name='L40'></a><a class="index-entry-id" id="index-casl2"></a>
<a id='L41' name='L41'></a><a class="index-entry-id" id="index-invoking"></a>
<a id='L42' name='L42'></a><a class="index-entry-id" id="index-options"></a>
<a id='L43' name='L43'></a><a class="index-entry-id" id="index-usage"></a>
<a id='L44' name='L44'></a><a class="index-entry-id" id="index-help"></a>
<a id='L45' name='L45'></a>
<a id='L46' name='L46'></a><p><code class="command">casl2</code>は、引数として指定されたCASLファイルをアセンブルし、仮想マシンCOMET II上で実行します。
<a id='L47' name='L47'></a>CASLファイルは、アセンブラ言語CASL IIで記述されたテキストファイルです。
<a id='L48' name='L48'></a>引数が指定されない場合は、エラーメッセージを表示して終了します。
<a id='L49' name='L49'></a></p>
<a id='L50' name='L50'></a><div class="example">
<a id='L51' name='L51'></a><pre class="example-preformatted">$ <kbd class="kbd">casl2 hello.casl</kbd>
<a id='L52' name='L52'></a></pre></div>
<a id='L53' name='L53'></a>
<a id='L54' name='L54'></a><p>複数のCASLファイルを指定することで、副プログラムを呼び出すこともできます。
<a id='L55' name='L55'></a></p>
<a id='L56' name='L56'></a><div class="example">
<a id='L57' name='L57'></a><pre class="example-preformatted">$ <kbd class="kbd">casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl</kbd>
<a id='L58' name='L58'></a></pre></div>
<a id='L59' name='L59'></a>
<a id='L60' name='L60'></a><ul class="mini-toc">
<a id='L61' name='L61'></a><li><a href="#g_t_30aa_30d7_30b7_30e7_30f3" accesskey="1">オプション</a></li>
<a id='L62' name='L62'></a></ul>
<a id='L63' name='L63'></a><div class="unnumberedsec-level-extent" id="g_t_30aa_30d7_30b7_30e7_30f3">
<a id='L64' name='L64'></a><h3 class="unnumberedsec"><span>オプション<a class="copiable-link" href="#g_t_30aa_30d7_30b7_30e7_30f3"> &para;</a></span></h3>
<a id='L65' name='L65'></a>
<a id='L66' name='L66'></a><p><code class="command">casl2</code>は、次のオプションを指定できます。
<a id='L67' name='L67'></a></p>
<a id='L68' name='L68'></a><dl class="table">
<a id='L69' name='L69'></a><dt><samp class="option">-s</samp></dt>
<a id='L70' name='L70'></a><dt><samp class="option">--source</samp></dt>
<a id='L71' name='L71'></a><dd><p>CASLファイルの内容を表示します。
<a id='L72' name='L72'></a></p>
<a id='L73' name='L73'></a></dd>
<a id='L74' name='L74'></a><dt><samp class="option">-l</samp></dt>
<a id='L75' name='L75'></a><dt><samp class="option">--label</samp></dt>
<a id='L76' name='L76'></a><dd><p>ラベルの一覧を次の形式で表示します。
<a id='L77' name='L77'></a>表示後、ほかの作業を続行します。
<a id='L78' name='L78'></a></p>
<a id='L79' name='L79'></a><div class="example">
<a id='L80' name='L80'></a><pre class="example-preformatted">&lt;プログラム名&gt;.&lt;ラベル名&gt; ---&gt; &lt;アドレスの16進数表現&gt;
<a id='L81' name='L81'></a></pre></div>
<a id='L82' name='L82'></a>
<a id='L83' name='L83'></a></dd>
<a id='L84' name='L84'></a><dt><samp class="option">-L</samp></dt>
<a id='L85' name='L85'></a><dt><samp class="option">--labelonly</samp></dt>
<a id='L86' name='L86'></a><dd><p><samp class="option">-l</samp>と同じ形式でラベルの一覧を表示します。
<a id='L87' name='L87'></a>表示後、ほかの作業は続行せず、終了します。
<a id='L88' name='L88'></a></p>
<a id='L89' name='L89'></a></dd>
<a id='L90' name='L90'></a><dt><samp class="option">-a</samp></dt>
<a id='L91' name='L91'></a><dt><samp class="option">--assembledetail</samp></dt>
<a id='L92' name='L92'></a><dd><p>アセンブル詳細結果を表示し、ほかの作業を続行します。
<a id='L93' name='L93'></a></p>
<a id='L94' name='L94'></a></dd>
<a id='L95' name='L95'></a><dt><samp class="option">-A</samp></dt>
<a id='L96' name='L96'></a><dt><samp class="option">--assembledetailonly</samp></dt>
<a id='L97' name='L97'></a><dd><p>アセンブル詳細結果を表示して終了します。
<a id='L98' name='L98'></a></p>
<a id='L99' name='L99'></a></dd>
<a id='L100' name='L100'></a><dt><samp class="option">-o&lt;OBJECTFILE&gt;</samp></dt>
<a id='L101' name='L101'></a><dt><samp class="option">--assembleout&lt;OBJECTFILE&gt;</samp></dt>
<a id='L102' name='L102'></a><dd><p>アセンブル結果をオブジェクトファイル<samp class="file">&lt;OBJECTFILE&gt;</samp>に出力し、ほかの作業を続行します。
<a id='L103' name='L103'></a>出力されたオブジェクトファイルは、<code class="command">comet2</code>で実行できます。
<a id='L104' name='L104'></a>オブジェクトファイルを指定しない場合、出力先は<samp class="file">a.o</samp>です。
<a id='L105' name='L105'></a>オブジェクトファイルは1つだけ指定できます。
<a id='L106' name='L106'></a></p>
<a id='L107' name='L107'></a></dd>
<a id='L108' name='L108'></a><dt><samp class="option">-O[&lt;OBJECTFILE&gt;]</samp></dt>
<a id='L109' name='L109'></a><dt><samp class="option">--assembleoutonly[&lt;OBJECTFILE&gt;]</samp></dt>
<a id='L110' name='L110'></a><dd><p>アセンブル結果をオブジェクトファイル<samp class="file">&lt;OBJECTFILE&gt;</samp>に出力し、終了します。
<a id='L111' name='L111'></a>出力されたオブジェクトファイルは、<code class="command">comet2</code>で実行できます。
<a id='L112' name='L112'></a>オブジェクトファイルを指定しない場合、出力先は<samp class="file">a.o</samp>です。
<a id='L113' name='L113'></a>オブジェクトファイルは1つだけ指定できます。
<a id='L114' name='L114'></a></p>
<a id='L115' name='L115'></a></dd>
<a id='L116' name='L116'></a><dt><samp class="option">-t</samp></dt>
<a id='L117' name='L117'></a><dt><samp class="option">--trace</samp></dt>
<a id='L118' name='L118'></a><dt><samp class="option">--tracearithmetic</samp></dt>
<a id='L119' name='L119'></a><dd><p>プログラム実行中のレジスタの値を次の形式で表示します。
<a id='L120' name='L120'></a></p>
<a id='L121' name='L121'></a><div class="example">
<a id='L122' name='L122'></a><pre class="example-preformatted">&lt;PR値の16進数表現&gt;: &lt;レジスタ&gt;: &lt;値の10進数表現&gt; =
<a id='L123' name='L123'></a>&lt;値の16進数表現&gt; = &lt;値の2進数表現&gt;[ ='文字']
<a id='L124' name='L124'></a></pre></div>
<a id='L125' name='L125'></a>
<a id='L126' name='L126'></a><ul class="itemize mark-bullet">
<a id='L127' name='L127'></a><li><code class="code">&lt;PR値の16進数表現&gt;</code>と<code class="code">&lt;レジスタ&gt;</code>、<code class="code">&lt;値の16進数表現&gt;</code>は、4けたの16進数で表されます。
<a id='L128' name='L128'></a><code class="code">&lt;PR値の16進数表現&gt;</code>と<code class="code">&lt;値の16進数表現&gt;</code>には、先頭に<code class="code">#</code>が付きます。
<a id='L129' name='L129'></a>範囲は<code class="code">#0000</code>から<code class="code">#FFFF</code>です
<a id='L130' name='L130'></a>
<a id='L131' name='L131'></a></li><li><code class="code">&lt;値の10進数表現&gt;</code>は符号の付いた10進数です。
<a id='L132' name='L132'></a>範囲は-32768から32767です。
<a id='L133' name='L133'></a>
<a id='L134' name='L134'></a></li><li><code class="code">&lt;値の2進数表現&gt;</code>は、16けたの2進数で表されます。
<a id='L135' name='L135'></a>範囲は、<code class="code">0000000000000000</code>から<code class="code">1111111111111111</code>です
<a id='L136' name='L136'></a>
<a id='L137' name='L137'></a></li><li><code class="code">[ ='文字']</code>は、レジストリの値が「文字の組」の範囲に含まれる場合に表示されます。
<a id='L138' name='L138'></a></li></ul>
<a id='L139' name='L139'></a>
<a id='L140' name='L140'></a><p>表示されるレジスタには、次の種類があります。
<a id='L141' name='L141'></a></p>
<a id='L142' name='L142'></a><dl class="table">
<a id='L143' name='L143'></a><dt><code class="code">GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7</code></dt>
<a id='L144' name='L144'></a><dd><p>汎用レジスタ
<a id='L145' name='L145'></a></p>
<a id='L146' name='L146'></a></dd>
<a id='L147' name='L147'></a><dt><code class="code">SP</code></dt>
<a id='L148' name='L148'></a><dd><p>スタックポインタ
<a id='L149' name='L149'></a></p>
<a id='L150' name='L150'></a></dd>
<a id='L151' name='L151'></a><dt><code class="code">PR</code></dt>
<a id='L152' name='L152'></a><dd><p>プログラムレジスタ
<a id='L153' name='L153'></a></p>
<a id='L154' name='L154'></a></dd>
<a id='L155' name='L155'></a><dt><code class="code">FR</code></dt>
<a id='L156' name='L156'></a><dd><p>フラグレジスタ
<a id='L157' name='L157'></a></p></dd>
<a id='L158' name='L158'></a></dl>
<a id='L159' name='L159'></a>
<a id='L160' name='L160'></a><p>例えば、次のように表示されます。
<a id='L161' name='L161'></a></p>
<a id='L162' name='L162'></a><div class="example">
<a id='L163' name='L163'></a><pre class="example-preformatted">#0002: GR1: 3 = #0003 = 0000000000000011
<a id='L164' name='L164'></a></pre></div>
<a id='L165' name='L165'></a>
<a id='L166' name='L166'></a></dd>
<a id='L167' name='L167'></a><dt><samp class="option">-T</samp></dt>
<a id='L168' name='L168'></a><dt><samp class="option">--tracelogical</samp></dt>
<a id='L169' name='L169'></a><dd><p><samp class="option">-t</samp>と同じように、プログラム実行中のレジスタの値を表示します。
<a id='L170' name='L170'></a>ただし<samp class="option">-t</samp>と異なり、<code class="code">&lt;値の10進数表現&gt;</code>は符号の付かない10進数です。
<a id='L171' name='L171'></a>値の範囲は0から65535です。
<a id='L172' name='L172'></a></p>
<a id='L173' name='L173'></a></dd>
<a id='L174' name='L174'></a><dt><samp class="option">-d</samp></dt>
<a id='L175' name='L175'></a><dt><samp class="option">--dump</samp></dt>
<a id='L176' name='L176'></a><dd><p>メモリの内容をすべて表示します。
<a id='L177' name='L177'></a></p>
<a id='L178' name='L178'></a></dd>
<a id='L179' name='L179'></a><dt><samp class="option">-M &lt;MEMORYSIZE&gt;</samp></dt>
<a id='L180' name='L180'></a><dt><samp class="option">--memorysize &lt;MEMORYSIZE&gt;</samp></dt>
<a id='L181' name='L181'></a><dd><p>アセンブルおよび実行時のメモリサイズ<samp class="option">&lt;MEMORYSIZE&gt;</samp>を0から65535の範囲で指定します。
<a id='L182' name='L182'></a>指定しない場合、512です。
<a id='L183' name='L183'></a></p>
<a id='L184' name='L184'></a></dd>
<a id='L185' name='L185'></a><dt><samp class="option">-C &lt;CLOCKS&gt;</samp></dt>
<a id='L186' name='L186'></a><dt><samp class="option">--clocks &lt;CLOCKS&gt;</samp></dt>
<a id='L187' name='L187'></a><dd><p>実行時のクロック周波数<samp class="option">&lt;CLOCKS&gt;</samp>を0より大きい整数で指定します。
<a id='L188' name='L188'></a>指定しない場合、クロック周波数は5000000です。
<a id='L189' name='L189'></a></p>
<a id='L190' name='L190'></a></dd>
<a id='L191' name='L191'></a><dt><samp class="option">-v</samp></dt>
<a id='L192' name='L192'></a><dt><samp class="option">--version</samp></dt>
<a id='L193' name='L193'></a><dd><p><code class="command">casl2</code>のバージョンを表示して終了します。
<a id='L194' name='L194'></a></p>
<a id='L195' name='L195'></a></dd>
<a id='L196' name='L196'></a><dt><samp class="option">-h</samp></dt>
<a id='L197' name='L197'></a><dt><samp class="option">--help</samp></dt>
<a id='L198' name='L198'></a><dd><p><code class="command">casl2</code>の使用方法を表示して終了します。
<a id='L199' name='L199'></a></p></dd>
<a id='L200' name='L200'></a></dl>
<a id='L201' name='L201'></a>
<a id='L202' name='L202'></a></div>
<a id='L203' name='L203'></a></div>
<a id='L204' name='L204'></a><hr>
<a id='L205' name='L205'></a><p class="nav-panel">
<a id='L206' name='L206'></a><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">Top</a></span></span><span class="nav-button"> &nbsp; </span></p>
<a id='L207' name='L207'></a>
<a id='L208' name='L208'></a>
<a id='L209' name='L209'></a>
<a id='L210' name='L210'></a></body>
<a id='L211' name='L211'></a></html>
</pre>
<hr />
<a id='BOTTOM' name='BOTTOM'></a>
<em class='comment'>/* [<][>][^][v]<a href='#TOP'>[top]</a>[bottom]<a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
</body>
</html>