Originally posted by: Modelworks
It may take more work to get things done, but it can do things that are much harder to do in other languages.
Try to create a boot disk that will boot with any x86 pc with C,C++.
True. However, pigs will fly before the day ever comes that beginning programmers want to learn how to make boot disks first.
That is why you run it in a debugger that shows exactly what is going on.
Well it
is useful to see your registers, yes, though simply observing your register values doesn't grant a lot of insight into, say, off-by-one errors and how to avoid them. Or
why address 0x42523fcc is bad but 0x42523f00 is good.
In ASM you are often working directly with memory.
What ASM does is require you to do the memory management, not allow the language to do it for you.
Memory management isn't about working directly with memory -- it is about managing which portions of your virtual address space are 1) accessible 2) form a stack and/or 3) are random-access (this is how C breaks it down, anyway).
Aside from this, using langages allows the learner to use data structures, which are of key importance. It is far less important to know how to implement, say, a linked-list at the assembly level than it is to know when to use, say, a hash table in favor of a linked list.
I agree.
I would not use ASM to write a windows application.
Staggering agree
Did you try the application I linked to ?
http://www.emu8086.com/
It comes with some easy examples that give direct results.
Like controlling a traffic light, a robot.
I didn't on 'vacation' but I did just now. It looks like a
great (and fun) way to learn x86 (well, 8086 anyway). I fondly remember using some of those gadgets (especially the stepper-motor) on real hardware (an 80C188EB) in college. I still wouldn't advocate the language for a coding beginner, however, as you can get a lot more bells and whistles with a lot fewer lines of python. These days, sadly, its all about reward.
I do feel that an understanding of ASM is critical, of course. When I code, I automatically approximate the ASM in my head, and I think thats a good sanity check. But I've been doing this for years, and I do it for a living. ASM -- Its just not for newbies.
Have fun on the vacation !
It was just a weekend trip to the inlaws. I survived, and thats what counts.