An ordered set of instructions. It reads input, follows rules, and produces output.
Workspace
Assembly
machine level thinking registers calling conventions and reverse engineering
Definition first
What Assembly means
Assembly is a programming language for writing exact instructions, often used for machine level thinking registers calling conventions and reverse engineering. Start with one mental model: input goes through steps and becomes output.
main.asmRun nasm -f macho64 main.asm && ld main.oHabit Track registers one instruction at a timeA value is data. A variable is the name you use to hold and reuse that data.
A named piece of work. It takes input, does one job, and can return a result.
Assembler and linker is the place that actually runs code from main.asm.
First readable code
Program output
entry point output syntax movmov rax, 42
Output 42Language lineage
Assembly family tree
See where Assembly comes from, which languages feel close, and what to learn next.
Zero base path
Question bank
Search before practice
Pick a stage or search across the open programming bank. Jump straight to the matching drill.
Assembly practice 1
Assembly question 1. Choose the statement that matches printing a value.
Assembly practice 2
Assembly question 2. Choose the statement that matches naming a value.
Assembly practice 3
Assembly question 3. Choose the statement that matches reusable function.
Assembly practice 4
Assembly question 4. Choose the statement that matches basic collection.
Assembly practice 5
Assembly question 5. Choose the statement that matches printing a value.
Assembly practice 6
Assembly question 6. Choose the statement that matches naming a value.
Assembly practice 7
Assembly question 7. Choose the statement that matches reusable function.
Assembly practice 8
Assembly question 8. Choose the statement that matches basic collection.
Assembly practice 9
Assembly question 9. Choose the statement that matches printing a value.
Assembly practice 10
Assembly question 10. Choose the statement that matches naming a value.
Assembly practice 11
Assembly question 11. Choose the statement that matches reusable function.
Assembly practice 12
Assembly question 12. Choose the statement that matches basic collection.
Assembly practice 13
Assembly question 13. Choose the statement that matches printing a value.
Assembly practice 14
Assembly question 14. Choose the statement that matches naming a value.
Assembly practice 15
Assembly question 15. Choose the statement that matches reusable function.
Assembly practice 16
Assembly question 16. Choose the statement that matches basic collection.
Assembly practice 17
Assembly question 17. Choose the statement that matches printing a value.
Assembly practice 18
Assembly question 18. Choose the statement that matches naming a value.
Multiple choice
Assembly practice 1
Assembly question 1. Choose the statement that matches printing a value.
mov rax, 42
Reference
Patterns for main.asm
nasm -f macho64 main.asm && ld main.oentry point output syntax mov
Program output
mov rax, 42
- Run the smallest file first
- Print one known value
- Check the output before adding more code
variables assignment types dq
Values and names
total dq 42
- Give values readable names
- Keep one idea per line while learning
- Trace the value before changing it
function collection Memory table
Functions and collections
add: mov rax, rdi add rax, rsi ret scores dq 40, 2
- Keep functions small
- Return useful values
- Use the common collection before reaching for frameworks