Reporting the facts is not a simple task, and sometimes people doesn't get it easily or nicely. Elementary school teachers show day by day examples about how to do math operations, kids are enforced to learn as soon as possible how to do math. The same math principles are used later on using a pencil, pen, calculator or even in a computer language. There is no "magic" or "miracle" in coding, what happens is that it takes time to learn. To produce a blinking LED routine can take weeks for someone who never did it, by the other side, to write a complex math formula in assembler can take few hours for an experienced programmer. All it means is experience, and it should not be confused with using other's people expertise. I already saw few examples in my students, when they copy someone else's code and they learn a lot with it, but normally it doesn't happen, since they still needing to do it again and again. The point here is "show me how to land in mars and I would do it nicely" does not deserve any merit, but "show me how to walk, and I will run" does it. I see a common problem in programming; People wants to produce a large program at once, as for example the novice software writer for the "blinking LED", suddenly wakes up at morning and decides to produce a complex math routine, and it needs to be done today, if not he will get very frustrated. Everyone should see its own limits as an "opportunity" to learn more, not as an enclosure. There is no magic, multiplication in *any* processor is done by following the same rules you use when doing with a paper and pencil, except if has internal mul function, and even so, it does the same way internally. You are wrong when you say that you "can't do these things", for sure you CAN do, you just "don't know how to do it" yet, and this takes time to learn, as everything else in life. Also remember that there are other microcontrollers at the market, some of them save you lots of time because they have other internal functions, as for example, "why spent time to write code to simulate an UART, if chips with internal UART are available at the same price?", the answer is "knowledge, hobby, passion". If you don't have time, if the chip has not the required power, not fast enough, don't have the required functions or capabilities, you have few time to decide what to do, and the answer would always be; Choose a better chip, or hire somebody to do it for you. The learning process involves to see beyond the horizon, take a look at Motorola, Atmel, Philips and other manufacturers. Wagner. "Phu T. Van" wrote: > Is it futile to hope that previous PIC gurus had written concise, > dummy-oriented tutorials on how to do these operations ? Obviously > someone has had to multiply and divide with a PIC once in their life. It > frustrates me slightly that I can't do these basic things, even though > it appears to me that PIC programs follow the formula : > code,code,code,miracle,code. > > Thanks again. > --Phu T. Van > P.S. : I've dug up some information on the CORDIC algorithm. Is there > any way to implement it (painlessly, if possible) on the 16F84 ? The > page claimed it was successfully used on the Basic Stamp II, which is I > think more powerful than the PIC.