Hi All,
I am trying to use GNU assembly. I am trying simple thing such as , moving content of memory location into general purpose register (ax). I have following code : struct context { unsigned long mask[8]; } CONTEXT; int main() { CONTEXT sr; sr.mask[5] = 0x8FED; __asm ( "movw %0, %ax" : : "m" (*(unsigned short*)sr.mask[5]) ); return 0; } Compiler complains with error "bad substitution directive in asm instruction". I tried changing the code something like this : __asm ( "movw %0, %ax" : : "m" (*(unsigned short*)sr.mask+5) ); Still error is same, then I tried following: Unsigned short* ptemp = &sr.mask[5]; __asm ( "movw %0, %ax" : : "m" (*(unsigned short*)ptemp) ); But still no luck, compiler reported same error as mentioned above Any help is appreciated. Please let me know where I am mistake. Thanks, -- Kiran P. _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"