Check out this link. Or,
Google for "apple2 emulator".
Quick summary:
* I know that ApplePC was written in assembly, but the source was never released to my knowledge.
* AppleWin is pretty good, but I think it's all C. The source code is floating around somewhere... I have a copy somewhere too.
* DApple is more current and is actively being developed. I think it's completely C, but you probably should check.
* KEGS/XGS is probably worth a look, but concentrates on 65816.
There are a number of people on this site who have actually dealt with this stuff too. Check out
Daryl's site for one.