Page 1 of 1

What do you need to know about assembly?

Posted: Sun Feb 07, 2010 8:59 pm
by Will
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

Re: What do you need to know about assembly?

Posted: Mon Feb 08, 2010 2:23 pm
by Andyhhp
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

Re: What do you need to know about assembly?

Posted: Mon Feb 08, 2010 8:58 pm
by Will
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
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.

-Will

Re: What do you need to know about assembly?

Posted: Tue Feb 09, 2010 2:03 pm
by Andyhhp
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