I was just wondering for OS Development, what do you need to know about assembly. I'm using this website http://www1.arl.wustl.edu/~lockwood/cla ... m/toc.html. I don't want to learn assembly completely, since the kernel is going to be written in C. What do I have to know? Or is it better to learn it all (which to be honest I don't want to do...)
Thanks,
Will
What do you need to know about assembly?
Moderator:Moderators
Re: What do you need to know about assembly?
It is more a case of knowing the concepts.
When doing OS Dev, it is essential to know the addressing schemes (segment:offset, descriptor:offset), the registers and how to use them, and the non-standard assembly constructs like IDT, GDT etc.
As for things you can certainly ignore, Floating point instructions are one area.
I suggest that you start going through the tutorials, and when you come across an assembly concept that you dont know, look it up. That is possibly the best way to do this without learning all of asm
~Andrew
When doing OS Dev, it is essential to know the addressing schemes (segment:offset, descriptor:offset), the registers and how to use them, and the non-standard assembly constructs like IDT, GDT etc.
As for things you can certainly ignore, Floating point instructions are one area.
I suggest that you start going through the tutorials, and when you come across an assembly concept that you dont know, look it up. That is possibly the best way to do this without learning all of asm
~Andrew

Re: What do you need to know about assembly?
Yea I will probably do that. It might take a little longer, but it's better then learning assembly completely. I was just making sure I didn't have to know everything about it.Andyhhp wrote: I suggest that you start going through the tutorials, and when you come across an assembly concept that you dont know, look it up. That is possibly the best way to do this without learning all of asm
-Will
Re: What do you need to know about assembly?
I can safely say that noone in the world will ever know ALL of assembly. It is simply to big a subject.
90% of projects can be done by understanding the principles and using a reference for the architecture you are using. (In these tutorials we are using x86 as it is the most common in desktop computers - however, there are different assembly languages for MIPS, Arm, Sparc, Dec/Alpha to name but a few).
~Andrew
90% of projects can be done by understanding the principles and using a reference for the architecture you are using. (In these tutorials we are using x86 as it is the most common in desktop computers - however, there are different assembly languages for MIPS, Arm, Sparc, Dec/Alpha to name but a few).
~Andrew
