[Issue 19528] New: asm ptoblem

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Dec 30 20:50:14 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=19528

          Issue ID: 19528
           Summary: asm ptoblem
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: steven_kladitis at yahoo.com

the following code compiles in 32 ,but not in 64 bit.
int main()
{
    import std.stdio;

   long i;


   asm
   {
     mov EAX,10;
     add EAX,20;
     mov i,EAX;

   }
   writeln(i," ",i.sizeof);
   return 0;
}

-- in 32 bit I get --> 30 8
in 64 bit it gets length error at lc:\rosetta>dmd -m64 machine_code.d
machine_code.d(14): Error: bad type/size of operands mov
-- commint out the move instruction I get ==> 0 8
the size of 'i' and 'EAX' are the same in both.

This is in -> DMD32 D Compiler v2.084.0-rc.1

--


More information about the Digitalmars-d-bugs mailing list