From: Frank Rowand <frank_rowand@mvista.com>
To: Raghava Raju <vraghava_raju@yahoo.com>
Cc: linuxppc-embedded@lists.linuxppc.org
Subject: Re: new to "__asm__ " macro...
Date: Fri, 10 Aug 2001 16:43:16 -0700 [thread overview]
Message-ID: <3B747194.1D2AD47C@mvista.com> (raw)
In-Reply-To: 20010810230707.2131.qmail@web20002.mail.yahoo.com
Raghava Raju wrote:
>
> hi
>
> I want some basic insights into assembly level code
> emmbedded in C language.Following is the code of
You can find a description of this at
http://www.objsw.com/docs/gcc_89.html#SEC89
> PowerPc ambedded in C languagge:
>
> unsigned long old,mask, *p;
>
> __asm__ __volatile__(SMP_WMB "\
> 1: lwarx %0,0,%3
> andc %0,%0,%2
> stwcx %0,0,%3
> bne 1b"
> SMP_MB
> : "=&r" (old), "=m" (*p)
> : "r" (mask), "r" (p), "m" (*p)
> : "cc");
>
> 1) what does these things denote: __volatile__,
> SMP_WMB, SMP_MB, "r","=&r","=m","cc",1: .
>
> 2) Is it that %0,%2,%3 denote addresses of old,mask,p
> respectively.
>
> 3) Say if it is PowerPc then how should I
> access registers r1,r2 etc, that is what is the exact
> syntax.
>
> 4) I think in power PC we can't access
> directly the contents of memory, but we should
> give addresses of memory in registers then use
> registers in instructions to access memory. But in
> above example he is using %3 in lwarx command
> accessing that memory directly. Is my interpretation
> of above instructions wrong.
>
> 5) Some people use "memory" in place of "cc" ,
> like I want to know what are these things.
>
> 6) Finally I want to write a simple programme
> to write the contents of a local variable "xyz" into
> register r33, then store the contents of r33 into
> local variable "abc". Kindly would u give me a sample
> code of doing it.
-Frank
--
Frank Rowand <frank_rowand@mvista.com>
MontaVista Software, Inc
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2001-08-10 23:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-10 23:07 new to "__asm__ " macro Raghava Raju
2001-08-10 23:43 ` Frank Rowand [this message]
2001-08-13 21:23 ` Jan Roelens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3B747194.1D2AD47C@mvista.com \
--to=frank_rowand@mvista.com \
--cc=frowand@mvista.com \
--cc=linuxppc-embedded@lists.linuxppc.org \
--cc=vraghava_raju@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.