There is also GBATEK, from the no$gba emulator. It provides a full description of the memory map, interrupts, IO ports and rom layout for GB, GBA and now even the DS.
http://nocash.emubase.de/gbatek.htm
The CPU instruction sets can be obtained from the original manufacturers (ARM9/ARM7 for DS, ARM7 for GBA and Z80 for the original Gameboy - and the Color version).