There is always a phase in every programmer when you come across the necessity to program in assembly. As an embedded engineer, it is just inevitable. If you are hoping to get some help to decode the ‘hieroglyphic jargon’ of assembly codes, you have come to the right place. I have struggled to get it right and I hope is no one else struggles with the same, which is why I am dedicating this blog series.
Fun fact: In the age where we struggle to make games with all the advanced tools and programming languages, Chris Sawyer made a whole series of games named ‘RollerCoaster Tycoon’ completely in ‘x86 Assembly’… Hats off to the legend!
Okay… let’s get into it 💪
Lesson 101 -> Do not start coding ‘hello word’ like you learned other languages. Let me explain:
Basic Assembly language has very less number of instructions. And you are also working with very limited memory space that is directly connected to the instructions (in a way). There is a specific way to think about the interaction of code with the hardware. I will recommend read the ‘Assembly and connection to hardware’ post in this series to get started and then proceed. I promise it will save you tons of research and time!
Start reading here —->
Part 1: Hardware Mastery with Assembly: Getting started
Part 2: Hardware Mastery with Assembly: Connecting code to your processor
Part 3. Hardware Mastery with ‘Assembly’: Hello world analysis