Re: hi about C and asm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 28, 2013 at 10:02 PM, lx <lxlenovostar@xxxxxxxxx> wrote:
> hi all:
>      They are some asm codes in the kernel like:
>
> #define set_bit(nr,addr) ({\
> register int res __asm__("ax"); \
> __asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \
> "=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \
> res;})
>
>
> But, almost I can't understand this. So I want to understand asm in C,
> which book or website I should learn ?

Hi,

    This is a C (preprocessor) macro called set_bit which use GCC
inline assembly in its body.

    http://gcc.gnu.org/onlinedocs/cpp/Macros.html

    http://wiki.osdev.org/Inline_Assembly

-- 
Augusto Mecking Caringi

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux