\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 \char`\"{}cerr.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}struct.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}token.\+h\char`\"{}}\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} \doxysubsection*{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} \doxysubsection*{Typedefs} \begin{DoxyCompactItemize} \item typedef struct \textbf{ \+\_\+\+LABELTAB} \textbf{ LABELTAB} \begin{DoxyCompactList}\small\item\em ラベル表を表すデータ型 \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{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} \doxysubsection*{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} \doxysubsection*{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} \doxysubsection{Typedef Documentation} \mbox{\label{assemble_8h_ae72bd4e8cf3b014ba43b833cbd959b9e}} \index{assemble.h@{assemble.h}!LABELTAB@{LABELTAB}} \index{LABELTAB@{LABELTAB}!assemble.h@{assemble.h}} \doxysubsubsection{LABELTAB} {\footnotesize\ttfamily typedef struct \textbf{ \+\_\+\+LABELTAB} \textbf{ LABELTAB}} ラベル表を表すデータ型 \doxysubsection{Enumeration Type Documentation} \mbox{\label{assemble_8h_a06fc87d81c62e9abb8790b6e5713c55b}} \doxysubsubsection{anonymous enum} {\footnotesize\ttfamily anonymous enum} ラベル表のサイズ \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{LABELTABSIZE@{LABELTABSIZE}!assemble.h@{assemble.h}}\index{assemble.h@{assemble.h}!LABELTABSIZE@{LABELTABSIZE}}}\mbox{\label{assemble_8h_a06fc87d81c62e9abb8790b6e5713c55ba487434bbfd59d4151f9a4debf56f0908}} LABELTABSIZE&ラベル表のサイズ \\ \hline \end{DoxyEnumFields} Definition at line 65 of file assemble.\+h. \mbox{\label{assemble_8h_a0a1d55e200c1b9a323e22e634842de6f}} \index{assemble.h@{assemble.h}!PASS@{PASS}} \index{PASS@{PASS}!assemble.h@{assemble.h}} \doxysubsubsection{PASS} {\footnotesize\ttfamily enum \textbf{ PASS}} アセンブラが、1回目か2回目かを表す数値 \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{FIRST@{FIRST}!assemble.h@{assemble.h}}\index{assemble.h@{assemble.h}!FIRST@{FIRST}}}\mbox{\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}}}\mbox{\label{assemble_8h_a0a1d55e200c1b9a323e22e634842de6fa7cb36ff0a80f238d5b987d9250d369e3}} SECOND&アセンブラ2回目 \\ \hline \end{DoxyEnumFields} Definition at line 72 of file assemble.\+h. \doxysubsection{Function Documentation} \mbox{\label{assemble_8h_abeec7aeba384ae8621167386e0f3e2e9}} \index{assemble.h@{assemble.h}!addcerrlist\_assemble@{addcerrlist\_assemble}} \index{addcerrlist\_assemble@{addcerrlist\_assemble}!assemble.h@{assemble.h}} \doxysubsubsection{addcerrlist\_assemble()} {\footnotesize\ttfamily void addcerrlist\+\_\+assemble (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} アセンブルエラーをエラーリストに追加する \begin{DoxyReturn}{Returns} なし \end{DoxyReturn} Definition at line 797 of file 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=229pt]{assemble_8h_abeec7aeba384ae8621167386e0f3e2e9_icgraph} \end{center} \end{figure} \mbox{\label{assemble_8h_a10a81977ba4af7876ecbed2ca0167b5b}} \index{assemble.h@{assemble.h}!addcerrlist\_label@{addcerrlist\_label}} \index{addcerrlist\_label@{addcerrlist\_label}!assemble.h@{assemble.h}} \doxysubsubsection{addcerrlist\_label()} {\footnotesize\ttfamily void addcerrlist\+\_\+label (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} ラベルのエラーをエラーリストに追加する \begin{DoxyReturn}{Returns} なし \end{DoxyReturn} Definition at line 84 of file label.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=335pt]{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=350pt]{assemble_8h_a10a81977ba4af7876ecbed2ca0167b5b_icgraph} \end{center} \end{figure} \mbox{\label{assemble_8h_a13845f111eda3f65e76716c9aca802aa}} \index{assemble.h@{assemble.h}!addlabel@{addlabel}} \index{addlabel@{addlabel}!assemble.h@{assemble.h}} \doxysubsubsection{addlabel()} {\footnotesize\ttfamily 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 106 of file 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} \mbox{\label{assemble_8h_ae474115c02013d6a814a3c9a734b01a9}} \index{assemble.h@{assemble.h}!assemble@{assemble}} \index{assemble@{assemble}!assemble.h@{assemble.h}} \doxysubsubsection{assemble()} {\footnotesize\ttfamily 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 751 of file 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} \mbox{\label{assemble_8h_a36c8ab963b3acab70a2862e8252c996b}} \index{assemble.h@{assemble.h}!assemblefile@{assemblefile}} \index{assemblefile@{assemblefile}!assemble.h@{assemble.h}} \doxysubsubsection{assemblefile()} {\footnotesize\ttfamily 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 723 of file 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} \mbox{\label{assemble_8h_aee91ab081a311d3a398a846e5014102a}} \index{assemble.h@{assemble.h}!freelabel@{freelabel}} \index{freelabel@{freelabel}!assemble.h@{assemble.h}} \doxysubsubsection{freelabel()} {\footnotesize\ttfamily void freelabel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} ラベル表を解放する \begin{DoxyReturn}{Returns} なし \end{DoxyReturn} Definition at line 158 of file 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} \mbox{\label{assemble_8h_a8b2ae1a0bae14a00c2ca265c79d021cc}} \index{assemble.h@{assemble.h}!getlabel@{getlabel}} \index{getlabel@{getlabel}!assemble.h@{assemble.h}} \doxysubsubsection{getlabel()} {\footnotesize\ttfamily \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 89 of file 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} \mbox{\label{assemble_8h_a84a92a5aed87fed78d98a41a4805a26b}} \index{assemble.h@{assemble.h}!outassemble@{outassemble}} \index{outassemble@{outassemble}!assemble.h@{assemble.h}} \doxysubsubsection{outassemble()} {\footnotesize\ttfamily void outassemble (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})} ファイルにアセンブル結果を書き込む \begin{DoxyReturn}{Returns} なし \end{DoxyReturn} \begin{DoxyParams}{Parameters} {\em $\ast$file} & ファイル名 \\ \hline \end{DoxyParams} Definition at line 805 of file assemble.\+c. Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=191pt]{assemble_8h_a84a92a5aed87fed78d98a41a4805a26b_icgraph} \end{center} \end{figure} \mbox{\label{assemble_8h_a3195492a17ee089ac687975cf79bde8b}} \index{assemble.h@{assemble.h}!printlabel@{printlabel}} \index{printlabel@{printlabel}!assemble.h@{assemble.h}} \doxysubsubsection{printlabel()} {\footnotesize\ttfamily void printlabel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} ラベル表を表示する \begin{DoxyReturn}{Returns} なし \end{DoxyReturn} Definition at line 135 of file label.\+c. Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=212pt]{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} \doxysubsection{Variable Documentation} \mbox{\label{assemble_8h_a553af9531f70e1be37646213319427eb}} \index{assemble.h@{assemble.h}!asmode@{asmode}} \index{asmode@{asmode}!assemble.h@{assemble.h}} \doxysubsubsection{asmode} {\footnotesize\ttfamily \textbf{ ASMODE} asmode\hspace{0.3cm}{\ttfamily [extern]}} アセンブルモード\+: src, label, onlylabel, asdetail, onlyassemble Definition at line 312 of file assemble.\+c. \mbox{\label{assemble_8h_a671dfafc32a3b439790e2e0ac1de9069}} \index{assemble.h@{assemble.h}!asptr@{asptr}} \index{asptr@{asptr}!assemble.h@{assemble.h}} \doxysubsubsection{asptr} {\footnotesize\ttfamily \textbf{ ASPTR}$\ast$ asptr\hspace{0.3cm}{\ttfamily [extern]}} アセンブル時の、現在およびリテラルのアドレスとプログラム入口名\+: ptr, lptr, prog Definition at line 310 of file assemble.\+c.