>> and explanations of how to do a few of the things that seem so =20 >> trivial >> in assembler but have no obvious solution in C18. > > Like what? There's always inline assembly if you really need it. The world could probably use a good book on "low level C", rather than =20 yet more desktop-gui-oriented tomes, but like other commenters, I'm =20 having trouble figuring out what you're looking for. There are C reference manuals for C. There are data sheets for the hardware. There are a couple techniques used to make C match up with the names =20 and descriptions in data sheets, but it's usually just a matter of =20 noticing "bit variables" or "we use defines and bit numbers" or "we =20 have pointers and masks" or "structures and bitfields" and carrying on =20 from there (hoping that the implementation stays reasonably =20 consistent, and crossing your fingers that staying with the =20 "standardized" methodology makes your code more readable than re-=20 architecting things to your personal preferences... (Some of the secret is in trusting that the compiler will do =20 reasonable things given standardish syntax. PORTB |=3D 2 had better =20 compile to a single BSF instruction when possible (for example), or =20 you go yell at the compiler vendor.) BillW --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .