<html>I was over exited of making working example for byte div case. For word case it can be done.<br />
In case of dword div it's not so nice. It's theoretically possible to shave 1 cpu clock cycle. And i have no working example jet. Sorry, for spreading false hope.<br />
<br />
example for byte case:<br />
<br />
function teByteDivBy7( divided : dword):dword; assembler; nostackframe;<br />
asm<br />
     mov ecx,divided<br />
     mov eax,293<br />
     mul ecx<br />
     shr eax, 11<br />
end;<br />
<br />
<br />
 
<div class="noTransl">----- Reply to message -----<br />
<b>Subject: </b>Re: [fpc-devel] The "magic div" algorithm<br />
<b>From: </b> MarÄ£ers . via fpc-devel <a href="mailto:fpc-devel@lists.freepascal.org"><fpc-devel@lists.freepascal.org></a><br />
<b>To: </b> FPC developers' list <a href="mailto:fpc-devel@lists.freepascal.org"><fpc-devel@lists.freepascal.org></a></div>

<blockquote><br />
For unsigned byte, word and dword divisions by constant on 64 bit cpu can be converted as good cases.
<blockquote>
<div>
<table>
        <tbody>
                <tr>
                        <td> </td>
                        <td> </td>
                </tr>
        </tbody>
</table>
</div>
</blockquote>
</blockquote>
</html>