<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>YACASL2: src/comet2monitor.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://www.mathjax.org/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">YACASL2
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">comet2monitor.c</div></div>
</div><!--header-->
<div class="contents">
<a href="comet2monitor_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"><a class="line" href="comet2monitor_8c.html#a369266c24eacffb87046522897a570d5"> 1</a></span><span class="preprocessor">#define _GNU_SOURCE</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#include "<a class="code" href="package_8h.html">package.h</a>"</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include "<a class="code" href="exec_8h.html">exec.h</a>"</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include "<a class="code" href="load_8h.html">load.h</a>"</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "<a class="code" href="monitor_8h.html">monitor.h</a>"</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span></div>
<div class="foldopen" id="foldopen00010" data-start="{" data-end="};">
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="comet2monitor_8c.html#a94965649155359a4c4eb047af782bf22"> 10</a></span><span class="keyword">static</span> <span class="keyword">struct </span>option <a class="code hl_variable" href="casl2_8c.html#a94965649155359a4c4eb047af782bf22">longopts</a>[] = {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> {<span class="stringliteral">"trace"</span>, no_argument, NULL, <span class="charliteral">'t'</span>},</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> {<span class="stringliteral">"tracearithmetic"</span>, no_argument, NULL, <span class="charliteral">'t'</span>},</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> {<span class="stringliteral">"tracelogical"</span>, no_argument, NULL, <span class="charliteral">'T'</span>},</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> {<span class="stringliteral">"dump"</span>, no_argument, NULL, <span class="charliteral">'d'</span>},</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> {<span class="stringliteral">"reverse"</span>, no_argument, NULL, <span class="charliteral">'r'</span>},</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> {<span class="stringliteral">"memorysize"</span>, required_argument, NULL, <span class="charliteral">'M'</span>},</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> {<span class="stringliteral">"clocks"</span>, required_argument, NULL, <span class="charliteral">'C'</span>},</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> {<span class="stringliteral">"version"</span>, no_argument, NULL, <span class="charliteral">'v'</span> },</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {<span class="stringliteral">"help"</span>, no_argument, NULL, <span class="charliteral">'h'</span>},</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> {0, 0, 0, 0},</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>};</div>
</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span></div>
<div class="foldopen" id="foldopen00026" data-start="{" data-end="};">
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="comet2monitor_8c.html#a933a5666ad81186089fdea3a0ecaac73"> 26</a></span><a class="code hl_typedef" href="cerr_8h.html#a3636a4b86cca574b3786f76f5231ffe5">CERR</a> <a class="code hl_variable" href="comet2monitor_8c.html#a933a5666ad81186089fdea3a0ecaac73">cerr_comet2monitor</a>[] = {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> { 401, <span class="stringliteral">"invalid option"</span> },</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>};</div>
</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="foldopen" id="foldopen00030" data-start="{" data-end="}">
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="comet2monitor_8c.html#a6a97600beee0c7cc7d3e61f7f0dce3c8"> 30</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="comet2monitor_8c.html#a6a97600beee0c7cc7d3e61f7f0dce3c8">addcerrlist_comet2monitor</a>()</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>{</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_function" href="cerr_8h.html#a4d0e0d9cf66be33e95ca2c73d2ea2c63">addcerrlist</a>(<a class="code hl_define" href="cmem_8h.html#abd34d9a0fac0c592a7b76395011bb370">ARRAYSIZE</a>(<a class="code hl_variable" href="comet2monitor_8c.html#a933a5666ad81186089fdea3a0ecaac73">cerr_comet2monitor</a>), <a class="code hl_variable" href="comet2monitor_8c.html#a933a5666ad81186089fdea3a0ecaac73">cerr_comet2monitor</a>);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>}</div>
</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span></div>
<div class="foldopen" id="foldopen00043" data-start="{" data-end="}">
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="comet2monitor_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 43</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="comet2monitor_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>{</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span> memsize = <a class="code hl_enumvalue" href="struct_8h.html#a3163ec8332252a40b7609df6cc48a6e6a555b40fb72a9e15233d68675e50cd4c1">DEFAULT_MEMSIZE</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> clocks = <a class="code hl_enumvalue" href="struct_8h.html#a3163ec8332252a40b7609df6cc48a6e6a7c10f7cae16b9742b46ac8db0e5e33f9">DEFAULT_CLOCKS</a>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">int</span> opt = 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">int</span> stat = 0;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *version = <a class="code hl_define" href="version_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *cmdversion = <span class="stringliteral">"comet2monitor: COMET II machine code monitor of YACASL2 version %s\n"</span>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *usage = <span class="stringliteral">"Usage: %s [-tTdrvh] [-M <MEMORYSIZE>] [-C <CLOCKS>] FILE\n"</span>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* エラーの定義 */</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_function" href="cerr_8h.html#aad046df60c6ebe8da7e7b8e978cfc7e3">cerr_init</a>();</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_function" href="load_8h.html#a2ee9725c08d25a34fd0879a2c3aa78f4">addcerrlist_load</a>();</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_function" href="exec_8h.html#aa9ea43a7831385fcd73e33e0675b2441">addcerrlist_exec</a>();</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_function" href="comet2monitor_8c.html#a6a97600beee0c7cc7d3e61f7f0dce3c8">addcerrlist_comet2monitor</a>();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.reverse = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* オプションの処理 */</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">while</span>((opt = getopt_long(argc, argv, <span class="stringliteral">"tTdqM:C:vh"</span>, <a class="code hl_variable" href="casl2_8c.html#a94965649155359a4c4eb047af782bf22">longopts</a>, NULL)) != -1) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">switch</span>(opt) {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">case</span> <span class="charliteral">'t'</span>:</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.trace = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">case</span> <span class="charliteral">'T'</span>:</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.trace = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.logical = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">case</span> <span class="charliteral">'d'</span>:</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.dump = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">case</span> <span class="charliteral">'q'</span>:</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.reverse = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">case</span> <span class="charliteral">'M'</span>:</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span>((memsize = <a class="code hl_function" href="struct_8h.html#a067c85282c0246a93aa77b98ba2d250b">memsize_str2word</a>(optarg)) == 0) {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">goto</span> comet2monitorfin;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">case</span> <span class="charliteral">'C'</span>:</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span>((clocks = <a class="code hl_function" href="exec_8h.html#a464c627be6598d74aff7cedc860b6e03">clock_str2clock</a>(optarg)) == 0) {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">goto</span> comet2monitorfin;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> }</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> fprintf(stdout, cmdversion, version);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> fprintf(stdout, usage, argv[0]);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">case</span> <span class="charliteral">'?'</span>:</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> fprintf(stderr, usage, argv[0]);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_function" href="cerr_8h.html#ac878972bcd42a554769270aadf8c6bbe">setcerr</a>(212, <span class="stringliteral">""</span>); <span class="comment">/* invalid option */</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">goto</span> comet2monitorfin;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_function" href="struct_8h.html#a4eb3743c27e816af85038b8d48f0f4f2">create_cmdtable</a>(<a class="code hl_enumvalue" href="struct_8h.html#a11a84ab321dab6eed98b381aaf24783ba008a4ac5fbaa4f5456d9803dd2cb8269">HASH_CMDTYPE</a>);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_function" href="struct_8h.html#aeba368a22d27d9ffaa81f6486fe7486b">comet2_init</a>(memsize, clocks); <span class="comment">/* COMET II仮想マシンの初期化 */</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_variable" href="struct_8h.html#a4be4aa2dd7d478878cc9fda6aed8498e">execptr</a>->start = 0;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span>(argv[optind] != NULL) {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <a class="code hl_variable" href="struct_8h.html#a4be4aa2dd7d478878cc9fda6aed8498e">execptr</a>->end = <a class="code hl_function" href="load_8h.html#a186f8b4d29fe2ed208bf67a67ab2850f">loadassemble</a>(argv[optind++], <a class="code hl_variable" href="struct_8h.html#a4be4aa2dd7d478878cc9fda6aed8498e">execptr</a>->start);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> }</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/* 残りの引数(オプション以外の引数)があるかチェック */</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (optind < argc) {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_function" href="cerr_8h.html#a600b91db2ce97f6875d5faf052023f24">warn_ignore_arg</a>(argc - optind, argv + optind);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> }</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_variable" href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a>.monitor = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_function" href="exec_8h.html#a05e951388bd6364f0a83e02b1daef957">exec</a>(); <span class="comment">/* プログラム実行 */</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_function" href="struct_8h.html#a40c56e169ffe38b525d0fc9af6333e50">comet2_shutdown</a>();</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span>comet2monitorfin:</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_function" href="struct_8h.html#a979c48d01c135239941c21e2de01d6a7">free_cmdtable</a>(<a class="code hl_enumvalue" href="struct_8h.html#a11a84ab321dab6eed98b381aaf24783ba008a4ac5fbaa4f5456d9803dd2cb8269">HASH_CMDTYPE</a>);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span>(<a class="code hl_variable" href="cerr_8h.html#a253bd93a3781dbfd5cbff9d5b7097adc">cerr</a>->num > 0) {</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> stat = 1;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_function" href="cerr_8h.html#a65c28e59d68bcfa27d58323b2af260d6">freecerr</a>(); <span class="comment">/* エラーの解放 */</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">return</span> stat;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>}</div>
</div>
<div class="ttc" id="acasl2_8c_html_a94965649155359a4c4eb047af782bf22"><div class="ttname"><a href="casl2_8c.html#a94965649155359a4c4eb047af782bf22">longopts</a></div><div class="ttdeci">static struct option longopts[]</div><div class="ttdoc">casl2コマンドのオプション</div><div class="ttdef"><b>Definition</b> <a href="casl2_8c_source.html#l00024">casl2.c:24</a></div></div>
<div class="ttc" id="acerr_8h_html_a253bd93a3781dbfd5cbff9d5b7097adc"><div class="ttname"><a href="cerr_8h.html#a253bd93a3781dbfd5cbff9d5b7097adc">cerr</a></div><div class="ttdeci">CERR * cerr</div><div class="ttdoc">現在のエラー</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00010">cerr.c:10</a></div></div>
<div class="ttc" id="acerr_8h_html_a3636a4b86cca574b3786f76f5231ffe5"><div class="ttname"><a href="cerr_8h.html#a3636a4b86cca574b3786f76f5231ffe5">CERR</a></div><div class="ttdeci">struct _CERR CERR</div><div class="ttdoc">エラーを表すデータ型</div></div>
<div class="ttc" id="acerr_8h_html_a4d0e0d9cf66be33e95ca2c73d2ea2c63"><div class="ttname"><a href="cerr_8h.html#a4d0e0d9cf66be33e95ca2c73d2ea2c63">addcerrlist</a></div><div class="ttdeci">void addcerrlist(int cerrc, CERR cerrv[])</div><div class="ttdoc">エラーリストを作成・追加する</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00014">cerr.c:14</a></div></div>
<div class="ttc" id="acerr_8h_html_a600b91db2ce97f6875d5faf052023f24"><div class="ttname"><a href="cerr_8h.html#a600b91db2ce97f6875d5faf052023f24">warn_ignore_arg</a></div><div class="ttdeci">void warn_ignore_arg(int argc, char *argv[])</div><div class="ttdoc">引数が無視されることを表示する</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00092">cerr.c:92</a></div></div>
<div class="ttc" id="acerr_8h_html_a65c28e59d68bcfa27d58323b2af260d6"><div class="ttname"><a href="cerr_8h.html#a65c28e59d68bcfa27d58323b2af260d6">freecerr</a></div><div class="ttdeci">void freecerr()</div><div class="ttdoc">エラーリストと現在のエラーを解放する</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00076">cerr.c:76</a></div></div>
<div class="ttc" id="acerr_8h_html_aad046df60c6ebe8da7e7b8e978cfc7e3"><div class="ttname"><a href="cerr_8h.html#aad046df60c6ebe8da7e7b8e978cfc7e3">cerr_init</a></div><div class="ttdeci">void cerr_init()</div><div class="ttdoc">エラーを初期化する</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00003">cerr.c:3</a></div></div>
<div class="ttc" id="acerr_8h_html_ac878972bcd42a554769270aadf8c6bbe"><div class="ttname"><a href="cerr_8h.html#ac878972bcd42a554769270aadf8c6bbe">setcerr</a></div><div class="ttdeci">void setcerr(int num, const char *str)</div><div class="ttdoc">現在のエラーを設定する</div><div class="ttdef"><b>Definition</b> <a href="cerr_8c_source.html#l00046">cerr.c:46</a></div></div>
<div class="ttc" id="acmem_8h_html_abd34d9a0fac0c592a7b76395011bb370"><div class="ttname"><a href="cmem_8h.html#abd34d9a0fac0c592a7b76395011bb370">ARRAYSIZE</a></div><div class="ttdeci">#define ARRAYSIZE(array)</div><div class="ttdoc">配列のサイズを返すマクロ</div><div class="ttdef"><b>Definition</b> <a href="cmem_8h_source.html#l00015">cmem.h:15</a></div></div>
<div class="ttc" id="acomet2monitor_8c_html_a0ddf1224851353fc92bfbff6f499fa97"><div class="ttname"><a href="comet2monitor_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a></div><div class="ttdeci">int main(int argc, char *argv[])</div><div class="ttdoc">comet2monitorコマンドのメイン</div><div class="ttdef"><b>Definition</b> <a href="#l00043">comet2monitor.c:43</a></div></div>
<div class="ttc" id="acomet2monitor_8c_html_a6a97600beee0c7cc7d3e61f7f0dce3c8"><div class="ttname"><a href="comet2monitor_8c.html#a6a97600beee0c7cc7d3e61f7f0dce3c8">addcerrlist_comet2monitor</a></div><div class="ttdeci">void addcerrlist_comet2monitor()</div><div class="ttdef"><b>Definition</b> <a href="#l00030">comet2monitor.c:30</a></div></div>
<div class="ttc" id="acomet2monitor_8c_html_a933a5666ad81186089fdea3a0ecaac73"><div class="ttname"><a href="comet2monitor_8c.html#a933a5666ad81186089fdea3a0ecaac73">cerr_comet2monitor</a></div><div class="ttdeci">CERR cerr_comet2monitor[]</div><div class="ttdoc">casl2のエラー定義</div><div class="ttdef"><b>Definition</b> <a href="#l00026">comet2monitor.c:26</a></div></div>
<div class="ttc" id="aexec_8h_html"><div class="ttname"><a href="exec_8h.html">exec.h</a></div></div>
<div class="ttc" id="aexec_8h_html_a05e951388bd6364f0a83e02b1daef957"><div class="ttname"><a href="exec_8h.html#a05e951388bd6364f0a83e02b1daef957">exec</a></div><div class="ttdeci">void exec()</div><div class="ttdoc">COMET II仮想マシンを実行する</div><div class="ttdef"><b>Definition</b> <a href="exec_8c_source.html#l00684">exec.c:684</a></div></div>
<div class="ttc" id="aexec_8h_html_a464c627be6598d74aff7cedc860b6e03"><div class="ttname"><a href="exec_8h.html#a464c627be6598d74aff7cedc860b6e03">clock_str2clock</a></div><div class="ttdeci">CLOCK clock_str2clock(const char *str)</div><div class="ttdoc">クロック周波数を表す数値文字列を、正の整数値であるCLOCK型の数値に変換。変換できない場合は、エラーを表示して0を返す</div><div class="ttdef"><b>Definition</b> <a href="exec_8c_source.html#l00092">exec.c:92</a></div></div>
<div class="ttc" id="aexec_8h_html_aa9ea43a7831385fcd73e33e0675b2441"><div class="ttname"><a href="exec_8h.html#aa9ea43a7831385fcd73e33e0675b2441">addcerrlist_exec</a></div><div class="ttdeci">void addcerrlist_exec()</div><div class="ttdoc">実行エラーをエラーリストに追加する</div><div class="ttdef"><b>Definition</b> <a href="exec_8c_source.html#l00221">exec.c:221</a></div></div>
<div class="ttc" id="aload_8h_html"><div class="ttname"><a href="load_8h.html">load.h</a></div></div>
<div class="ttc" id="aload_8h_html_a186f8b4d29fe2ed208bf67a67ab2850f"><div class="ttname"><a href="load_8h.html#a186f8b4d29fe2ed208bf67a67ab2850f">loadassemble</a></div><div class="ttdeci">WORD loadassemble(const char *file, WORD start)</div><div class="ttdoc">指定されたファイルからアセンブル結果を読み込む</div><div class="ttdef"><b>Definition</b> <a href="load_8c_source.html#l00020">load.c:20</a></div></div>
<div class="ttc" id="aload_8h_html_a2ee9725c08d25a34fd0879a2c3aa78f4"><div class="ttname"><a href="load_8h.html#a2ee9725c08d25a34fd0879a2c3aa78f4">addcerrlist_load</a></div><div class="ttdeci">void addcerrlist_load()</div><div class="ttdoc">アセンブル結果読み込みエラーをエラーリストに追加する</div><div class="ttdef"><b>Definition</b> <a href="load_8c_source.html#l00015">load.c:15</a></div></div>
<div class="ttc" id="amonitor_8h_html"><div class="ttname"><a href="monitor_8h.html">monitor.h</a></div></div>
<div class="ttc" id="apackage_8h_html"><div class="ttname"><a href="package_8h.html">package.h</a></div></div>
<div class="ttc" id="astruct_8h_html_a067c85282c0246a93aa77b98ba2d250b"><div class="ttname"><a href="struct_8h.html#a067c85282c0246a93aa77b98ba2d250b">memsize_str2word</a></div><div class="ttdeci">WORD memsize_str2word(const char *str)</div><div class="ttdoc">メモリーサイズを表す数値文字列をWORD値に変換して返す。WORD値に変換できない場合は、エラーを表示して0を返す</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00322">struct.c:322</a></div></div>
<div class="ttc" id="astruct_8h_html_a11a84ab321dab6eed98b381aaf24783ba008a4ac5fbaa4f5456d9803dd2cb8269"><div class="ttname"><a href="struct_8h.html#a11a84ab321dab6eed98b381aaf24783ba008a4ac5fbaa4f5456d9803dd2cb8269">HASH_CMDTYPE</a></div><div class="ttdeci">@ HASH_CMDTYPE</div><div class="ttdef"><b>Definition</b> <a href="struct_8h_source.html#l00064">struct.h:64</a></div></div>
<div class="ttc" id="astruct_8h_html_a3163ec8332252a40b7609df6cc48a6e6a555b40fb72a9e15233d68675e50cd4c1"><div class="ttname"><a href="struct_8h.html#a3163ec8332252a40b7609df6cc48a6e6a555b40fb72a9e15233d68675e50cd4c1">DEFAULT_MEMSIZE</a></div><div class="ttdeci">@ DEFAULT_MEMSIZE</div><div class="ttdef"><b>Definition</b> <a href="struct_8h_source.html#l00021">struct.h:21</a></div></div>
<div class="ttc" id="astruct_8h_html_a3163ec8332252a40b7609df6cc48a6e6a7c10f7cae16b9742b46ac8db0e5e33f9"><div class="ttname"><a href="struct_8h.html#a3163ec8332252a40b7609df6cc48a6e6a7c10f7cae16b9742b46ac8db0e5e33f9">DEFAULT_CLOCKS</a></div><div class="ttdeci">@ DEFAULT_CLOCKS</div><div class="ttdef"><b>Definition</b> <a href="struct_8h_source.html#l00023">struct.h:23</a></div></div>
<div class="ttc" id="astruct_8h_html_a40c56e169ffe38b525d0fc9af6333e50"><div class="ttname"><a href="struct_8h.html#a40c56e169ffe38b525d0fc9af6333e50">comet2_shutdown</a></div><div class="ttdeci">void comet2_shutdown()</div><div class="ttdoc">COMET II仮想マシンのシャットダウン</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00399">struct.c:399</a></div></div>
<div class="ttc" id="astruct_8h_html_a4be4aa2dd7d478878cc9fda6aed8498e"><div class="ttname"><a href="struct_8h.html#a4be4aa2dd7d478878cc9fda6aed8498e">execptr</a></div><div class="ttdeci">EXECPTR * execptr</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00013">struct.c:13</a></div></div>
<div class="ttc" id="astruct_8h_html_a4eb3743c27e816af85038b8d48f0f4f2"><div class="ttname"><a href="struct_8h.html#a4eb3743c27e816af85038b8d48f0f4f2">create_cmdtable</a></div><div class="ttdeci">bool create_cmdtable(CMDTAB_HASH hash)</div><div class="ttdoc">命令ハッシュ表を作成する</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00124">struct.c:124</a></div></div>
<div class="ttc" id="astruct_8h_html_a979c48d01c135239941c21e2de01d6a7"><div class="ttname"><a href="struct_8h.html#a979c48d01c135239941c21e2de01d6a7">free_cmdtable</a></div><div class="ttdeci">void free_cmdtable(CMDTAB_HASH hash)</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00146">struct.c:146</a></div></div>
<div class="ttc" id="astruct_8h_html_aeba368a22d27d9ffaa81f6486fe7486b"><div class="ttname"><a href="struct_8h.html#aeba368a22d27d9ffaa81f6486fe7486b">comet2_init</a></div><div class="ttdeci">void comet2_init(WORD memsize, CLOCK clocks)</div><div class="ttdoc">COMET II仮想マシンの初期化</div><div class="ttdef"><b>Definition</b> <a href="struct_8c_source.html#l00329">struct.c:329</a></div></div>
<div class="ttc" id="astruct_8h_html_afdbb7e7d9e799a0e0814654774763d18"><div class="ttname"><a href="struct_8h.html#afdbb7e7d9e799a0e0814654774763d18">execmode</a></div><div class="ttdeci">EXECMODE execmode</div><div class="ttdoc">実行モード: trace, logical, dump, reverse, monitor, step</div><div class="ttdef"><b>Definition</b> <a href="exec_8c_source.html#l00090">exec.c:90</a></div></div>
<div class="ttc" id="aversion_8h_html_aa326a05d5e30f9e9a4bb0b4469d5d0c0"><div class="ttname"><a href="version_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a></div><div class="ttdeci">#define PACKAGE_VERSION</div><div class="ttdef"><b>Definition</b> <a href="version_8h_source.html#l00004">version.h:4</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on <span class="timestamp"></span> for YACASL2 by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
</html>