What's up.
Based off of my posts, I think it might be kind of strange to see an article like this
But yeah, I've decided to learn assembly
Also - Correct me if I'm wrong somewhere here or oversimplified a term. I'd be more than happy to read such comments and get my knowledge and understanding to the higher level
Why Assembly and why x86?
Starting with the second part - that's what my processors architecture is.
I don't have ARM processor, yet someone would tell me.
Just buy used computer or VPS with such access
I could, of course - Yet I would not like to spend too much money right now
I believe, that with some curiosity and time to search, I can dig information for free - This will be the challenge itself
I like challenges - so why not?
And why assembly? Simple answer...
Reverse Engineering
Just got into it - so Assembly might be fairly useful there, as not always everything can be found with C# or even C de-compiler
Where I'll be learning from?
I've found 2 decent sources
- tutorialspoint - in english, with nice segments and everything
- This paper from Jagiellonian University - yet in polish, so my native language
But, that's it for the talking - let's learn something
What does assembly code consist of
If we look at assembly code - it consists of sections
Some basic ones are
-
.bss
- In this section, we declare variables, that will be changed while execution -
.data
- it stores constants, like strings or ints -
.text
- contains the code itself. We need to also declare_start
here
section.text
global .start
_start:
_start
tells the kernel, where should it look for the beginning of the code.
In there, we can find mnemonics - Assembly instructions
In one line, there can only be one mnemonic
So, this
MOV TOTAL, 48 ADD TOTAL, 10
Can never appear - so we need to write this in 2 separate lines
MOV TOTAL, 48 ; Move 48 to variable in memory called TOTAL
ADD TOTAL, 10
As you see, I've also added ;
to the end - that's comment in assembly
That's it, not to much yet still I hope it will expand very soon
What will I learn now?
Probably start reading about registers and other parts such as variables or conditional instructions
Right now, I'd like to thank you for reading - Share you expirance in comments. Maybe we as community can learn a very valuable lessons from you.
Also, feel free to share your sources - where have you been learning assembly from and that's it
See you next time
Top comments (0)