samcheetah said:
[...] i also think that you (timtalk) should stick with C. infact ive heard (yet to confirm!) that if you use microchip's C compiler and write code for an 18 series PIC then the code generated by the C compiler will be very close to an equivalent piece of assembly code. [...]
While I believe this to be entirely plausible and in fact mostly true, it is not a strong point for skipping the assembly language learning curve and heading straight to C. Knowing assembly before tackling C, on the PIC but also on any other uC/CPU platform, can be very rewarding and help a whole lot down the line during software development, whatever language is used.
When I talk of ASM vs. C, I tend to consider the programmer's performance as a software writer, more than the resulting software's benchmarked performance...
A strong argument in favor of learning ASM first on the PIC is all the documentation, application notes and code samples provided by Microchip, which are both excellent and, as far as I know, 100% assembly language. You can apply anything described in those documents in C, provided you can read and understand ASM first.
However, like I told Tim earlier, I can understand how ASM can be totally confusing. For years I had a x86 assembly language book on my shelves, and everytime I picked it up, I had a very hard time understanding even the most basic processes and details. Learning the PIC ASM changed all that. I am now going back to that book, and suddenly everything about x86 assembly makes sense...
But before I could even learn PIC ASM, I was earning a living as a PC C/C++ software developer, with basically zero assembly language knowledge. Maybe some of us have to learn it the other way around in order for it to make some sense.