Re: Question about assembly in set bit function for x86 architecture

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

 





On Mon, Apr 20, 2015 at 12:08 AM, Nicholas Krause <xerofoify@xxxxxxxxx> wrote:


On April 19, 2015 5:13:20 PM EDT, Anuz Pratap Singh Tomar <chambilkethakur@xxxxxxxxx> wrote:
>On Sun, Apr 19, 2015 at 9:51 PM, nick <xerofoify@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
>get a book on i86 assembly and learn it.
The reason I am asking is that is assembly worth my time to learn for this part of the kernel, I understand  it's use in boot code but outside of that and cache memory lines in architecture directories there is very little, 95 percent of the kernel is written in C.  In addition due to this the only practical reason I  can thing of is for
debugging,  how useful is assembly for kernel debugging is my other question about this topic.
Nick
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Just read the books, don't be lazy.

--
Thank you
Warm Regards
Anuz
_______________________________________________
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