Some links with information about programming languages that are useful when programming the kernel. When adding links, please group them by category or from most basic to most advanced.
C
[http://en.wikipedia.org/wiki/C_programming_language Wikipedia's] entry on the C programming language
[http://www.cprogramming.com/ CProgramming.com] Tutorials on C and C++
[http://cprog.tomsweb.net/cintro.html Introduction to C] A long web page on C
[http://c.learncodethehardway.org Zed's Learn C the Hard Way] Alpha release
[http://users.ece.utexas.edu/~adnan/c-refcard.pdf C quick reference card (pdf)]
[http://claymore.engineer.gvsu.edu/~steriana/226/C.CheatSheet.pdf C Cheat Sheet (pdf)] - actually a lot longer than one sheet, it's like a more detailed version of a quick reference card
[http://www.iso-9899.info/wiki/Books#Learning_C ISO-9899 Group's book recommendations]
Assembler
[http://gnu.mirrors.pair.com/savannah/savannah//pgubook/ProgrammingGroundUp-1-0-booksize.pdf Programming from the Ground up] Downloadable PDF
[http://www.jegerlehner.ch/intel/ Intel Assembler 80x86 CodeTable] an overview of the x86 assembler instructions, on one sheet of paper
if the above page is down, try this [http://web.archive.org/web/20080126232753/http://www.jegerlehner.ch/intel/ cache]
[http://www.ctyme.com/rbrown.htm Ralf Brown's Interrupt List] exhaustive info about just about every interrupt for the x86/DOS environment, especially useful for the detailed info about BIOS calls [http://www.ctyme.com/intr/cat-003.htm here]
[http://drpaulcarter.com/pcasm/ PC Assembly Tutorial]
[http://www.sandpile.org/ Sandpile.org] hardware and software information about x86 and x86-64 CPUs
Perl
[http://johnbokma.com/perl/perl-quick-reference-card.pdf another quick reference card]
[http://www.rexswain.com/perl5.html Rex Swain's HTMLified Perl 5 Reference Guide] - much more detailed than the cards
Other links
[http://www.gnu.org/software/make/manual/html_node/index.html GNU Make manual]
[http://www.troubleshooters.com/linux/grub/grub.htm GRUB From the Ground Up] - a tutorial/introduction
[http://www.gnu.org/software/grub/manual/html_node/index.html GRUB manual]
[http://drpaulcarter.com/cs/debug.php How to Debug Programs] - an introduction
[http://www.mindprod.com/jgloss/unmain.html How To Write Unmaintainable Code] is a collection of excellent rules for writing code that nobody else can understand. It is an excellent article on how NOT to write programs