first post here. It seems a very nice community.
So, I know a little about 16bit DOS Assembly and also a little about 32bit Linux Assembly.
I started learning Assembly out of curiosity, to understand C better and to learn exactly how the stack worked.
I am currently learning Linux Assembly, as this is the OS I want to concentrate in for the time being.
While reading, a lot of computing concepts and theories made a lot more sense.
While I enjoy assembly much, a question keeps popping up.
Is assembly worth learning it?
I know that everything you learn can only be an advantage, but sometimes I just get the feeling that I'm wasting my time with Assembly.
I've got a huge list of books that I want to read and I just want to be sure that I'm not spending precious time on something that is obselete, unwanted and useless.
The thing is, that I really like low-level stuff.
So my questions are:
1. I hear a lot of people saying that the only people still writing assembly are some crazy old hackers that refuse to use anything else. Is that true?
2. I hear also that anyone wanting/trying to make a real application in assembly (except device drivers) is a masochist. Like make a GUI in Windows or something. Is that true?
3. It has come to my attention, that there is no dedicated forum for Linux Assembly on the whole web! The only resources/discussions I have seen are a couple of blogs and some empty/deserted subforums in larger assembly forums.
What is the reason of this limited interest in Linux Assembly?
Does this mean that noone uses assembly on Linux?
Or does that mean that doing assembly on Linux is pretty much useless?
4. I know assembly is fast and efficient (if the programmer is good) and is great for developing device drivers, operating systems and is often used in embedded devices. But what are some other applications of it?
5. The most people I see are just *forced* to learn assembly, in order to involve themselves with reverse engineering or cracking.
I think that's because the 95% or more of the assembly material/forums/resources I see is headed towards the Microsoft Windows OS. Because there is a lot of commercial programs that attract reverse engineers and/or crackers. Is that right?
Is there a reason to do Windows Assembly if you're not interested in reverse engineering (I'm not saying that I'm not)? If yes, please list as many as you can.
6. Does learning 16bit DOS Assembly make any sense anymore? Except the concepts/general asm way of thinking taught from it.