Very nice, I tried it out with one of my hex files and it certainly seemed to work, I only looked at one program but it seemed to match the source. I guess an easy way to test it would be to take the output and reassemble it in spinasm.
Now that you've done this how hard would it be to make an assembler, a platform independent one would be very interesting.