Thread overview
D compiler assembly
May 17, 2004
Brand
May 17, 2004
Mike Swieton
May 17, 2004
Walter
May 17, 2004
Brand
May 18, 2004
Ilya Minkov
May 18, 2004
Brand
May 18, 2004
Walter
Jun 04, 2004
Matthew
May 17, 2004
Andrew Edwards
May 17, 2004
Is it possible to make D compiler generate assembly listing? It's pretty
annoying to use external disassemblers (such as IDA) for that.
And obj2asm mentioned on this site can't be downloaded for free <g>


May 17, 2004
On Mon, 17 May 2004 22:21:56 +0000, Brand wrote:
> And obj2asm mentioned on this site can't be downloaded for free <g>

Umm... yes, it can. It's in the dmd.zip file.

Mike Swieton
__
Freedom is the right to make the wrong decision.

May 17, 2004
"Brand" <Brand_member@pathlink.com> wrote in message news:c8bdu4$16tq$1@digitaldaemon.com...
> Is it possible to make D compiler generate assembly listing? It's pretty
> annoying to use external disassemblers (such as IDA) for that.
> And obj2asm mentioned on this site can't be downloaded for free <g>

Obj2asm is an extremely useful tool, it's only $15 at www.digitalmars.com/eup.html, comes with a bunch of other very useful tools, and helps keep the monitors glowing at Digital Mars.


May 17, 2004
Brand wrote:
> Is it possible to make D compiler generate assembly listing? It's pretty
> annoying to use external disassemblers (such as IDA) for that.
> And obj2asm mentioned on this site can't be downloaded for free <g>
> 
> 
obj2asm is included every time you download dmd.zip. It is located int the ../dmd/bin directory. Unless of course you are using a W$ OS, in which case there is none for M$.

Later,
Andrew
May 17, 2004
>Obj2asm is an extremely useful tool, it's only $15 at www.digitalmars.com/eup.html, comes with a bunch of other very useful tools, and helps keep the monitors glowing at Digital Mars.
I agree that this tool is very good. But using any 3rd party disassembler works too. I was wondering if D compiler will be able to produce assembly listing itself (as do most (if not all) C++ compilers). This feature will greatly help isolating bugs in code generation and should not hit your obj2asm sales much <g>


May 18, 2004
Brand schrieb:

> I agree that this tool is very good. But using any 3rd party disassembler works
> too. I was wondering if D compiler will be able to produce assembly listing
> itself (as do most (if not all) C++ compilers). This feature will greatly help
> isolating bugs in code generation and should not hit your obj2asm sales much <g>

Portable C and C++ compilers like GCC and LCC usually handle assembly as text as their intermediate form, and then pass it to an assembler, which can be either embedded or even external. DigitalMars compilers are different in this respect, that they generate machine code directly without going through assembly. Well, it's no surprise their backends aren't "portable" either. Making the compiler output assembly would essentially mean embedding a disassembler. It doesn't seem Walter would intend to do it, since else he probably would have done it years ago. :)

-eye
May 18, 2004
>Portable C and C++ compilers like GCC and LCC usually handle assembly as text as their intermediate form, and then pass it to an assembler, which can be either embedded or even external. DigitalMars compilers are different in this respect, that they generate machine code directly without going through assembly. Well, it's no surprise their backends aren't "portable" either. Making the compiler output assembly would essentially mean embedding a disassembler. It doesn't seem Walter would intend to do it, since else he probably would have done it years ago. :)

That makes sense, thanks for explanation. Will have to use some 3rd party
disassembler then.
BTW, are there any benefits in DM approach? Slightly faster compilation time, or
something else?


May 18, 2004
"Brand" <Brand_member@pathlink.com> wrote in message news:c8dppa$2260$1@digitaldaemon.com...
> >Portable C and C++ compilers like GCC and LCC usually handle assembly as text as their intermediate form, and then pass it to an assembler, which can be either embedded or even external. DigitalMars compilers are different in this respect, that they generate machine code directly without going through assembly. Well, it's no surprise their backends aren't "portable" either. Making the compiler output assembly would essentially mean embedding a disassembler. It doesn't seem Walter would intend to do it, since else he probably would have done it years ago. :)
>
> BTW, are there any benefits in DM approach? Slightly faster compilation
time, or
> something else?

If you compare DMC compile speed with gcc, I think that'll be clear enough <g>.


June 04, 2004
"Walter" <newshound@digitalmars.com> wrote in message news:c8e0a8$2d8n$3@digitaldaemon.com...
>
> "Brand" <Brand_member@pathlink.com> wrote in message news:c8dppa$2260$1@digitaldaemon.com...
> > >Portable C and C++ compilers like GCC and LCC usually handle assembly as text as their intermediate form, and then pass it to an assembler, which can be either embedded or even external. DigitalMars compilers are different in this respect, that they generate machine code directly without going through assembly. Well, it's no surprise their backends aren't "portable" either. Making the compiler output assembly would essentially mean embedding a disassembler. It doesn't seem Walter would intend to do it, since else he probably would have done it years ago. :)
> >
> > BTW, are there any benefits in DM approach? Slightly faster compilation
> time, or
> > something else?
>
> If you compare DMC compile speed with gcc, I think that'll be clear enough <g>.

You're not kidding, my funky brother!