Learn x86-64 assembly by writing a GUI from scratch

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
sponsored
  1. VisualMASM

    Visual MASM - Assembly IDE for Microsoft MASM

    Writing Win32 programs in assembly was a niche in the late-90s. This post inspired me to do some googling for a project I was familiar with back then and discovered the author has brought it back to life at https://github.com/ThomasJaeger/VisualMASM.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. go

    The Go programming language

    Example of assembly in Go source code:

    https://github.com/golang/go/blob/master/src/crypto/md5/md5b...

  4. rav1e

    The fastest and safest AV1 encoder.

    Sure. You'll see it very often in codec implementations. From rav1e, a fast AV1 encoder mostly written in Rust: https://github.com/xiph/rav1e/tree/master/src/x86

    Large portions of the algorithm have been translated into assembly for ARM and x86. Shaving even a couple percent off something like motion compensation search will add up to meaningful gains.

    Or the current reference implementation of JPEG: https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim...

  5. libjpeg-turbo

    Main libjpeg-turbo repository

    Sure. You'll see it very often in codec implementations. From rav1e, a fast AV1 encoder mostly written in Rust: https://github.com/xiph/rav1e/tree/master/src/x86

    Large portions of the algorithm have been translated into assembly for ARM and x86. Shaving even a couple percent off something like motion compensation search will add up to meaningful gains.

    Or the current reference implementation of JPEG: https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim...

  6. OpenBLAS

    OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

    Yeah. I'm going to be helping to work on expanding CI for OpenBlas and have been diving into this stuff lately. See the discussion in this closed OpenBlas issue gh-1968 [0] for instance. OpenBlas's Skylake kernels do rely on intrinsics [1] for compilers that support them, but there's a wide range of architectures to support, and when hand-tuned assembly kernels work better, that's what are used. For example, [2].

    [0] https://github.com/xianyi/OpenBLAS/issues/1968

    [1] https://github.com/xianyi/OpenBLAS/blob/develop/kernel/x86_6...

    [2] https://github.com/xianyi/OpenBLAS/blob/23693f09a26ffd8b60eb...

  7. compiler-explorer

    Run compilers interactively from your web browser and interact with the assembly

  8. pgubook-macos-x86-64

    Programs from the "Programming from the Ground Up 1.0" book ported to macOS (XNU kernel) and x86_64

    https://github.com/lmartinho/pgubook-macos-x86-64

    Seems very handy, since most assembly tutorials nowadays are Windows/Linux-specific.

  9. junkcode

    Doing it locally is better, for mine.

    eg

      https://gitlab.com/hal88/junkcode/-/blob/master/c_template.c

  10. JWasm

    JWasm continuation (by JWasm)

  11. asmc

    Masm compatible assembler

  12. UASM

    UASM - Macro Assembler

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Thoughts on Go vs. Rust vs. Zig

    12 projects | news.ycombinator.com | 4 Dec 2025
  • Go automatically downloads a newer toolchain if needed

    4 projects | news.ycombinator.com | 20 Aug 2024
  • Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

    5 projects | news.ycombinator.com | 22 Jan 2024
  • Telemetry really goes into Go toolchain, no matter what

    2 projects | /r/golang | 1 Apr 2023
  • Golang Aha! Moments: Generics

    2 projects | /r/golang | 7 Oct 2022

Did you know that C is
the 6th most popular programming language
based on number of references?