Menu Close

Articles

Programming: Assembly

Assembly is a low level second generation computer language. It is used to create independent executable code that is optimized in size and performance. Unlike other computer languages, assembly code is specific to a microprocessor architecture and is not portable. 

Learning Assembly

Learning Assembly is an adventure and a challenge. This language is recommended only for advanced programmers. It is useful to learn only if you are interested in creation of low level, highly optimized software for device drivers, operating systems or compilers.

Introduction to Assembly

An assembler is a program that converts human-readable instructions known as “assembly” into a binary representation that a particular computer architecture can interpret. As a language, assembly is as primitive as it gets. There are even programs called disassembles¬†that convert the binary back to human-readable assembly.

Similar architectures have similar assembly languages. For example, the 8086 microprocessor was the first in a family whose youngest descendant is x86_64. My own assembly experience was with the Motorola 68000 family. I was once paid to write a simulator for the 68040 memory management unit. That’s how many years ago I left assembly.

Assembly is for hardware nerds. But software nerds invented C so we wouldn’t have to write assembly language. C is translated into assembly language by a program called a compiler. The resulting computer-generated assembly is what actually runs on the computer.

    External References:

    Rating Exam

    This is work in progress! Please do not try this exam yet.

    Start Exam

    Leaderboard: Programming Assenbly

    maximum of points
    Pos.NameEntered onPointsResult
    Table is loading
    No data available