\doxysection{src/struct.c File Reference} \label{struct_8c}\index{src/struct.c@{src/struct.c}} {\ttfamily \#include \char`\"{}struct.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}exec.\+h\char`\"{}}\newline Include dependency graph for struct.\+c\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c__incl} \end{center} \end{figure} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \{ \textbf{ CMDTABSIZE} = 41 \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item unsigned \textbf{ hash\+\_\+cmdtype} (const char $\ast$cmd, \textbf{ CMDTYPE} type) \item unsigned \textbf{ hash\+\_\+code} (\textbf{ WORD} code) \item bool \textbf{ create\+\_\+cmdtable} (\textbf{ CMDTAB\+\_\+\+HASH} \textbf{ hash}) \begin{DoxyCompactList}\small\item\em 命令ハッシュ表を作成する \end{DoxyCompactList}\item void \textbf{ free\+\_\+cmdtable} (\textbf{ CMDTAB\+\_\+\+HASH} \textbf{ hash}) \item \textbf{ WORD} \textbf{ getcmdcode} (const char $\ast$cmd, \textbf{ CMDTYPE} type) \item const void $\ast$ \textbf{ getcmdptr} (\textbf{ WORD} code) \item \textbf{ CMDTYPE} \textbf{ getcmdtype} (\textbf{ WORD} code) \item char $\ast$ \textbf{ getcmdname} (\textbf{ WORD} code) \item char $\ast$ \textbf{ grstr} (\textbf{ WORD} word) \begin{DoxyCompactList}\small\item\em 汎用レジスタの番号からレジスタを表す文字列を返す \end{DoxyCompactList}\item void \textbf{ reset} (int memsize, int clocks) \item void \textbf{ shutdown} () \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item \textbf{ SYSTEM} $\ast$ \textbf{ sys} = NULL \begin{DoxyCompactList}\small\item\em COMET IIの仮想実行マシンシステム \end{DoxyCompactList}\item \textbf{ EXECPTR} $\ast$ \textbf{ execptr} = NULL \item static const \textbf{ COMET2\+CMD} \textbf{ comet2cmd} [$\,$] \item static int \textbf{ comet2cmdsize} = \textbf{ ARRAYSIZE}(\textbf{ comet2cmd}) \item static \textbf{ CMDTAB} $\ast$ \textbf{ cmdtab} [\textbf{ HASH\+\_\+\+MAX}][\textbf{ CMDTABSIZE}] = \{\{NULL\}\} \end{DoxyCompactItemize} \doxysubsection{Enumeration Type Documentation} \mbox{\label{struct_8c_abc5c98fcc1211af2b80116dd6e0a035d}} \doxysubsubsection{anonymous enum} {\footnotesize\ttfamily anonymous enum} ハッシュ表のサイズ \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{CMDTABSIZE@{CMDTABSIZE}!struct.c@{struct.c}}\index{struct.c@{struct.c}!CMDTABSIZE@{CMDTABSIZE}}}\mbox{\label{struct_8c_abc5c98fcc1211af2b80116dd6e0a035dad1edd2e69482a9913aa54ef3141fcb51}} CMDTABSIZE&\\ \hline \end{DoxyEnumFields} Definition at line 66 of file struct.\+c. \doxysubsection{Function Documentation} \mbox{\label{struct_8c_a4eb3743c27e816af85038b8d48f0f4f2}} \index{struct.c@{struct.c}!create\_cmdtable@{create\_cmdtable}} \index{create\_cmdtable@{create\_cmdtable}!struct.c@{struct.c}} \doxysubsubsection{create\_cmdtable()} {\footnotesize\ttfamily bool create\+\_\+cmdtable (\begin{DoxyParamCaption}\item[{\textbf{ CMDTAB\+\_\+\+HASH}}]{hash }\end{DoxyParamCaption})} 命令ハッシュ表を作成する 命令ハッシュ表を作成する Definition at line 113 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a4eb3743c27e816af85038b8d48f0f4f2_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=334pt]{struct_8c_a4eb3743c27e816af85038b8d48f0f4f2_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a979c48d01c135239941c21e2de01d6a7}} \index{struct.c@{struct.c}!free\_cmdtable@{free\_cmdtable}} \index{free\_cmdtable@{free\_cmdtable}!struct.c@{struct.c}} \doxysubsubsection{free\_cmdtable()} {\footnotesize\ttfamily void free\+\_\+cmdtable (\begin{DoxyParamCaption}\item[{\textbf{ CMDTAB\+\_\+\+HASH}}]{hash }\end{DoxyParamCaption})} 命令ハッシュ表を解放する Definition at line 135 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=198pt]{struct_8c_a979c48d01c135239941c21e2de01d6a7_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a979c48d01c135239941c21e2de01d6a7_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_ae5076231c2c9f5011a92b4901e881695}} \index{struct.c@{struct.c}!getcmdcode@{getcmdcode}} \index{getcmdcode@{getcmdcode}!struct.c@{struct.c}} \doxysubsubsection{getcmdcode()} {\footnotesize\ttfamily \textbf{ WORD} getcmdcode (\begin{DoxyParamCaption}\item[{const char $\ast$}]{cmd, }\item[{\textbf{ CMDTYPE}}]{type }\end{DoxyParamCaption})} 命令の名前とタイプから、命令コードを返す~\newline 無効な場合は0x\+FFFFを返す Definition at line 153 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_ae5076231c2c9f5011a92b4901e881695_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_ae5076231c2c9f5011a92b4901e881695_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a429c07a0dffcac267fd2b3ed90f01c84}} \index{struct.c@{struct.c}!getcmdname@{getcmdname}} \index{getcmdname@{getcmdname}!struct.c@{struct.c}} \doxysubsubsection{getcmdname()} {\footnotesize\ttfamily char$\ast$ getcmdname (\begin{DoxyParamCaption}\item[{\textbf{ WORD}}]{code }\end{DoxyParamCaption})} 命令コードから命令の名前を返す Definition at line 222 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=322pt]{struct_8c_a429c07a0dffcac267fd2b3ed90f01c84_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a429c07a0dffcac267fd2b3ed90f01c84_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_ad0b66afb6214c95b2cadd2a3cde657c2}} \index{struct.c@{struct.c}!getcmdptr@{getcmdptr}} \index{getcmdptr@{getcmdptr}!struct.c@{struct.c}} \doxysubsubsection{getcmdptr()} {\footnotesize\ttfamily const void$\ast$ getcmdptr (\begin{DoxyParamCaption}\item[{\textbf{ WORD}}]{code }\end{DoxyParamCaption})} 命令コードから命令の関数ポインタを返す Definition at line 188 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=309pt]{struct_8c_ad0b66afb6214c95b2cadd2a3cde657c2_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=179pt]{struct_8c_ad0b66afb6214c95b2cadd2a3cde657c2_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a4aa1eb34c73eb2df36ef720d8164ba68}} \index{struct.c@{struct.c}!getcmdtype@{getcmdtype}} \index{getcmdtype@{getcmdtype}!struct.c@{struct.c}} \doxysubsubsection{getcmdtype()} {\footnotesize\ttfamily \textbf{ CMDTYPE} getcmdtype (\begin{DoxyParamCaption}\item[{\textbf{ WORD}}]{code }\end{DoxyParamCaption})} 命令コードから命令のタイプを返す Definition at line 205 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=316pt]{struct_8c_a4aa1eb34c73eb2df36ef720d8164ba68_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a4aa1eb34c73eb2df36ef720d8164ba68_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_ad7c0c9f181f98dc23fdc5b4d721ae88c}} \index{struct.c@{struct.c}!grstr@{grstr}} \index{grstr@{grstr}!struct.c@{struct.c}} \doxysubsubsection{grstr()} {\footnotesize\ttfamily char$\ast$ grstr (\begin{DoxyParamCaption}\item[{\textbf{ WORD}}]{word }\end{DoxyParamCaption})} 汎用レジスタの番号からレジスタを表す文字列を返す 汎用レジスタの番号からレジスタを表す文字列を返す Definition at line 240 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=184pt]{struct_8c_ad7c0c9f181f98dc23fdc5b4d721ae88c_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_ad7c0c9f181f98dc23fdc5b4d721ae88c_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_aeae4030e83292f23161ee79d8f1d5e1b}} \index{struct.c@{struct.c}!hash\_cmdtype@{hash\_cmdtype}} \index{hash\_cmdtype@{hash\_cmdtype}!struct.c@{struct.c}} \doxysubsubsection{hash\_cmdtype()} {\footnotesize\ttfamily unsigned hash\+\_\+cmdtype (\begin{DoxyParamCaption}\item[{const char $\ast$}]{cmd, }\item[{\textbf{ CMDTYPE}}]{type }\end{DoxyParamCaption})} 命令の名前とタイプからハッシュ値を生成する Definition at line 88 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=332pt]{struct_8c_aeae4030e83292f23161ee79d8f1d5e1b_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_aeae4030e83292f23161ee79d8f1d5e1b_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a64b381df02267a1444ea0533a80dc841}} \index{struct.c@{struct.c}!hash\_code@{hash\_code}} \index{hash\_code@{hash\_code}!struct.c@{struct.c}} \doxysubsubsection{hash\_code()} {\footnotesize\ttfamily unsigned hash\+\_\+code (\begin{DoxyParamCaption}\item[{\textbf{ WORD}}]{code }\end{DoxyParamCaption})} 命令コードからハッシュ値を生成する Definition at line 171 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=212pt]{struct_8c_a64b381df02267a1444ea0533a80dc841_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a64b381df02267a1444ea0533a80dc841_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a12c8d8c5ea49c8e8bf537c469e16c0cc}} \index{struct.c@{struct.c}!reset@{reset}} \index{reset@{reset}!struct.c@{struct.c}} \doxysubsubsection{reset()} {\footnotesize\ttfamily void reset (\begin{DoxyParamCaption}\item[{int}]{memsize, }\item[{int}]{clocks }\end{DoxyParamCaption})} COMET II仮想マシンのリセット Definition at line 253 of file struct.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=186pt]{struct_8c_a12c8d8c5ea49c8e8bf537c469e16c0cc_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=348pt]{struct_8c_a12c8d8c5ea49c8e8bf537c469e16c0cc_icgraph} \end{center} \end{figure} \mbox{\label{struct_8c_a7861ee1569802186a619778efc85af13}} \index{struct.c@{struct.c}!shutdown@{shutdown}} \index{shutdown@{shutdown}!struct.c@{struct.c}} \doxysubsubsection{shutdown()} {\footnotesize\ttfamily void shutdown (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} COMET II仮想マシンのシャットダウン Definition at line 278 of file struct.\+c. Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_8c_a7861ee1569802186a619778efc85af13_icgraph} \end{center} \end{figure} \doxysubsection{Variable Documentation} \mbox{\label{struct_8c_a58d501614bea7fc29317ee468dfd5aa1}} \index{struct.c@{struct.c}!cmdtab@{cmdtab}} \index{cmdtab@{cmdtab}!struct.c@{struct.c}} \doxysubsubsection{cmdtab} {\footnotesize\ttfamily \textbf{ CMDTAB}$\ast$ cmdtab[\textbf{ HASH\+\_\+\+MAX}][\textbf{ CMDTABSIZE}] = \{\{NULL\}\}\hspace{0.3cm}{\ttfamily [static]}} ハッシュ表 Definition at line 73 of file struct.\+c. \mbox{\label{struct_8c_ad4cf0c89fc2669da656a75b0320c9e9c}} \index{struct.c@{struct.c}!comet2cmd@{comet2cmd}} \index{comet2cmd@{comet2cmd}!struct.c@{struct.c}} \doxysubsubsection{comet2cmd} {\footnotesize\ttfamily const \textbf{ COMET2\+CMD} comet2cmd[$\,$]\hspace{0.3cm}{\ttfamily [static]}} システム\+COMET IIの命令表 Definition at line 17 of file struct.\+c. \mbox{\label{struct_8c_ae1f9e3aead4386f3f9216acaa88bd047}} \index{struct.c@{struct.c}!comet2cmdsize@{comet2cmdsize}} \index{comet2cmdsize@{comet2cmdsize}!struct.c@{struct.c}} \doxysubsubsection{comet2cmdsize} {\footnotesize\ttfamily int comet2cmdsize = \textbf{ ARRAYSIZE}(\textbf{ comet2cmd})\hspace{0.3cm}{\ttfamily [static]}} 命令表のサイズ Definition at line 61 of file struct.\+c. \mbox{\label{struct_8c_a4be4aa2dd7d478878cc9fda6aed8498e}} \index{struct.c@{struct.c}!execptr@{execptr}} \index{execptr@{execptr}!struct.c@{struct.c}} \doxysubsubsection{execptr} {\footnotesize\ttfamily \textbf{ EXECPTR}$\ast$ execptr = NULL} プログラム実行時の開始と終了のアドレス Definition at line 12 of file struct.\+c. \mbox{\label{struct_8c_a98d202b8436afcd618aaca20d7748227}} \index{struct.c@{struct.c}!sys@{sys}} \index{sys@{sys}!struct.c@{struct.c}} \doxysubsubsection{sys} {\footnotesize\ttfamily \textbf{ SYSTEM}$\ast$ sys = NULL} COMET IIの仮想実行マシンシステム COMET IIの仮想実行マシンシステム Definition at line 7 of file struct.\+c.