for all you could want to know and a great tutorial, go to http://www.8052.com
Any 8051 assembler will work fine for coding. Sysrad51, available here seems popular. Be careful when re-assembling a file after making changes to it... Sysrad seems to have some odd bugs in this regard.
Batronix Prog Studio seems fairly popular too.
ASEM-51 seems interesting. It has a couple companion IDEs, MIDE and 4Flash. Blundar's preferred development environment is now MIDE+ASEM-51. Note: make sure you have a colon ":" after all labels - ASEM51 is much pickier than SYSRAD.
Dave Blundell modified d51 to support Oki's non-standard use of A5 by creating Pgmfi D51. Chris Favreau compiled some windows binaries for it. You can download the source and linux/win binaries here.
This looks like an interesting 8051 sim
Some 8051 resources: