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];



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


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.



-- Kiran P.

freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to