---
# System prepended metadata

title: Assembly

---

# Assembly

Assembly might be strange at a first sight, but the syntax is actually simple, you will usually have an intrusction, some value from a source, and the destination of where the output from the instruction using the source should be, with some pratice you can get it.

Some resources to get more familiar with it are the exercises at https://exercims.org, you can submit your solution, get some mentor to review your code and even see others people code.

There are also two games that uses assembly in an adapted way, they can be helpful if you like puzzle games and want to get more familiar with assembly too:

https://store.steampowered.com/app/504210/SHENZHEN_IO/
https://store.steampowered.com/app/370360/TIS100/


A really good resource to learn from zero is this video: https://www.youtube.com/watch?v=L1ung0wil9Y, it is very clear and straight, if you want to go deeper you can check the playlist video.


The language itself can be simple to read, but it is a bit tricky sometime to write or actually understand what is really going on, i strungled a lot trying to remember instruction and what registers where supposed to do, but using this site helped me a lot: http://6.s081.scripts.mit.edu/sp18/x86-64-architecture-guide.html

Bonus in portuguese:
https://www.youtube.com/playlist?list=PLEP_M2UAh9q4Il1vT5C-zK-whcsn98Ku8