To view parent comment, click here.
To read all comments associated with this story, please click here.
I'd strongly advise against assembly: unless you have years and years of experience with it you'll sooner or later simply lose oversight of the whole thing simply due to the sheer amount of text you'll be writing. Not to mention how incredibly tedious it is.
Of course it's a way of learning assembly, yes, but there's plenty of better ways of going about that one. If you plan to also learn kernel programming at the same time then you're faced with the famous chicken and egg problem: you need to learn assembly to do kernel coding, and you need kernel coding to learn assembly..
Of course opinions are opinions, but I'd much rather suggest to set out to learn one thing at a time: either assembly, or kernel programming, not both. If you wish to do kernel programming then choose a language you're more familiar with.
About keeping track of hardware changes.
The main reason SkyOS became dormant is the rapid development of hardware
http://www.skyos.org/?q=node/647
I was wondering whether a hardware driver in machine language is more easy to add to your kernel and more universal then say a higher level language driver. But maybe then you would have less functionality?
Some attemps were tried to leverage assembly to a more higher level, such like HLA :
http://webster.cs.ucr.edu/AsmTools/HLA/hla2/0_hla2.html
Give it a try and figure out were MASM have stalled...
Kochise





Member since:
2010-03-08
Depends. If you want to write portable code, you should avoid Assembly like pest due to its highly machine-specific nature. I also find it much harder to write well-organized, easy-to-debug ASM code, but it might be due to my relative lack of experience with it. If you feel this way too, you should probably be using a higher-level language instead : it's very important to keep your codebase as tidy as possible.
Otherwise, as you say yourself, MenuetOS itself shows that it's possible to get some interesting results with Assembly.
Edited 2011-01-29 16:16 UTC