Some deviation from the mainstream: a free Pascal compiler for 8051
http://turbo51.comA fast single pass optimizing compiler, Borland Turbo Pascal 7 syntax, floating point support, mixed pascal and assembler programming, full use of register banks, advanced multi-pass optimizer, smart linker, generates compact high quality code, output formats include binary, Intel HEX, OMF-51 and assembler source. Source level debugging is possible with extended absolute object file (use Keil uVision, Silabs IDE, Raisonance IDE or any other debugger/IDE that supports omf51 object files).