Usually on embedded process systems, you will need to know what processor you are running..(Intel, Motorola, DEC, TI, etc..). Then you will have to run decompiler that will support your processor to convert it to the appropriate assembly language for your processor, from the binary loaded on the chips. (Which will leave you page upon page of assembly code to figure out.)...
There are a few programs out there that will convert to Assembly to a higher level language,,,(C, C++, ) but I have found them to be unreliable...
There are many methods to skin a cat...
http://technet.microsoft.com/en-us/library/bb490635.aspx
http://en.wikipedia.org/wiki/Interactive_Disassembler
http://www.hex-rays.com/products/ida/index.shtml
Did a great job on creating intel binary files to intel assembly language. However you are left with reams of paper with raw assembly code. which you then have to decipher the calls to various output devices. (Keyboard, Serial Port, Video Screen, LPT1, etc...) Lots of time consuming, tedious work.
As far as taking the next step and going from assembly to a higher level language, (C, BASIC, PASCAL, etc..) I've tried a few,but none were very reliable, and left a lot of guess work..
What kind of processor does the Northern use?