\doxysection{include/assemble.h File Reference}
\label{assemble_8h}\index{include/assemble.h@{include/assemble.h}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$stdbool.\+h$>$}\newline
{\ttfamily \#include $<$ctype.\+h$>$}\newline
{\ttfamily \#include $<$assert.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include "{}cerr.\+h"{}}\newline
{\ttfamily \#include "{}struct.\+h"{}}\newline
{\ttfamily \#include "{}token.\+h"{}}\newline
Include dependency graph for assemble.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \textbf{ ASMODE}
\begin{DoxyCompactList}\small\item\em アセンブルモードを表すデータ型 \end{DoxyCompactList}\item
struct \textbf{ ASPTR}
\begin{DoxyCompactList}\small\item\em アセンブル時の現在およびリテラルのアドレスとプログラム入口名を表すデータ型 \end{DoxyCompactList}\item
struct \textbf{ LABELARRAY}
\begin{DoxyCompactList}\small\item\em ラベル配列を表すデータ型 \end{DoxyCompactList}\item
struct \textbf{ \+\_\+\+LABELTAB}
\begin{DoxyCompactList}\small\item\em ラベル表を表すデータ型 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \textbf{ \+\_\+\+LABELTAB} \textbf{ LABELTAB}
\begin{DoxyCompactList}\small\item\em ラベル表を表すデータ型 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum \{ \textbf{ LABELTABSIZE} = 251
\}
\item
enum \textbf{ PASS} \{ \textbf{ FIRST} = 0
, \textbf{ SECOND} = 1
\}
\begin{DoxyCompactList}\small\item\em アセンブラが、1回目か2回目かを表す数値 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \textbf{ addcerrlist\+\_\+label} ()
\begin{DoxyCompactList}\small\item\em ラベルのエラーをエラーリストに追加する \end{DoxyCompactList}\item
\textbf{ WORD} \textbf{ getlabel} (const char $\ast$prog, const char $\ast$label)
\begin{DoxyCompactList}\small\item\em プログラム名とラベルに対応するアドレスをラベル表から検索する \end{DoxyCompactList}\item
bool \textbf{ addlabel} (const char $\ast$prog, const char $\ast$label, \textbf{ WORD} adr)
\begin{DoxyCompactList}\small\item\em プログラム名、ラベル、アドレスをラベル表に追加する \end{DoxyCompactList}\item
void \textbf{ printlabel} ()
\begin{DoxyCompactList}\small\item\em ラベル表を表示する \end{DoxyCompactList}\item
void \textbf{ freelabel} ()
\begin{DoxyCompactList}\small\item\em ラベル表を解放する \end{DoxyCompactList}\item
void \textbf{ addcerrlist\+\_\+assemble} ()
\begin{DoxyCompactList}\small\item\em アセンブルエラーをエラーリストに追加する \end{DoxyCompactList}\item
bool \textbf{ assemblefile} (const char $\ast$file, \textbf{ PASS} pass)
\begin{DoxyCompactList}\small\item\em 指定された名前のファイルをアセンブル~\newline
\end{DoxyCompactList}\item
bool \textbf{ assemble} (int filec, char $\ast$filev[$\,$], \textbf{ WORD} adr)
\begin{DoxyCompactList}\small\item\em 指定された1つまたは複数のファイルを2回アセンブル \end{DoxyCompactList}\item
void \textbf{ outassemble} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em ファイルにアセンブル結果を書き込む \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item
\textbf{ ASMODE} \textbf{ asmode}
\begin{DoxyCompactList}\small\item\em アセンブルモード\+: src, label, onlylabel, asdetail, onlyassemble \end{DoxyCompactList}\item
\textbf{ ASPTR} $\ast$ \textbf{ asptr}
\begin{DoxyCompactList}\small\item\em アセンブル時の、現在およびリテラルのアドレスとプログラム入口名\+: ptr, lptr, prog \end{DoxyCompactList}\end{DoxyCompactItemize}
\label{doc-typedef-members}
\doxysubsection{Typedef Documentation}
\index{assemble.h@{assemble.h}!LABELTAB@{LABELTAB}}
\index{LABELTAB@{LABELTAB}!assemble.h@{assemble.h}}
\doxysubsubsection{LABELTAB}
{\footnotesize\ttfamily \label{assemble_8h_ae72bd4e8cf3b014ba43b833cbd959b9e}
typedef struct \textbf{ \+\_\+\+LABELTAB} \textbf{ LABELTAB}}
ラベル表を表すデータ型
\label{doc-enum-members}
\doxysubsection{Enumeration Type Documentation}
\doxysubsubsection{anonymous enum}
{\footnotesize\ttfamily \label{assemble_8h_a71d5385ebc4f6222c786e3134a8bec44}
anonymous enum}
ラベル表のサイズ \begin{DoxyEnumFields}[2]{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{LABELTABSIZE@{LABELTABSIZE}!assemble.h@{assemble.h}}\index{assemble.h@{assemble.h}!LABELTABSIZE@{LABELTABSIZE}}}\label{assemble_8h_a71d5385ebc4f6222c786e3134a8bec44a487434bbfd59d4151f9a4debf56f0908}
LABELTABSIZE&ラベル表のサイズ \\
\hline
\end{DoxyEnumFields}
Definition at line \textbf{ 65} of file \textbf{ assemble.\+h}.
\index{assemble.h@{assemble.h}!PASS@{PASS}}
\index{PASS@{PASS}!assemble.h@{assemble.h}}
\doxysubsubsection{PASS}
{\footnotesize\ttfamily \label{assemble_8h_a0a1d55e200c1b9a323e22e634842de6f}
enum \textbf{ PASS}}
アセンブラが、1回目か2回目かを表す数値
\begin{DoxyEnumFields}[2]{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{FIRST@{FIRST}!assemble.h@{assemble.h}}\index{assemble.h@{assemble.h}!FIRST@{FIRST}}}\label{assemble_8h_a0a1d55e200c1b9a323e22e634842de6fa6a7856cca1833641e731676636b193f1}
FIRST&アセンブラ1回目 \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{SECOND@{SECOND}!assemble.h@{assemble.h}}\index{assemble.h@{assemble.h}!SECOND@{SECOND}}}\label{assemble_8h_a0a1d55e200c1b9a323e22e634842de6fa7cb36ff0a80f238d5b987d9250d369e3}
SECOND&アセンブラ2回目 \\
\hline
\end{DoxyEnumFields}
Definition at line \textbf{ 72} of file \textbf{ assemble.\+h}.
\label{doc-func-members}
\doxysubsection{Function Documentation}
\index{assemble.h@{assemble.h}!addcerrlist\_assemble@{addcerrlist\_assemble}}
\index{addcerrlist\_assemble@{addcerrlist\_assemble}!assemble.h@{assemble.h}}
\doxysubsubsection{addcerrlist\_assemble()}
{\footnotesize\ttfamily \label{assemble_8h_abeec7aeba384ae8621167386e0f3e2e9}
void addcerrlist\+\_\+assemble (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
アセンブルエラーをエラーリストに追加する
Definition at line \textbf{ 773} of file \textbf{ assemble.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_abeec7aeba384ae8621167386e0f3e2e9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=225pt]{assemble_8h_abeec7aeba384ae8621167386e0f3e2e9_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!addcerrlist\_label@{addcerrlist\_label}}
\index{addcerrlist\_label@{addcerrlist\_label}!assemble.h@{assemble.h}}
\doxysubsubsection{addcerrlist\_label()}
{\footnotesize\ttfamily \label{assemble_8h_a10a81977ba4af7876ecbed2ca0167b5b}
void addcerrlist\+\_\+label (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
ラベルのエラーをエラーリストに追加する
Definition at line \textbf{ 84} of file \textbf{ label.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{assemble_8h_a10a81977ba4af7876ecbed2ca0167b5b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=348pt]{assemble_8h_a10a81977ba4af7876ecbed2ca0167b5b_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!addlabel@{addlabel}}
\index{addlabel@{addlabel}!assemble.h@{assemble.h}}
\doxysubsubsection{addlabel()}
{\footnotesize\ttfamily \label{assemble_8h_a13845f111eda3f65e76716c9aca802aa}
bool addlabel (\begin{DoxyParamCaption}\item[{const char $\ast$}]{prog}{, }\item[{const char $\ast$}]{label}{, }\item[{\textbf{ WORD}}]{adr}{}\end{DoxyParamCaption})}
プログラム名、ラベル、アドレスをラベル表に追加する
\begin{DoxyReturn}{Returns}
追加に成功した時はtrue、失敗した時はfalse
\end{DoxyReturn}
\begin{DoxyParams}{Parameters}
{\em $\ast$prog} & プログラム名 \\
\hline
{\em $\ast$label} & ラベル \\
\hline
{\em adr} & アドレス \\
\hline
\end{DoxyParams}
Definition at line \textbf{ 106} of file \textbf{ label.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a13845f111eda3f65e76716c9aca802aa_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a13845f111eda3f65e76716c9aca802aa_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!assemble@{assemble}}
\index{assemble@{assemble}!assemble.h@{assemble.h}}
\doxysubsubsection{assemble()}
{\footnotesize\ttfamily \label{assemble_8h_ae474115c02013d6a814a3c9a734b01a9}
bool assemble (\begin{DoxyParamCaption}\item[{int}]{filec}{, }\item[{char $\ast$}]{filev}{[$\,$], }\item[{\textbf{ WORD}}]{adr}{}\end{DoxyParamCaption})}
指定された1つまたは複数のファイルを2回アセンブル
\begin{DoxyReturn}{Returns}
アセンブル完了時はtrue、エラー発生時はfalseを返す
\end{DoxyReturn}
\begin{DoxyParams}{Parameters}
{\em filec} & アセンブルするファイルの数 \\
\hline
{\em filev} & アセンブルするファイル名の配列 \\
\hline
{\em adr} & アセンブル結果を格納するアドレス \\
\hline
\end{DoxyParams}
Definition at line \textbf{ 727} of file \textbf{ assemble.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_ae474115c02013d6a814a3c9a734b01a9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_ae474115c02013d6a814a3c9a734b01a9_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!assemblefile@{assemblefile}}
\index{assemblefile@{assemblefile}!assemble.h@{assemble.h}}
\doxysubsubsection{assemblefile()}
{\footnotesize\ttfamily \label{assemble_8h_a36c8ab963b3acab70a2862e8252c996b}
bool assemblefile (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file}{, }\item[{\textbf{ PASS}}]{pass}{}\end{DoxyParamCaption})}
指定された名前のファイルをアセンブル~\newline
1回目ではラベルを登録し、2回目ではラベルからアドレスを読み込む
\begin{DoxyReturn}{Returns}
アセンブル完了時はtrue、エラー発生時はfalseを返す
\end{DoxyReturn}
\begin{DoxyParams}{Parameters}
{\em $\ast$file} & ファイル名 \\
\hline
{\em pass} & アセンブラが何回目かを表す数\\
\hline
\end{DoxyParams}
指定された名前のファイルをアセンブル~\newline
アセンブル完了時はtrue、エラー発生時はfalseを返す
Definition at line \textbf{ 699} of file \textbf{ assemble.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a36c8ab963b3acab70a2862e8252c996b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a36c8ab963b3acab70a2862e8252c996b_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!freelabel@{freelabel}}
\index{freelabel@{freelabel}!assemble.h@{assemble.h}}
\doxysubsubsection{freelabel()}
{\footnotesize\ttfamily \label{assemble_8h_aee91ab081a311d3a398a846e5014102a}
void freelabel (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
ラベル表を解放する
Definition at line \textbf{ 158} of file \textbf{ label.\+c}.
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_aee91ab081a311d3a398a846e5014102a_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!getlabel@{getlabel}}
\index{getlabel@{getlabel}!assemble.h@{assemble.h}}
\doxysubsubsection{getlabel()}
{\footnotesize\ttfamily \label{assemble_8h_a8b2ae1a0bae14a00c2ca265c79d021cc}
\textbf{ WORD} getlabel (\begin{DoxyParamCaption}\item[{const char $\ast$}]{prog}{, }\item[{const char $\ast$}]{label}{}\end{DoxyParamCaption})}
プログラム名とラベルに対応するアドレスをラベル表から検索する
\begin{DoxyReturn}{Returns}
プログラム名とラベルに対応するアドレス
\end{DoxyReturn}
\begin{DoxyParams}{Parameters}
{\em $\ast$prog} & プログラム名 \\
\hline
{\em $\ast$label} & ラベル \\
\hline
\end{DoxyParams}
Definition at line \textbf{ 89} of file \textbf{ label.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a8b2ae1a0bae14a00c2ca265c79d021cc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a8b2ae1a0bae14a00c2ca265c79d021cc_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!outassemble@{outassemble}}
\index{outassemble@{outassemble}!assemble.h@{assemble.h}}
\doxysubsubsection{outassemble()}
{\footnotesize\ttfamily \label{assemble_8h_a84a92a5aed87fed78d98a41a4805a26b}
void outassemble (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file}{}\end{DoxyParamCaption})}
ファイルにアセンブル結果を書き込む
\begin{DoxyParams}{Parameters}
{\em $\ast$file} & ファイル名 \\
\hline
\end{DoxyParams}
Definition at line \textbf{ 781} of file \textbf{ assemble.\+c}.
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=189pt]{assemble_8h_a84a92a5aed87fed78d98a41a4805a26b_icgraph}
\end{center}
\end{figure}
\index{assemble.h@{assemble.h}!printlabel@{printlabel}}
\index{printlabel@{printlabel}!assemble.h@{assemble.h}}
\doxysubsubsection{printlabel()}
{\footnotesize\ttfamily \label{assemble_8h_a3195492a17ee089ac687975cf79bde8b}
void printlabel (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
ラベル表を表示する
Definition at line \textbf{ 135} of file \textbf{ label.\+c}.
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=207pt]{assemble_8h_a3195492a17ee089ac687975cf79bde8b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{assemble_8h_a3195492a17ee089ac687975cf79bde8b_icgraph}
\end{center}
\end{figure}
\label{doc-var-members}
\doxysubsection{Variable Documentation}
\index{assemble.h@{assemble.h}!asmode@{asmode}}
\index{asmode@{asmode}!assemble.h@{assemble.h}}
\doxysubsubsection{asmode}
{\footnotesize\ttfamily \label{assemble_8h_a553af9531f70e1be37646213319427eb}
\textbf{ ASMODE} asmode\hspace{0.3cm}{\ttfamily [extern]}}
アセンブルモード\+: src, label, onlylabel, asdetail, onlyassemble
Definition at line \textbf{ 288} of file \textbf{ assemble.\+c}.
\index{assemble.h@{assemble.h}!asptr@{asptr}}
\index{asptr@{asptr}!assemble.h@{assemble.h}}
\doxysubsubsection{asptr}
{\footnotesize\ttfamily \label{assemble_8h_a671dfafc32a3b439790e2e0ac1de9069}
\textbf{ ASPTR}$\ast$ asptr\hspace{0.3cm}{\ttfamily [extern]}}
アセンブル時の、現在およびリテラルのアドレスとプログラム入口名\+: ptr, lptr, prog
Definition at line \textbf{ 286} of file \textbf{ assemble.\+c}.