This is one of my many Electronics Projects. This project is currently work in progress.
Most people write their microcontroller code using an assembler. I am a little different in that I write my code using a higher level programming language (in this case STIPPLE.) Basically, I have a libary of procedures, where each procedure corresponds to an opcode. I write a program that executes these procedures and the output of the program is both an assembler output listing and the final raw bytes to be programmed into the microcontroller. Bascially, each time I decide to work with a different microcontroller, I make a clone of one of the pervious microcontrollers and start hacking. This PIC code base started out from my MCS-51 code base.
Eventually, I intend to get around to implementing a PIC emulator as well.
The source files are available.