YOUR ASSEMBLY LEARNING PATH

A little more Assembly.
A little more confidence.

One idea at a time, with examples you can follow and checkpoints to see what’s clicking. New here? Begin with chapter one. Know a little already? Jump right in.

Before you start

Assumes binary and hexadecimal notation, registers, signed arithmetic, and memory addresses. These x86-64 lessons are for learners with prior low-level programming experience.

Review a foundation whenever you need it: C values and computation

13 open chapters. Your progress is saved as you go.

Your chapters

Choose any starting point
  1. 01

    Read conceptual x86-64 instruction traces in NASM-style Intel syntax.

    Start here, or skip ahead
    Open chapter: Registers and operand widths
  2. 02

    Preserve the intended interpretation when widening a narrow value.

    Open whenever you’re ready
    Open chapter: Sign extension and zero extension
  3. 03

    Separate address calculation from reading a valid memory object.

    Open whenever you’re ready
    Open chapter: Addresses and sized memory operands
  4. 04

    Calculate field addresses from an explicitly stated layout.

    Open whenever you’re ready
    Open chapter: Record layout, stride, and byte order
  5. 05

    Compute with fixed-width bit patterns and make signedness assumptions explicit.

    Open whenever you’re ready
    Open chapter: Arithmetic, masks, and shifts
  6. 06

    Update one bit range while preserving neighboring fields.

    Open whenever you’re ready
    Open chapter: Extracting and replacing packed bit fields
  7. 07

    Read flags according to the numeric contract.

    Open whenever you’re ready
    Open chapter: Carry, signed overflow, and wide addition
  8. 08

    Choose branch conditions that match the meaning of the compared values.

    Open whenever you’re ready
    Open chapter: Comparisons and signed branches
  9. 09

    Translate an explicit array contract into a correct machine-level loop.

    Open whenever you’re ready
    Open chapter: Bounded loops over arrays
  10. 10

    Check valid extent before searching for a terminator.

    Open whenever you’re ready
    Open chapter: Bounded byte scans and sentinel searches
  11. 11

    Prepare the full dividend rather than only its low half.

    Open whenever you’re ready
    Open chapter: Division and implicit register pairs
  12. 12

    Write a small System V AMD64 leaf routine with explicit register responsibilities.

    Open whenever you’re ready
    Open chapter: Leaf functions and calling contracts
  13. 13

    Preserve needed state across an arbitrary conforming callee.

    Open whenever you’re ready
    Open chapter: Nested calls and System V stack discipline

PUT IT TOGETHER

Final assessment & certificate

30 multiple-choice questions and 2 written coding problems. Pass the knowledge section at 80% overall and at least 50% in every chapter area, complete and review the written practice, and meet the attempt-integrity checks to unlock your certificate.

The certificate records a CodeQuest foundations assessment. Written work is self-reviewed; identity and independent proficiency are not verified.

Open final assessment

Take an issuer-recorded assessment with a verifiable certificate

Continue the original guided missions