printf with asm

Manfred Hansen m.hansen at kielnet.net
Mon Nov 5 11:27:55 PST 2007


void main()
{
    int myint = 1234;
    const(char*) mystring = "This number -> %d <- should be 1234\n";

    asm
    {
            push    dword ptr myint     ; // pointer to the integer variable
declared in D
            push    dword ptr mystring  ; // pointer into the C-style string
declared in D
            call    printf              ; // call the printf function
    }
}

This programm run with dmd 2.007 but not with gdc based on version 2.005 .
My Compiler is gcc.4.1.2 under linux. 

The output:
manni at manni-lx:~/dd/ass$ ./asm
This number -> 1234 <- should be 1234
Speicherzugriffsfehler (core dumped)

I believe the core dump has to with the line
const(char*) mystring ...

manni

-------------- next part --------------
A non-text attachment was scrubbed...
Name: core.bz2
Type: application/x-bzip2
Size: 20119 bytes
Desc: not available
Url : http://lists.puremagic.com/pipermail/d.gnu/attachments/20071105/316b8b74/attachment.bin 


More information about the D.gnu mailing list