root/doc/manual_html/Assemble-result.html

/* [<][>][^][v][top][bottom][index][help] */
<!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>Assemble result (YACASL2 - CASL II 処理システム)</title>

<meta name="description" content="Assemble result (YACASL2 - CASL II 処理システム)">
<meta name="keywords" content="Assemble result (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="Sample-usage.html" rel="up" title="Sample usage">
<link href="Register-and-memory.html" rel="next" title="Register and memory">
<link href="Simple-output.html" rel="prev" title="Simple output">
<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}
</style>
<link rel="stylesheet" type="text/css" href="style.css">


</head>

<body>
<div class="section-level-extent" id="Assemble-result">
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="Register-and-memory.html" accesskey="n" rel="next">実行時のレジスタとメモリを表示</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Simple-output.html" accesskey="p" rel="prev">実行結果の出力だけを表示</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="Sample-usage.html" accesskey="u" rel="up">YACASL2の使用例</a></span></span><span class="nav-button"> &nbsp; </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>
<hr>
<h3 class="section" id="g_t_30a2_30bb_30f3_30d6_30eb_7d50_679c_306e_78ba_8a8d"><span>2.2 アセンブル結果の確認<a class="copiable-link" href="#g_t_30a2_30bb_30f3_30d6_30eb_7d50_679c_306e_78ba_8a8d"> &para;</a></span></h3>

<p>casl2の処理途中で行われるアセンブルの結果を表示するには、オプション<samp class="option">-a</samp>を指定します。
また、ラベルとアドレスの対応表を表示するには、オプション<samp class="option">-l</samp>を指定します。
</p>
<p>次のコマンドでは<samp class="file">hello.casl</samp>の、ラベルとアドレスの対応表と、アセンブル結果と、実行結果が表示されます。
OUTはアセンブラ命令で複数の機械語命令で構成されているため、命令行1行に対して、複数行のコードが生成されます。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 -a -l hello.casl</kbd>

Assemble hello.casl (0)

Label::::
MAIN.LEN ---&gt; #0020
MAIN ---&gt; #0000
MAIN.OBUF ---&gt; #0013

Assemble hello.casl (1)
hello.casl:    1:MAIN    START
hello.casl:    2:        OUT     OBUF,LEN
    #0000   #7001
    #0001   #0000
    #0002   #7002
    #0003   #0000
    #0004   #1210
    #0005   #0013
    #0006   #1220
    #0007   #0020
    #0008   #F000
    #0009   #0002
    #000A   #1210
    #000B   #0021
    #0021   #000A
    #000C   #1220
    #000D   #0022
    #0022   #0001
    #000E   #F000
    #000F   #0002
    #0010   #7120
    #0011   #7110
hello.casl:    3:        RET
    #0012   #8100
hello.casl:    4:OBUF    DC      'Hello, World!'
    #0013   #0048
    #0014   #0065
    #0015   #006C
    #0016   #006C
    #0017   #006F
    #0018   #002C
    #0019   #0020
    #001A   #0057
    #001B   #006F
    #001C   #0072
    #001D   #006C
    #001E   #0064
    #001F   #0021
hello.casl:    5:LEN     DC      13
    #0020   #000D
hello.casl:    6:        END
Hello, World!
</pre></div>

<p><samp class="file">addl.casl</samp>の、ラベルとアドレスの対応表と、アセンブル結果は、次のようになります。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 -a -l addl.casl</kbd>

Assemble addl.casl (0)

Label::::
MAIN ---&gt; #0000
MAIN.A ---&gt; #0007
MAIN.B ---&gt; #0008
MAIN.C ---&gt; #0009

Assemble addl.casl (1)
addl.casl:    1:;;; ADDL r,adr
addl.casl:    2:MAIN    START
addl.casl:    3:        LD      GR1,A
    #0000   #1010
    #0001   #0007
addl.casl:    4:        ADDL    GR1,B
    #0002   #2210
    #0003   #0008
addl.casl:    5:        ST      GR1,C
    #0004   #1110
    #0005   #0009
addl.casl:    6:        RET
    #0006   #8100
addl.casl:    7:A       DC      3
    #0007   #0003
addl.casl:    8:B       DC      2
    #0008   #0002
addl.casl:    9:C       DS      1
    #0009   #0000
addl.casl:   10:        END
</pre></div>

<p>なお、オプション<samp class="option">-A</samp>を指定すると、アセンブル結果が表示される時点で処理が終了します。
仮想マシンCOMET IIでのプログラム実行はされません。
</p>
</div>
<hr>
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="Register-and-memory.html">実行時のレジスタとメモリを表示</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Simple-output.html">実行結果の出力だけを表示</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="Sample-usage.html">YACASL2の使用例</a></span></span><span class="nav-button"> &nbsp; </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>



</body>
</html>

/* [<][>][^][v][top][bottom][index][help] */