<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>doc_inner/doxygen/latex/disassemble_8c_source.tex</title>
<meta name='robots' content='noindex,nofollow' />
<meta name='generator' content='GLOBAL-6.6.14' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<link rel='stylesheet' type='text/css' href='../style.css' />
</head>
<body>
<a id='TOP' name='TOP'></a><h2 class='header'><a href='../mains.html'>root</a>/<a href='../files/2920.html'>doc_inner</a>/<a href='../files/2921.html'>doxygen</a>/<a href='../files/2922.html'>latex</a>/disassemble_8c_source.tex</h2>
<em class='comment'>/* [<][>][^][v][top]<a href='#BOTTOM'>[bottom]</a><a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
<hr />
<pre>
<a id='L1' name='L1'></a>\doxysection{disassemble.\+c}
<a id='L2' name='L2'></a>\label{disassemble_8c_source}\index{src/disassemble.c@{src/disassemble.c}}
<a id='L3' name='L3'></a>\textbf{ Go to the documentation of this file.}
<a id='L4' name='L4'></a>\begin{DoxyCode}{0}
<a id='L5' name='L5'></a>\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#include\ "{}disassemble.h"{}}}
<a id='L6' name='L6'></a>\DoxyCodeLine{00002\ }
<a id='L7' name='L7'></a>\DoxyCodeLine{00006\ \textcolor{keywordtype}{int}\ codecol\ =\ 32;}
<a id='L8' name='L8'></a>\DoxyCodeLine{00007\ }
<a id='L9' name='L9'></a>\DoxyCodeLine{00015\ WORD\ fgetword(FILE\ *stream);}
<a id='L10' name='L10'></a>\DoxyCodeLine{00016\ }
<a id='L11' name='L11'></a>\DoxyCodeLine{00022\ \textcolor{keywordtype}{void}\ fungetword(FILE\ *stream);}
<a id='L12' name='L12'></a>\DoxyCodeLine{00023\ }
<a id='L13' name='L13'></a>\DoxyCodeLine{00031\ WORD\ zero\_data\_cnt(FILE\ *stream);}
<a id='L14' name='L14'></a>\DoxyCodeLine{00032\ }
<a id='L15' name='L15'></a>\DoxyCodeLine{00041\ \textcolor{keywordtype}{void}\ disassemble\_puts\_code(\textcolor{keywordtype}{int}\ ascol,\ WORD\ pradr,\ \textcolor{keywordtype}{int}\ wordc,\ WORD\ wordv[]);}
<a id='L16' name='L16'></a>\DoxyCodeLine{00042\ }
<a id='L17' name='L17'></a>\DoxyCodeLine{00052\ \textcolor{keywordtype}{void}\ disassemble\_cmd\_adr\_x(CMDTYPE\ cmdtype,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname,\ WORD\ word,\ WORD\ adr,\ WORD\ pradr);}
<a id='L18' name='L18'></a>\DoxyCodeLine{00053\ }
<a id='L19' name='L19'></a>\DoxyCodeLine{00062\ \textcolor{keywordtype}{void}\ disassemble\_cmd\_r(CMDTYPE\ cmdtype,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname,\ WORD\ word,\ WORD\ pradr);}
<a id='L20' name='L20'></a>\DoxyCodeLine{00063\ }
<a id='L21' name='L21'></a>\DoxyCodeLine{00070\ \textcolor{keywordtype}{void}\ disassemble\_dc(WORD\ word,\ WORD\ pradr);}
<a id='L22' name='L22'></a>\DoxyCodeLine{00071\ }
<a id='L23' name='L23'></a>\DoxyCodeLine{00072\ \textcolor{keywordtype}{void}\ disassemble\_puts\_code(\textcolor{keywordtype}{int}\ ascol,\ WORD\ pradr,\ \textcolor{keywordtype}{int}\ wordc,\ WORD\ wordv[])}
<a id='L24' name='L24'></a>\DoxyCodeLine{00073\ \{}
<a id='L25' name='L25'></a>\DoxyCodeLine{00074\ \ \ \ \ \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ codecol-\/ascol;\ i++)\{}
<a id='L26' name='L26'></a>\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ "{}});}
<a id='L27' name='L27'></a>\DoxyCodeLine{00076\ \ \ \ \ \}}
<a id='L28' name='L28'></a>\DoxyCodeLine{00077\ \ \ \ \ \textcolor{keywordflow}{if}(wordc\ ==\ 1)\ \{}
<a id='L29' name='L29'></a>\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{};\ \#\%04X:\ \#\%04X"{}},\ pradr,\ wordv[0]);}
<a id='L30' name='L30'></a>\DoxyCodeLine{00079\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(wordc\ ==\ 2)\ \{}
<a id='L31' name='L31'></a>\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{};\ \#\%04X:\ \#\%04X\ \#\%04X"{}},\ pradr,\ wordv[0],\ wordv[1]);}
<a id='L32' name='L32'></a>\DoxyCodeLine{00081\ \ \ \ \ \}}
<a id='L33' name='L33'></a>\DoxyCodeLine{00082\ \}}
<a id='L34' name='L34'></a>\DoxyCodeLine{00083\ \textcolor{keywordtype}{void}\ disassemble\_cmd\_adr\_x(CMDTYPE\ cmdtype,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname,\ WORD\ word,\ WORD\ adr,\ WORD\ pradr)}
<a id='L35' name='L35'></a>\DoxyCodeLine{00084\ \{}
<a id='L36' name='L36'></a>\DoxyCodeLine{00085\ \ \ \ \ WORD\ x\ =\ 0;}
<a id='L37' name='L37'></a>\DoxyCodeLine{00086\ \ \ \ \ \textcolor{keywordtype}{char}\ *g\ =\ NULL;}
<a id='L38' name='L38'></a>\DoxyCodeLine{00087\ \ \ \ \ \textcolor{keywordtype}{int}\ cnt\ =\ 0;}
<a id='L39' name='L39'></a>\DoxyCodeLine{00088\ }
<a id='L40' name='L40'></a>\DoxyCodeLine{00089\ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ \ \ \ \ \ \ \ \%-\/7s\ "{}},\ cmdname);}
<a id='L41' name='L41'></a>\DoxyCodeLine{00090\ \ \ \ \ \textcolor{keywordflow}{if}(cmdtype\ ==\ R\_ADR\_X)\ \{}
<a id='L42' name='L42'></a>\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\%s,"{}},\ g\ =\ grstr((word\ \&\ 0x00F0)\ >>\ 4));}
<a id='L43' name='L43'></a>\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ FREE(g);}
<a id='L44' name='L44'></a>\DoxyCodeLine{00093\ \ \ \ \ \}}
<a id='L45' name='L45'></a>\DoxyCodeLine{00094\ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\#\%04X"{}},\ adr);}
<a id='L46' name='L46'></a>\DoxyCodeLine{00095\ \ \ \ \ \textcolor{keywordflow}{if}((x\ =\ (word\ \&\ 0x000F))\ !=\ 0)\ \{}
<a id='L47' name='L47'></a>\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{},\%s"{}},\ g\ =\ grstr(x));}
<a id='L48' name='L48'></a>\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ FREE(g);}
<a id='L49' name='L49'></a>\DoxyCodeLine{00098\ \ \ \ \ \}}
<a id='L50' name='L50'></a>\DoxyCodeLine{00099\ \ \ \ \ disassemble\_puts\_code(cnt,\ pradr,\ 2,\ (WORD\ [])\{word,\ adr\});}
<a id='L51' name='L51'></a>\DoxyCodeLine{00100\ \}}
<a id='L52' name='L52'></a>\DoxyCodeLine{00101\ }
<a id='L53' name='L53'></a>\DoxyCodeLine{00102\ \textcolor{keywordtype}{void}\ disassemble\_cmd\_r(CMDTYPE\ cmdtype,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname,\ WORD\ word,\ WORD\ pradr)}
<a id='L54' name='L54'></a>\DoxyCodeLine{00103\ \{}
<a id='L55' name='L55'></a>\DoxyCodeLine{00104\ \ \ \ \ \textcolor{keywordtype}{char}\ *g\ =\ NULL;}
<a id='L56' name='L56'></a>\DoxyCodeLine{00105\ \ \ \ \ \textcolor{keywordtype}{char}\ *g1\ =\ NULL;}
<a id='L57' name='L57'></a>\DoxyCodeLine{00106\ \ \ \ \ \textcolor{keywordtype}{char}\ *g2\ =\ NULL;}
<a id='L58' name='L58'></a>\DoxyCodeLine{00107\ \ \ \ \ \textcolor{keywordtype}{int}\ cnt\ =\ 0;}
<a id='L59' name='L59'></a>\DoxyCodeLine{00108\ }
<a id='L60' name='L60'></a>\DoxyCodeLine{00109\ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ \ \ \ \ \ \ \ \%-\/7s\ "{}},\ cmdname);}
<a id='L61' name='L61'></a>\DoxyCodeLine{00110\ \ \ \ \ \textcolor{keywordflow}{if}(cmdtype\ ==\ R1\_R2)\ \{}
<a id='L62' name='L62'></a>\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ g1\ =\ grstr((word\ \&\ 0x00F0)\ >>\ 4);}
<a id='L63' name='L63'></a>\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ g2\ =\ grstr(word\ \&\ 0x000F);}
<a id='L64' name='L64'></a>\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\%s,\%s"{}},\ g1,\ g2);}
<a id='L65' name='L65'></a>\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ FREE(g1);}
<a id='L66' name='L66'></a>\DoxyCodeLine{00115\ \ \ \ \ \ \ \ \ FREE(g2);}
<a id='L67' name='L67'></a>\DoxyCodeLine{00116\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(cmdtype\ ==\ R\_)\ \{}
<a id='L68' name='L68'></a>\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ g\ =\ grstr((word\ \&\ 0x00F0)\ >>\ 4);}
<a id='L69' name='L69'></a>\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ cnt\ +=\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\%s"{}},\ g);}
<a id='L70' name='L70'></a>\DoxyCodeLine{00119\ \ \ \ \ \ \ \ \ FREE(g);}
<a id='L71' name='L71'></a>\DoxyCodeLine{00120\ \ \ \ \ \}}
<a id='L72' name='L72'></a>\DoxyCodeLine{00121\ \ \ \ \ disassemble\_puts\_code(cnt,\ pradr,\ 1,\ (WORD\ [])\{word\});}
<a id='L73' name='L73'></a>\DoxyCodeLine{00122\ \}}
<a id='L74' name='L74'></a>\DoxyCodeLine{00123\ }
<a id='L75' name='L75'></a>\DoxyCodeLine{00124\ \textcolor{keywordtype}{void}\ disassemble\_dc(WORD\ word,\ WORD\ pradr)}
<a id='L76' name='L76'></a>\DoxyCodeLine{00125\ \{}
<a id='L77' name='L77'></a>\DoxyCodeLine{00126\ \ \ \ \ \textcolor{keywordtype}{int}\ cnt\ =\ 0;}
<a id='L78' name='L78'></a>\DoxyCodeLine{00127\ }
<a id='L79' name='L79'></a>\DoxyCodeLine{00128\ \ \ \ \ cnt\ =\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ \ \ \ \ \ \ \ DC\ \ \ \ \ \ \%-\/5d\ "{}},\ word);}
<a id='L80' name='L80'></a>\DoxyCodeLine{00129\ \ \ \ \ disassemble\_puts\_code(cnt,\ pradr,\ 1,\ (WORD\ [])\{word\});}
<a id='L81' name='L81'></a>\DoxyCodeLine{00130\ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ ::"{}}\ );}
<a id='L82' name='L82'></a>\DoxyCodeLine{00131\ \ \ \ \ print\_dumpword(word,\ \textcolor{keyword}{true});}
<a id='L83' name='L83'></a>\DoxyCodeLine{00132\ \}}
<a id='L84' name='L84'></a>\DoxyCodeLine{00133\ }
<a id='L85' name='L85'></a>\DoxyCodeLine{00134\ \textcolor{keywordtype}{void}\ disassemble\_ds(WORD\ wcnt,\ WORD\ pradr)}
<a id='L86' name='L86'></a>\DoxyCodeLine{00135\ \{}
<a id='L87' name='L87'></a>\DoxyCodeLine{00136\ \ \ \ \ \textcolor{keywordtype}{int}\ cnt\ =\ 0;}
<a id='L88' name='L88'></a>\DoxyCodeLine{00137\ }
<a id='L89' name='L89'></a>\DoxyCodeLine{00138\ \ \ \ \ cnt\ =\ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ \ \ \ \ \ \ \ DS\ \ \ \ \ \ \%-\/5d\ "{}},\ wcnt);}
<a id='L90' name='L90'></a>\DoxyCodeLine{00139\ \ \ \ \ disassemble\_puts\_code(cnt,\ pradr,\ 1,\ (WORD\ [])\{0\});}
<a id='L91' name='L91'></a>\DoxyCodeLine{00140\ \ \ \ \ \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ wcnt\ -\/\ 1;\ i++)\ \{}
<a id='L92' name='L92'></a>\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
<a id='L93' name='L93'></a>\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ disassemble\_puts\_code(0,\ pradr+1,\ 1,\ (WORD\ [])\{0\});}
<a id='L94' name='L94'></a>\DoxyCodeLine{00143\ \ \ \ \ \}}
<a id='L95' name='L95'></a>\DoxyCodeLine{00144\ \}}
<a id='L96' name='L96'></a>\DoxyCodeLine{00145\ }
<a id='L97' name='L97'></a>\DoxyCodeLine{00146\ WORD\ fgetword(FILE\ *stream)}
<a id='L98' name='L98'></a>\DoxyCodeLine{00147\ \{}
<a id='L99' name='L99'></a>\DoxyCodeLine{00148\ \ \ \ \ WORD\ aword;}
<a id='L100' name='L100'></a>\DoxyCodeLine{00149\ \ \ \ \ fread(\&aword,\ \textcolor{keyword}{sizeof}(WORD),\ 1,\ stream);}
<a id='L101' name='L101'></a>\DoxyCodeLine{00150\ \ \ \ \ \textcolor{keywordflow}{return}\ aword;}
<a id='L102' name='L102'></a>\DoxyCodeLine{00151\ \}}
<a id='L103' name='L103'></a>\DoxyCodeLine{00152\ }
<a id='L104' name='L104'></a>\DoxyCodeLine{00153\ \textcolor{keywordtype}{void}\ fungetword(FILE\ *stream)}
<a id='L105' name='L105'></a>\DoxyCodeLine{00154\ \{}
<a id='L106' name='L106'></a>\DoxyCodeLine{00155\ \ \ \ \ fseek(stream,\ -\/\textcolor{keyword}{sizeof}(WORD),\ SEEK\_CUR);}
<a id='L107' name='L107'></a>\DoxyCodeLine{00156\ \}}
<a id='L108' name='L108'></a>\DoxyCodeLine{00157\ }
<a id='L109' name='L109'></a>\DoxyCodeLine{00158\ WORD\ zero\_data\_cnt(FILE\ *stream)}
<a id='L110' name='L110'></a>\DoxyCodeLine{00159\ \{}
<a id='L111' name='L111'></a>\DoxyCodeLine{00160\ \ \ \ \ WORD\ cnt\ =\ 0;}
<a id='L112' name='L112'></a>\DoxyCodeLine{00161\ \ \ \ \ WORD\ word\ =\ 0;}
<a id='L113' name='L113'></a>\DoxyCodeLine{00162\ }
<a id='L114' name='L114'></a>\DoxyCodeLine{00163\ \ \ \ \ \textcolor{keywordflow}{while}(!feof(stream)\ \&\&\ word\ ==\ 0)\ \{}
<a id='L115' name='L115'></a>\DoxyCodeLine{00164\ \ \ \ \ \ \ \ \ word\ =\ fgetword(stream);}
<a id='L116' name='L116'></a>\DoxyCodeLine{00165\ \ \ \ \ \ \ \ \ cnt++;}
<a id='L117' name='L117'></a>\DoxyCodeLine{00166\ \ \ \ \ \}}
<a id='L118' name='L118'></a>\DoxyCodeLine{00167\ \ \ \ \ \textcolor{keywordflow}{if}(!feof(stream))\ \{}
<a id='L119' name='L119'></a>\DoxyCodeLine{00168\ \ \ \ \ \ \ \ \ fungetword(stream);}
<a id='L120' name='L120'></a>\DoxyCodeLine{00169\ \ \ \ \ \}}
<a id='L121' name='L121'></a>\DoxyCodeLine{00170\ \ \ \ \ \textcolor{keywordflow}{return}\ cnt;}
<a id='L122' name='L122'></a>\DoxyCodeLine{00171\ \}}
<a id='L123' name='L123'></a>\DoxyCodeLine{00172\ }
<a id='L124' name='L124'></a>\DoxyCodeLine{00173\ \textcolor{keywordtype}{bool}\ disassemble\_file(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *file)}
<a id='L125' name='L125'></a>\DoxyCodeLine{00174\ \{}
<a id='L126' name='L126'></a>\DoxyCodeLine{00175\ \ \ \ \ \textcolor{keywordtype}{bool}\ stat\ =\ \textcolor{keyword}{true};}
<a id='L127' name='L127'></a>\DoxyCodeLine{00176\ \ \ \ \ FILE\ *fp\ =\ NULL;}
<a id='L128' name='L128'></a>\DoxyCodeLine{00177\ \ \ \ \ WORD\ i\ =\ 0;}
<a id='L129' name='L129'></a>\DoxyCodeLine{00178\ \ \ \ \ WORD\ word\ =\ 0;}
<a id='L130' name='L130'></a>\DoxyCodeLine{00179\ \ \ \ \ WORD\ cmd\ =\ 0;}
<a id='L131' name='L131'></a>\DoxyCodeLine{00180\ \ \ \ \ WORD\ zcnt\ =\ 0;}
<a id='L132' name='L132'></a>\DoxyCodeLine{00181\ \ \ \ \ CMDTYPE\ cmdtype\ =\ 0;}
<a id='L133' name='L133'></a>\DoxyCodeLine{00182\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname\ =\ NULL;}
<a id='L134' name='L134'></a>\DoxyCodeLine{00183\ \ \ \ \ \textcolor{keywordtype}{bool}\ inst\ =\ \textcolor{keyword}{true};}
<a id='L135' name='L135'></a>\DoxyCodeLine{00184\ }
<a id='L136' name='L136'></a>\DoxyCodeLine{00185\ \ \ \ \ assert(file\ !=\ NULL);}
<a id='L137' name='L137'></a>\DoxyCodeLine{00186\ \ \ \ \ \textcolor{keywordflow}{if}((fp\ =\ fopen(file,\ \textcolor{stringliteral}{"{}rb"{}}))\ ==\ NULL)\ \{}
<a id='L138' name='L138'></a>\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ perror(file);}
<a id='L139' name='L139'></a>\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
<a id='L140' name='L140'></a>\DoxyCodeLine{00189\ \ \ \ \ \}}
<a id='L141' name='L141'></a>\DoxyCodeLine{00190\ }
<a id='L142' name='L142'></a>\DoxyCodeLine{00191\ \ \ \ \ create\_cmdtable(HASH\_CODE);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ 命令のコードとタイプがキーのハッシュ表を作成\ */}}
<a id='L143' name='L143'></a>\DoxyCodeLine{00192\ }
<a id='L144' name='L144'></a>\DoxyCodeLine{00193\ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}MAIN\ \ \ \ START\(\backslash\)n"{}});}
<a id='L145' name='L145'></a>\DoxyCodeLine{00194\ \ \ \ \ \textcolor{keywordflow}{for}(word\ =\ fgetword(fp);\ !feof(fp);\ i++,\ word\ =\ fgetword(fp))\ \{}
<a id='L146' name='L146'></a>\DoxyCodeLine{00195\ \ \ \ \ \ \ \ \ cmd\ =\ word\ \&\ 0xFF00;}
<a id='L147' name='L147'></a>\DoxyCodeLine{00196\ \ \ \ \ \ \ \ \ cmdname\ =\ getcmdname(cmd);}
<a id='L148' name='L148'></a>\DoxyCodeLine{00197\ \ \ \ \ \ \ \ \ cmdtype\ =\ getcmdtype(cmd);}
<a id='L149' name='L149'></a>\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(word\ ==\ 0)\{}
<a id='L150' name='L150'></a>\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(inst\ ==\ \textcolor{keyword}{true})\ \{\ \ \textcolor{comment}{/*\ プログラム領域の場合\ \ */}}
<a id='L151' name='L151'></a>\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_r(NONE,\ \textcolor{stringliteral}{"{}nop"{}},\ 0,\ i);}
<a id='L152' name='L152'></a>\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ データ領域の場合\ */}}
<a id='L153' name='L153'></a>\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ zcnt\ =\ zero\_data\_cnt(fp);}
<a id='L154' name='L154'></a>\DoxyCodeLine{00203\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(zcnt\ ==\ 1)\ \{\ \textcolor{comment}{/*\ 1つだけの0はDCとみなす\ */}}
<a id='L155' name='L155'></a>\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_dc(0,\ i);}
<a id='L156' name='L156'></a>\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{\ \ \ \ \ \ \ \ \textcolor{comment}{/*\ 連続する0はDSとみなす\ */}}
<a id='L157' name='L157'></a>\DoxyCodeLine{00206\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_ds(zcnt,\ i);}
<a id='L158' name='L158'></a>\DoxyCodeLine{00207\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i\ +=\ zcnt\ -\/\ 1;}
<a id='L159' name='L159'></a>\DoxyCodeLine{00208\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
<a id='L160' name='L160'></a>\DoxyCodeLine{00209\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
<a id='L161' name='L161'></a>\DoxyCodeLine{00210\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(cmd\ ==\ 0)\ \{}
<a id='L162' name='L162'></a>\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_dc(word,\ i);}
<a id='L163' name='L163'></a>\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
<a id='L164' name='L164'></a>\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(cmdtype\ ==\ R\_ADR\_X\ ||\ cmdtype\ ==\ ADR\_X)\ \{}
<a id='L165' name='L165'></a>\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_adr\_x(cmdtype,\ cmdname,\ word,\ fgetword(fp),\ i++);}
<a id='L166' name='L166'></a>\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
<a id='L167' name='L167'></a>\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_r(cmdtype,\ cmdname,\ word,\ i);}
<a id='L168' name='L168'></a>\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
<a id='L169' name='L169'></a>\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \ \ \ \ inst\ =\ (cmd\ !=\ 0x8100)\ ?\ \textcolor{keyword}{true}\ :\ \textcolor{keyword}{false};}
<a id='L170' name='L170'></a>\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \}}
<a id='L171' name='L171'></a>\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
<a id='L172' name='L172'></a>\DoxyCodeLine{00221\ \ \ \ \ \}}
<a id='L173' name='L173'></a>\DoxyCodeLine{00222\ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\ \ \ \ \ \ \ \ END\(\backslash\)n"{}});}
<a id='L174' name='L174'></a>\DoxyCodeLine{00223\ \ \ \ \ free\_cmdtable(HASH\_CODE);}
<a id='L175' name='L175'></a>\DoxyCodeLine{00224\ \ \ \ \ fclose(fp);}
<a id='L176' name='L176'></a>\DoxyCodeLine{00225\ \ \ \ \ \textcolor{keywordflow}{return}\ stat;}
<a id='L177' name='L177'></a>\DoxyCodeLine{00226\ \}}
<a id='L178' name='L178'></a>\DoxyCodeLine{00227\ }
<a id='L179' name='L179'></a>\DoxyCodeLine{00228\ \textcolor{keywordtype}{void}\ disassemble\_memory(WORD\ start,\ WORD\ end)}
<a id='L180' name='L180'></a>\DoxyCodeLine{00229\ \{}
<a id='L181' name='L181'></a>\DoxyCodeLine{00230\ \ \ \ \ WORD\ cmd\ =\ 0;}
<a id='L182' name='L182'></a>\DoxyCodeLine{00231\ \ \ \ \ CMDTYPE\ cmdtype\ =\ 0;}
<a id='L183' name='L183'></a>\DoxyCodeLine{00232\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *cmdname\ =\ NULL;}
<a id='L184' name='L184'></a>\DoxyCodeLine{00233\ \ \ \ \ \textcolor{keywordtype}{bool}\ inst\ =\ \textcolor{keyword}{true};}
<a id='L185' name='L185'></a>\DoxyCodeLine{00234\ }
<a id='L186' name='L186'></a>\DoxyCodeLine{00235\ \ \ \ \ \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int}\ i\ =\ start;\ i\ <=\ end;\ i++)\ \{}
<a id='L187' name='L187'></a>\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ cmd\ =\ sys-\/>memory[i]\ \&\ 0xFF00;}
<a id='L188' name='L188'></a>\DoxyCodeLine{00237\ \ \ \ \ \ \ \ \ cmdname\ =\ getcmdname(cmd);}
<a id='L189' name='L189'></a>\DoxyCodeLine{00238\ \ \ \ \ \ \ \ \ cmdtype\ =\ getcmdtype(cmd);}
<a id='L190' name='L190'></a>\DoxyCodeLine{00239\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(sys-\/>memory[i]\ ==\ 0)\ \{}
<a id='L191' name='L191'></a>\DoxyCodeLine{00240\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(inst\ ==\ \textcolor{keyword}{true})\ \{\ \ \textcolor{comment}{/*\ プログラム領域の場合\ \ */}}
<a id='L192' name='L192'></a>\DoxyCodeLine{00241\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_r(NONE,\ \textcolor{stringliteral}{"{}nop"{}},\ 0,\ i);}
<a id='L193' name='L193'></a>\DoxyCodeLine{00242\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ データ領域の場合。メモリーでは、DC\ 0とみなす\ */}}
<a id='L194' name='L194'></a>\DoxyCodeLine{00243\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_dc(0,\ i);}
<a id='L195' name='L195'></a>\DoxyCodeLine{00244\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
<a id='L196' name='L196'></a>\DoxyCodeLine{00245\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(cmd\ ==\ 0)\ \{}
<a id='L197' name='L197'></a>\DoxyCodeLine{00246\ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_dc(sys-\/>memory[i],\ i);}
<a id='L198' name='L198'></a>\DoxyCodeLine{00247\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
<a id='L199' name='L199'></a>\DoxyCodeLine{00248\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}(cmdtype\ ==\ R\_ADR\_X\ ||\ cmdtype\ ==\ ADR\_X)\ \{}
<a id='L200' name='L200'></a>\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_adr\_x(cmdtype,\ cmdname,\ sys-\/>memory[i],\ sys-\/>memory[i+1],\ i);}
<a id='L201' name='L201'></a>\DoxyCodeLine{00250\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i++;}
<a id='L202' name='L202'></a>\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
<a id='L203' name='L203'></a>\DoxyCodeLine{00252\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ disassemble\_cmd\_r(cmdtype,\ cmdname,\ sys-\/>memory[i],\ i);}
<a id='L204' name='L204'></a>\DoxyCodeLine{00253\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
<a id='L205' name='L205'></a>\DoxyCodeLine{00254\ \ \ \ \ \ \ \ \ \ \ \ \ inst\ =\ (cmd\ !=\ 0x8100)\ ?\ \textcolor{keyword}{true}\ :\ \textcolor{keyword}{false};}
<a id='L206' name='L206'></a>\DoxyCodeLine{00255\ \ \ \ \ \ \ \ \ \}}
<a id='L207' name='L207'></a>\DoxyCodeLine{00256\ \ \ \ \ \ \ \ \ fprintf(stdout,\ \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
<a id='L208' name='L208'></a>\DoxyCodeLine{00257\ \ \ \ \ \}}
<a id='L209' name='L209'></a>\DoxyCodeLine{00258\ \}}
<a id='L210' name='L210'></a>
<a id='L211' name='L211'></a>\end{DoxyCode}
</pre>
<hr />
<a id='BOTTOM' name='BOTTOM'></a>
<em class='comment'>/* [<][>][^][v]<a href='#TOP'>[top]</a>[bottom]<a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
</body>
</html>