ARM Assembly

Created: 24.09.2020

In this article I’m giving a quick dive-in into assembly. It’s very simple and very difficult at the same time. It takes time and patience to get friendly with it. And once you do, there will be ARM emerging, which scares the hell out of you again. But it takes less time, once you’re familiar with its “big brother”.

Analogy

Sometimes when I look at assembly code I remember back in the ‘olden days’ when I worked as office manager. I didn’t love my job and used to describe it to a small circle of close friends as “moving papers from one place to another”. Of course, there was much more to it than just that, but it felt that way. When I left this job and found the one as a C# programmer, I thought, I’ll never be doing that again. Surprisingly, I was right… When I left my job as a C# programmer, I thought I’d never have anything to do with HTML again. Here, I was wrong….

The point is, assembly operations sometimes resemble the same job: moving values from one place to another. One more analogy that I was able to think of is the Tower of Hanoi. You have tree sticks with circles of different radius on each. Your task it to move them between these sticks in order to get one pyramid with the circles sorted and the biggest one placed at the bottom. You can’t hold them in hands during this operation, you are only allowed to move them on available sticks.