I am wonder, because I am guessing that there is no real standard?? I am using MASM and can have debug info. So is it in the obj file or is a seperate file made? Does NASM use obj files? NASM uses alink, so I doubt I could link a MASM with a NASM object file. Where does NASM store it's debug info?

I wondering just how interoperable all the assemblers are(MASM,NASM,FASM,etc.)

Im also using VC7 as my debug IDE, so I am curious if I could debug a NASM built exe with symbols. Or a FASM built exe.

I downloaded the NASM source to look as. I'm just getting curious where these tools come from, and how much work it took to make them.
Posted on 2002-06-10 03:38:56 by ThoughtCriminal
debug info... well well :). There's a couple of different formats,
and a couple of different ways they can be stored. The nicest is
pdb format where the debug info is stored external to the exe.
For win32, masm uses COFF object files, nasm can generate these as
well - I don't know how good nasm's debug info is though. Also,
you need a linker that supports debug info (link.exe from microsoft
does, and there's no reason you can't use that with nasm programs).
Posted on 2002-06-10 08:09:17 by f0dder
Ahhh the pdb file... And NASM can generate these too? I was trying to figure, if someone wanted to make an assembler, but use pre-exitsting work and standard what would the shortest and best path to do it.

Here is the problems I can see:

make a PE stub (done at link time?)
make an OBJ file
link the OBJs into an EXE
create debug info

Now if NASM makes link.exe comaptible OBJ files..... And you were willing to do some NASM code diving....It might just work. The main concern then is making sure NASM could generate a useable OBJ(make sure what you feed the OBJ routine is not junk)

I'm feeling wildly speculative.....

Thanks for the info f0dder.
Posted on 2002-06-10 08:23:46 by ThoughtCriminal