EdSim51 have filled that need. Before you select an MCU simulator, you must also understand that there are limitations; nothing is perfect or ideal. They use the free assembler and SDCC free compiler, which makes no code limit. Programmer can confidently dump the program in the hardware when he simulated his program in the simulator and got the expected results. The is a pretty easy chip to play with, in both hardware and software.
nest...