RE: Need help with GNU assembly
http://asm.sourceforge.net/intro.html > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Patil, Kiran > Sent: Thursday, June 14, 2007 2:11 PM > To: freebsd-questions@freebsd.org > Cc: Patil, Kiran > Subject: Need help with GNU assembly > > > 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]" > > ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
RE: Need help with GNU assembly
http://user.nj.net/~tms/hello.html > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Patil, Kiran > Sent: Thursday, June 14, 2007 2:11 PM > To: freebsd-questions@freebsd.org > Cc: Patil, Kiran > Subject: Need help with GNU assembly > > > 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]" > > ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"