🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉

x86-64 Assembly

Join the x86-64 Assembly Track
x86-64 assembly is a low-level programming language, typically used in boot loaders, device drivers, and operating system kernels.
Join the x86-64 Assembly Track
Track mentors

2 Mentors

Our mentors are friendly, experienced x86-64 Assembly developers who will help teach you new techniques and tricks.
Track students

2,348 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

16 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About x86-64 Assembly

default rel

section .rodata
msg: db "Hello, World!", 0

;
; The classical introductory exercise. Just say "Hello, World!"
;
; Returns:
;   rax - the string "Hello, World!"
;
section .text
global hello
hello:
    lea rax, [msg]  ; Return the string "Hello, World!"
    ret

x86-64 assembly is the programming language for the 64-bit version of the x86 instruction set. It is based on the original 8086 instruction set from 1978.

Assembly language is different from high-level languages like C# and Java. There are no variables, objects, or loops. Instead, you'll have to deal with registers, memory addresses, and jumps.

Learning assembly can be intimidating at first, but it will give you a better understanding in how your computer works. It might even improve your programming skills in higher level languages.

Join the x86-64 Assembly track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the x86-64 Assembly Track mentors

Once you join the x86-64 Assembly language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Johan Berg

Johan Berg https://github.com/bergjohan

I have been writing C code professionally since 2014. Interested in low-level stuff.
Avatar of Luiz Felipe

Luiz Felipe https://github.com/Silva97

I like low level programming and reverse engineering. C and x86 assembly is my speciality.
Fun. Challenging. Interesting

Community-sourced x86-64 Assembly exercises

These are a few of the 16 exercises on the x86-64 Assembly track. You can see all the exercises here.

Two Fer
easy
optional values
strings
Isogram
easy
filtering
strings
Hamming
easy
filtering
strings
Hello World
easy
strings
Grains
easy
integers
Passionate. Knowledgeable. Creative.

Meet the x86-64 Assembly Track maintainers

The x86-64 Assembly Maintainers are the brains behind the x86-64 Assembly Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Johan Berg

Johan Berg

I have been writing C code professionally since 2014. Interested in low-level stuff.

Get started with the x86-64 Assembly track. As with everything on Exercism, it's 100% free!

Join the x86-64 Assembly Track