exercism / x86-64-assembly

Exercism exercises in x86-64 Assembly.
https://exercism.org/tracks/x86-64-assembly
MIT License
22 stars 18 forks source link
community-contributions-paused exercism-track maintained-solitary

Exercism x86-64 Assembly Track

Configlet Status Exercise Test Status

Exercism exercises in x86-64 Assembly.

NASM

NASM (The Netwide Assembler) is the assembler used by this track. It's a popular assembler with a syntax that is simple and easy to understand.

Unity

Unity is a simple unit testing framework for C used by this track. Using a framework written in C instead of assembly language is easier to understand. It also shows how parameters are passed when calling assembly routines from C.

Calling conventions

There are two calling conventions in common use for x86-64. The Microsoft x64 calling convention, and the System V AMD64 ABI. Support is only provided for the latter. This will spare mentors the trouble of having to switch between the two.

Generating test cases

To create a test generator, add a .py file to the generators/exercises folder with the name of the exercise. See leap.py for an example.

Generate the test cases with the following command:

./generators/generate <exercise name>

Contributing Guide

Please see the contributing guide.