Either the usage of Assembly Language is Dead or not???
CS401 GDB Solution 1
It is reduced but not dead. Someone has to make the compiler! Every compiler requires an expert in assembly language. With processors getting more complex it is a harder job than ever. And compiler users expect a lot of optimization as well which is always tricky considering all the possibilities.
Most low level programming is done in C/C++ but there are still some bits that assembly can do better. So assembly language subroutines will be written and linked to a C/C++ program or incorporated inline in "asm" blocks.
The ability to read assembly is useful for ( C/C++ ) programmers when debugging. There are some bugs that are just completely puzzling about what is going on. Looking at the assembly helps to see what is really going on. E.g. MS Visual Studio allows assembly level debugging and step through of C/C++ code which is often useful. The code can even be edited. (Even if you don't know assembly very much you can "nop" out a section of code where the debugger keeps stopping, which is sometimes useful to allow debugging to continue.)
CS401 GDB Solution 2
(Answered by a 45 years experienced person in Assembly Language Programming)
Definitely NOT dead! It is used in nearly ALL microprocessors in every machine. The reason is the limitation in memory size.
A "C" compiler creates an executable, on average, 12 TIMES larger than the very same program written directly in assembler!
Military equipment prefers assembler to compilers (for reliability purpose) (15 years experience in that field)
Avionics programs require three computers, each one programmed in different languages, but giving the same results, and assembler is required as ne of the programs.
I have done hundreds of "machines" running on micros. ALL were in assembler
CS401 GDB Solution 3
Nope, Assembly is definitely not dead. You don't even need to write an OS to use ASM.
Think about all the high-level languages. New ones are constantly being developed, right. What do the compilers generate? An executable that is actually a mass of hex code or some intermediate byte code that requires the knowledge of ASM to create. Even if your compiler is not written in low level Assembly, you need the knowledge to write an efficient, quick compiler.
Mission critical, real-time embedded systems, where human life is in danger e.g. vehicular braking systems, manned space flights. All make a lot of use of ASM.
ASM will remain relevant as long as the primary computing model is the micro-computer as we know it(i.e. binary model with low/high voltage indicating 0/1). Chip makers will only consider a change to binary model/ASM if totally necessary. Even if the computing model finally towards physics(quantum), what we will get will be a revision of ASM to handle the new types of processors.
CS401 GDB Solution 4
As long as microprocessor architecture continues to rely on classical structures, assembly language will not be dead, but it is exceedingly rare. Experts are found in the compiler and tool companies. The few times in the last twenty years when I really needed my assembly skills were centered around compiler bugs. Mostly they have been unusual combinations that led to optimization miscodings, but one was just the use of zero extension instead of sign extension for a type conversion.