<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>sc68fordevelopers: desa68 library documentation.</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="contents"> <h1>desa68 library documentation.</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structDESA68parm__t.html">DESA68parm_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">68K disassemble pass parameters. <a href="structDESA68parm__t.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Files</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="desa68_8h.html">desa68.h</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Motorola 68K disassembler. <br></td></tr> <p> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#gc3e7a7f5d9aaa3cf735dfc816016e37e">desa68</a> (<a class="el" href="structDESA68parm__t.html">DESA68parm_t</a> *d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Disassemble a single 68000 instruction. <a href="#gc3e7a7f5d9aaa3cf735dfc816016e37e"></a><br></td></tr> <tr><td colspan="2"><br><h2>Disassembly option flags.</h2></td></tr> <tr><td colspan="2"><a class="anchor" name="desa68_opt_flags"></a><p> Use bitwise OR operation with these values to set the the <a class="el" href="structDESA68parm__t.html#6575338cd578fe099d9932d74f34d94f" title="Disassemble options">DESA68parm_t::flags</a> in order to configure the disassembler. <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g6eca360ae5114c11a9a5788de4c27ac8">DESA68_SYMBOL_FLAG</a> (1<<0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Disassemble with symbol. <a href="#g6eca360ae5114c11a9a5788de4c27ac8"></a><br></td></tr> <tr><td colspan="2"><br><h2>Instruction type flags.</h2></td></tr> <tr><td colspan="2"><a class="anchor" name="desa68_inst_flags"></a><p> These flags are setted in the <a class="el" href="structDESA68parm__t.html#55cd5b484b814406a426c7ffa05301f5" title="disassembly instruction flags">DESA68parm_t::status</a> field by <a class="el" href="group__desa68__devel.html#gc3e7a7f5d9aaa3cf735dfc816016e37e" title="Disassemble a single 68000 instruction.">desa68()</a> function. It allow to determine the type of the dissassembled instruction. <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g02094f7500cff1ceb95795cfaf8ec141">DESA68_INST</a> (1<<0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Valid instruction. <a href="#g02094f7500cff1ceb95795cfaf8ec141"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g4c8e6b3c96f40064fff08e61637ab10f">DESA68_BRA</a> (1<<1)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Branch always instruction (bra/jmp/dbcc). <a href="#g4c8e6b3c96f40064fff08e61637ab10f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#ga8c141038810dee01d2b9a6ee291b527">DESA68_BSR</a> (1<<2)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subroutine (bsr/jsr)/ Conditionnal branch instruction (bcc/dbcc). <a href="#ga8c141038810dee01d2b9a6ee291b527"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g5ac47fd993e212038d58f6ba8c85ea13">DESA68_RTS</a> (1<<3)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return from subroutine/Interruption instruction (rts/rte). <a href="#g5ac47fd993e212038d58f6ba8c85ea13"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#gbe64a7fc7a3a5d2f7ac2870d9858191c">DESA68_INT</a> (1<<4)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Software interrupt instruction (trap/chk). <a href="#gbe64a7fc7a3a5d2f7ac2870d9858191c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g3e6c5a71f7e5ac45a4a8f48233ef900d">DESA68_NOP</a> (1<<5)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">nop instruction. <a href="#g3e6c5a71f7e5ac45a4a8f48233ef900d"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <dl class="author" compact><dt><b>Author:</b></dt><dd>Benjamin Gerard <<a href="mailto:ben@sashipa.com">ben@sashipa.com</a>></dd></dl> desa68 library is a 68000 disassembler with enhanced features that help to trace branch instructions.<p> Optionnally the disassembler may disassemble with symbol instead of absolute address or long immediat. A supplemental control is available to choose the range of address that must be disassembled as symbol.<p> A good sample is may be found in the sourcer68 directory. This library is also used by debug68 programs. <hr><h2>Define Documentation</h2> <a class="anchor" name="g6eca360ae5114c11a9a5788de4c27ac8"></a><!-- doxytag: member="desa68.h::DESA68_SYMBOL_FLAG" ref="g6eca360ae5114c11a9a5788de4c27ac8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_SYMBOL_FLAG (1<<0) </td> </tr> </table> </div> <div class="memdoc"> <p> Disassemble with symbol. <p> If the DESA68_SYMBOL_FLAG is set in the <a class="el" href="structDESA68parm__t.html#6575338cd578fe099d9932d74f34d94f" title="Disassemble options">DESA68parm_t::flags</a> and the value of absolute long addressing mode or an immediat long is in greater or equal to <a class="el" href="structDESA68parm__t.html#fa79e165cf5184204ff32c2baec5f79c" title="Minimum value to interpret long immediat or absolute long as symbol.">DESA68parm_t::immsym_min</a> and less than <a class="el" href="structDESA68parm__t.html#4c0f54e1f12710e16a6085dd416ee3ff" title="Maximum value to interpret long immediat or absolute long as symbol.">DESA68parm_t::immsym_max</a> then the disassembler replaces the value by a named symbol. The named symbol constist on the value transformed to an 6 hexadecimal digit number with a prefixed 'L'. </div> </div><p> <a class="anchor" name="g02094f7500cff1ceb95795cfaf8ec141"></a><!-- doxytag: member="desa68.h::DESA68_INST" ref="g02094f7500cff1ceb95795cfaf8ec141" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_INST (1<<0) </td> </tr> </table> </div> <div class="memdoc"> <p> Valid instruction. <p> </div> </div><p> <a class="anchor" name="g4c8e6b3c96f40064fff08e61637ab10f"></a><!-- doxytag: member="desa68.h::DESA68_BRA" ref="g4c8e6b3c96f40064fff08e61637ab10f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_BRA (1<<1) </td> </tr> </table> </div> <div class="memdoc"> <p> Branch always instruction (bra/jmp/dbcc). <p> </div> </div><p> <a class="anchor" name="ga8c141038810dee01d2b9a6ee291b527"></a><!-- doxytag: member="desa68.h::DESA68_BSR" ref="ga8c141038810dee01d2b9a6ee291b527" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_BSR (1<<2) </td> </tr> </table> </div> <div class="memdoc"> <p> Subroutine (bsr/jsr)/ Conditionnal branch instruction (bcc/dbcc). <p> </div> </div><p> <a class="anchor" name="g5ac47fd993e212038d58f6ba8c85ea13"></a><!-- doxytag: member="desa68.h::DESA68_RTS" ref="g5ac47fd993e212038d58f6ba8c85ea13" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_RTS (1<<3) </td> </tr> </table> </div> <div class="memdoc"> <p> Return from subroutine/Interruption instruction (rts/rte). <p> </div> </div><p> <a class="anchor" name="gbe64a7fc7a3a5d2f7ac2870d9858191c"></a><!-- doxytag: member="desa68.h::DESA68_INT" ref="gbe64a7fc7a3a5d2f7ac2870d9858191c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_INT (1<<4) </td> </tr> </table> </div> <div class="memdoc"> <p> Software interrupt instruction (trap/chk). <p> </div> </div><p> <a class="anchor" name="g3e6c5a71f7e5ac45a4a8f48233ef900d"></a><!-- doxytag: member="desa68.h::DESA68_NOP" ref="g3e6c5a71f7e5ac45a4a8f48233ef900d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESA68_NOP (1<<5) </td> </tr> </table> </div> <div class="memdoc"> <p> nop instruction. <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="gc3e7a7f5d9aaa3cf735dfc816016e37e"></a><!-- doxytag: member="desa68.h::desa68" ref="gc3e7a7f5d9aaa3cf735dfc816016e37e" args="(DESA68parm_t *d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void desa68 </td> <td>(</td> <td class="paramtype"><a class="el" href="structDESA68parm__t.html">DESA68parm_t</a> * </td> <td class="paramname"> <em>d</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Disassemble a single 68000 instruction. <p> param d Pointer to disassemble pass parameter structure. </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 15 03:58:05 2009 for sc68fordevelopers by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>