RE: Need help with GNU assembly

2007-06-17 Thread Ted Mittelstaedt

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

2007-06-17 Thread Ted Mittelstaedt

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