Question about assembly in set bit function for x86 architecture

Anuz Pratap Singh Tomar chambilkethakur at
Sun Apr 19 17:13:20 EDT 2015

On Sun, Apr 19, 2015 at 9:51 PM, nick <xerofoify at> wrote:

> Greetings All,
> I am wondering what the below code in the asm modifier does:
> static inline void set_bit(int nr, void *addr)
> {
>          asm("btsl %1,%0" : "+m" (*(u32 *)addr) : "Ir" (nr));
> }
> This would be very helpful as I am new to  x86 assembly and don't
> even known what register(s)/instruction(s) this touches and therefore this
> is impossible for me to look up in the Intel Manuals. If someone either
> tells me the registers/instructions this uses or explains the code that
> would be very helpful.
> Nick
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at

get a book on i86 assembly and learn it.

Thank you
Warm Regards
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list