What is the advantage and disadvantage of assembly language?
Assembly language is a symbolic representation of a processor's
native code. Using machine code allows the programmer to control
precisely what the processor does. It offers a great deal of power
to use all of the features of the processor. The resulting program
is normally very fast and very compact. In small programs it is
also very predictable. Timings, for example, can be calculated very
precisely and program flow is easily controlled. It is often used
for small, real time applications. However, the programmer needs to
have a good understanding of the hardware being used. As programs
become larger, assembly language get very cumbersome. Maintenance
of assembly language is notoriously difficult, especially if
another programmer is brought in to carry out modifications after
the code has been written. Assembly langauge also has no support of
an operating system, nor does it have any complex instructions.
Storing and retrieving data is a simple task with high level
languages; assembly needs the whole process to be programmed step
by step. Mathmatical processes also have to be performed with
binary addition and subtraction when using assembly which can get
very complex. Finally, every processor has its own assembly
language. Use a new processor and you need to learn a new language
each time. Assembly is a great language to use for certain
applications, rotten for others and never for the faint
hearted.