Assembly constraints - offset?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'd like to access several members of a structure from inline assembly (x86):

asm ( "mov $1, %[member1](%[base]) \n\t"
         "mov $2, %[member2](%[base]) \n\t"
         : : [base]"r"(ptr),
             [member1]"i"(offsetof(struct the_struct, member1)),
             [member2]"i"(offsetof(struct the_struct, member2)));

However, the "i" constraint generates an immediate marker ('$'), so I get

   mov $1, $4(%ecx)
   mov $2, $8(%ecx)

The second '$' is a bit unhelpful.

Is there any constraint which will emit the offset without the '$'?


Thanks in advance.

--
error compiling committee.c: too many arguments to function


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux