[Level-Up-Series] Program in Assembly
Write a basic program in assembly language.

This is one of the experiments to be done under Programmer Level-up-series, checkout this post to know more details.


As per original experiment, the idea was to write a simple Assembly program but while doing that I tried to get a comprehensive grasp of the language and hence started with a bit of history and the very basics. After reading all this, I have much more to share on fundamentals than on Assembly language itself. Let’s start-

Assembler | Compiler | Interpreter

We’ll discuss what are these, why they were needed, how things started, what should I answer when people ask me if Python is interpreted or compiled :p.

Needless to mention that in reality there are much more intricate details about each point mentioned above, I have just tried to give an overview of all three things.


After going through above, one thing we need to understand is that languages are not compiled or interpreted, it’s the implementation of their translator which takes such approaches. A language may have one or more translators using different approaches. We’ll go through some popular implementations (translators)-


Registers and Memory

Before we go into the Assembly language itself, There are couple of things I would like to clarify -


Assembly Language

Finally we are here! As we already know now, Assembly is a low level language created to provide an abstraction to programmers from machine code. In current time, Assembly is used when program needs to interact with low level components such as OS, Processor and BIOS. Being low level, it’s much faster than other high level languages, hence it’s another major usage is in time critical jobs.

Below, I have given a very high level view of the language, it’s not a tutorial at all, for detailed tutorial, check out the links given in references section.


Conclusion


Other Learnings


References

*****
Written by Saurabh Goyal on 04 June 2019