On Tue, 2009-07-21 at 09:15 +0900, HongWoo Lee wrote:
> First, I aleady understood about @highest, @higher, @h and @l. 
> For now, what I want to know is about "##" in the below code. 
> 
> #define LOADADDR(rn,name)           \
>     lis     rn,nam...@highest;      \
>     ori     rn,rn,nam...@higher;    \
>     rldicr  rn,rn,32,31;            \
>     oris    rn,rn,nam...@h;         \
>     ori     rn,rn,nam...@l
> 
> And I don't want to ask every detail. 
> So I want to know the manual or document which describes the detail. 

Well, it's just concatenation...

Ie, if you do LOADADDR(rn, .myfunction) it will turn to

   lis     rn,.myfunct...@highest;
   ori     rn,rn,.myfunct...@higher;
   rldicr  rn,rn,32,31;
   oris    rn,rn,.myfunct...@h;
   ori     rn,rn,.myfunct...@l
> 
Which means putting the address of .myfunction into register rn.

Cheers,
Ben.


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to