<div dir="ltr"><div>I add the same experiences that Tom, Jay and Scott if dsPIC.</div><div>write in assembly on dsPIC for those with 40 years of assembly is like writing a letter. I can not say the same for C ...</div><div><br></div><div>- Vinicius Brazil</div><div><a href="mailto:brazil.v@gmail.com">brazil.v@gmail.com</a></div><div>VBrazil Systems</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 26, 2015 at 5:27 AM, Tom Wiltshire <span dir="ltr"><<a href="mailto:tom@electricdruid.net" target="_blank">tom@electricdruid.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+1 Agree with Scott and Jay. I've had the same experience.<br>
<br>
I like assembler, especially on dsPIC, and I find C a pain in the neck. Header files! What are they good for?!? Ack!<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 26 Sep 2015, at 03:31, Scott Gravenhorst <<a href="mailto:music.maker@gte.net">music.maker@gte.net</a>> wrote:<br>
<br>
> "Jay Schwichtenberg" <<a href="mailto:jays@aracnet.com">jays@aracnet.com</a>> wrote:<br>
> >A lot depends on the DSP you are using. If you are using a higher end >DSP that has pipe lines and multiple ALUs then using the C compiler >will get you the best performance unless you're some sort of uber >programmer. There are way too many things going on in those processors >to keep track of and the compilers have been optimized to handle that >stuff. But for the smaller DSPs like the MicroChip ones assembly<br>
> >language is the way to go if you really want the performance.<br>
> ><br>
> >Jay S.<br>
><br>
> Yes, I found this to be true by doing it. I've been able to write a nice additive flute model monosynth for dsPIC33F in C, but my best efforts at polysynths are in assembly language. The main issue for me is the fact that there is no native data type support for 16 bit fixed point arithmetic. Worse yet is that sometimes designs need more than one definition for 16 bit fixed point. Usually 1.15 works, but there are times other configurations are necessary. This is rather difficult and at least ugly in C even using typedef etc. Just ugly. And in C I had to write several functions in assembly language anyway that handle the use of DSP instructions because they are not used by the C compiler even if it's logical to do so. At least in my experience... can anyone tell me how to make an FIR filter in C30 that uses the MAC instruction... ??<br>
><br>
> Anyway, what Jay said about assembly language being the way to go.<br>
><br>
> --Scott G<br>
><br>
> _______________________________________________<br>
> Synth-diy mailing list<br>
> <a href="mailto:Synth-diy@dropmix.xs4all.nl">Synth-diy@dropmix.xs4all.nl</a><br>
> <a href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://dropmix.xs4all.nl/mailman/listinfo/synth-diy</a><br>
<br>
_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@dropmix.xs4all.nl">Synth-diy@dropmix.xs4all.nl</a><br>
<a href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://dropmix.xs4all.nl/mailman/listinfo/synth-diy</a><br>
</div></div></blockquote></div><br></div>