<!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>End value (YACASL2 - CASL II 処理システム)</title>
<meta name="description" content="End value (YACASL2 - CASL II 処理システム)">
<meta name="keywords" content="End value (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="Register-and-memory.html" rel="up" title="Register and memory">
<link href="Step-count.html" rel="next" title="Step count">
<link href="Register-specify.html" rel="prev" title="Register specify">
<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="subsection-level-extent" id="End-value">
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="Step-count.html" accesskey="n" rel="next">プログラムのステップ数を表示</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Register-specify.html" accesskey="p" rel="prev">特定のレジスタを表示</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="Register-and-memory.html" accesskey="u" rel="up">実行時のレジスタとメモリを表示</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>
<h4 class="subsection" id="g_t_30d7_30ed_30b0_30e9_30e0_7d42_4e86_6642_306e_5024_3092_8868_793a"><span>2.3.2 プログラム終了時の値を表示<a class="copiable-link" href="#g_t_30d7_30ed_30b0_30e9_30e0_7d42_4e86_6642_306e_5024_3092_8868_793a"> ¶</a></span></h4>
<p><code class="command">grep</code>と<code class="command">tail</code>を組み合わせれば、プログラム終了時の値を表示できます。
</p>
<p><samp class="file">addl.casl</samp>でプログラム終了時のGR1の値を確認するには、次のようにします。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 -t addl.casl | grep 'GR1:' | tail -1</kbd>
#0006: GR1: 5 = #0005 = 0000000000000101
</pre></div>
<p><samp class="file">sum_10.casl</samp>は、1から10までの整数の和を求め、GR2に格納してからメモリにストア(書き込み)します。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">cat sum_10.casl</kbd>
;;; sum_10.casl
;;; 1から10までの整数をすべて加算した値をメモリーに格納する
MAIN START
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 ST GR2,RST ; GR2の結果をメモリーに転送
RET
FST DC 1 ; 初項
LST DC 10 ; 末項
STEP DC 1 ; 公差
RST DS 1 ; 結果
END
</pre></div>
<p><samp class="file">sum_10.casl</samp>でプログラム終了時のGR2の値を確認するには、次のようにします。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">casl2 -t sum_10.casl | grep 'GR2:' | tail -1</kbd>
#000E: GR2: 55 = #0037 = 0000000000110111 = '7'
</pre></div>
</div>
</body>
</html>