PBP doesn't have decimals, and (2^32 * 10e6) takes more than 32-bit LONGs.
But using some 64-bit math works out pretty good.
With the N-Bit_Math module from ... http://www.picbasic.co.uk/forum/showthread.php?t=12433
Code:
<font color="#000000"><b>PRECISION </b><font color="#008000"><b>CON </b></font><font color="#800000"><b>8 </b></font><b>SYSTEM </b><font color="#0000FF"><b><i>' 8 bytes = 64-bit
</i></b></font><font color="#008000"><b>INCLUDE </b></font><font color="#FF0000">"N-Bit_Math.pbp"
</font><b>Base </b><font color="#008000"><b>VAR BYTE</b></font>[<b>PRECISION</b>]
<b>Fo </b><font color="#008000"><b>VAR BYTE</b></font>[<b>PRECISION</b>]
<b>Fs </b><font color="#008000"><b>VAR BYTE</b></font>[<b>PRECISION</b>]
<b>FTW </b><font color="#008000"><b>VAR BYTE</b></font>[<b>PRECISION</b>]
<font color="#008000"><b>ASM
</b></font><font color="#000080">MOVE?CP 4294967295, _Base </font><font color="#0000FF"><b><i>; 2^32 - 1
</i></b></font><font color="#000080">MOVE?CP 10000000, _Fo </font><font color="#0000FF"><b><i>; desired frequency out
</i></b></font><font color="#000080">MOVE?CP 360000000, _Fs </font><font color="#0000FF"><b><i>; DDS clock
</i></b></font><font color="#000080">MATH_MUL _Base, _Fo, _FTW </font><font color="#0000FF"><b><i>; 2^32 * Fo
</i></b></font><font color="#000080">MATH_DIV _FTW, _Fs, _FTW </font><font color="#0000FF"><b><i>; / Fs
</i></b></font><font color="#008000"><b>ENDASM
HSEROUT </b></font>[<font color="#FF0000">" FTW="</font>,<font color="#008000"><b>HEX2 </b></font><b>FTW</b>(<font color="#800000"><b>3</b></font>),<font color="#008000"><b>HEX2 </b></font><b>FTW</b>(<font color="#800000"><b>2</b></font>),<font color="#008000"><b>HEX2 </b></font><b>FTW</b>(<font color="#800000"><b>1</b></font>),<font color="#008000"><b>HEX2 </b></font><b>FTW</b>(<font color="#800000"><b>0</b></font>),<font color="#800000"><b>13</b></font>,<font color="#800000"><b>10</b></font>]
<font color="#008000"><b>STOP
</b></font>
Which shows a result of ...
FTW=071C71C7
Which is the hex value for 119,304,647
The value is located in the lower 4 bytes of the FTW array and can be easily shifted out to the DDS.
HTH,
Bookmarks