Jack Pot’s Computer Literacy Lessons: Assembler

When talking about computers, then assembler denotes a low-level programming language. Low-level means that the programmer has to understand how the computer functions. Each command stands for exactly one function of the hardware. Assembler code has to consider the architecture of the addressed computer. Low-level programming languages hence are system specific and so-to-say the manuals for central processing units.

Standard programming languages are high-level programming languages. Each of their commands can be a whole program in assembler. Especially program structures (advanced loops and advanced switches, without any loop or any switch could hardly any program exist) and data types characterize high-level programming languages and don’t exist in assembler code. Low-level means that the programmer can’t do much more than order the hardware to move a value from a so-called register to another register, increase an always as an integer dual number interpreted value by one, or shift the bits of a byte to the left or to the right (this already results in a division or multiplication by two). If a program can’t be translated into such primitive steps, then a computer can’t execute it!

The most sophisticated thing possible to do with assembler is to jump to another line in the code. An assembler programmer can create a loop this way, but while this is the only way to create a loop in assembler, the same thing is known as a bad practice in programming in high-level programming languages. The resulting code is called spaghetti-code and very prone to errors and dysfunctional programs. Yet all high-level code is translated into low-level code before it can be executed, so all loops are translated into such jumps and assembler programmers simply have to know how to avoid all the mistakes, which are in high-level programming languages avoided by their “grammar”. Hence hardly anybody programs in assembler, although many high-level languages allow the integration of assembler code because it is a way to create commands, which are faster or use less resources than the standard code would be or do in the same situation. The current trend is to waste more and more resources, so that the users have to invest more and more money for their hardware if they still want to execute modern computer programs. The opposite trend is a rather theoretical possibility because it would instead of more and more money for the hardware need competent programmers.

One thought on “Jack Pot’s Computer Literacy Lessons: Assembler

Leave a comment