Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 2ff8806b45ba9c96e77e01e6d40e440b > files > 153

libsc68_2.2.1-devel-2.2.1-11mdv2010.0.i586.rpm

<!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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDESA68parm__t.html">DESA68parm_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="desa68_8h.html">desa68.h</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g6eca360ae5114c11a9a5788de4c27ac8">DESA68_SYMBOL_FLAG</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g02094f7500cff1ceb95795cfaf8ec141">DESA68_INST</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Valid instruction.  <a href="#g02094f7500cff1ceb95795cfaf8ec141"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g4c8e6b3c96f40064fff08e61637ab10f">DESA68_BRA</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#ga8c141038810dee01d2b9a6ee291b527">DESA68_BSR</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g5ac47fd993e212038d58f6ba8c85ea13">DESA68_RTS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#gbe64a7fc7a3a5d2f7ac2870d9858191c">DESA68_INT</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__desa68__devel.html#g3e6c5a71f7e5ac45a4a8f48233ef900d">DESA68_NOP</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 &lt;<a href="mailto:ben@sashipa.com">ben@sashipa.com</a>&gt;</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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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&nbsp;&nbsp;&nbsp;(1&lt;&lt;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> *&nbsp;</td>
          <td class="paramname"> <em>d</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;
<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>