Here's a more hardcore (and interesting) attempt:
https://web.archive.org/web/20160303190206/http://homepage.ntlworld.com/edmund.grimley-evans/bcompiler.htmlThe dude starts from a hex to binary converter written in raw machine code (well, hex-encoded), then proceeds to add whitespace, comments, one letter labels, forward labels, suddenly a minimal statically compiled forth-like, and two C like languages. He actually skipped the symbolic assembly entirely.