Skip to content

Programming by Design

If you're not prepared to be wrong, you'll never come up with anything original. – Sir Ken Robinson

  • About
  • Java-PbD
  • C-PbD
  • ASM-PbD
  • Algorithms
  • Other

Chapter x86_64-0 – Where to Begin?

Posted on February 18, 2025February 18, 2025 By William Jojo
AsmBook

(Updated February 18, 2025)

Table of Contents

    Starting Out With Newer Tech
    The Intel x86
    References

Starting Out With Newer Tech

Hopefully, you’ve arrived here after explaining the first half of this textbook, which is based on the MOS 6502. If you skipped ahead because this is really what you’re interested in, don’t worry. You can learn this assembly language without first understanding the 6502.

The book’s first half is designed as training wheels for those who have never seen assembly language. You’ll probably be okay if you have dabbled in assembly.

What we will reveal in this half is similar to what was presented in the first half. We will begin by understanding the rudiments of writing programs, math, conditionals, loops, printing, etc. We will also cover syscalls and the basics of file handling.

You are expected to be able to operate in a general Linux environment. You can also work on examples at myCompiler. We don’t delve into Windows or Mac specifics regarding syscalls, but adapting the examples to those platforms should not be difficult.

This book doesn’t get into specific instruction sets like SSE, AVX2, AVX-512, AVX10, or APX.


The Intel x86

Okay, this is really about the x86_64. It’s the 64-bit version of the original 8008/8080/8088/8086 CPU, although the x86 moniker implies the original 32-bit version.

The Intel platform’s roots lie in Federico Faggin’s original 4004, which led to the 8008 and the 8080. After the 8080, Faggin founded Zilog and the now-famous Z80 processor, which was a direct competitor to the 8080.

Fast-forward a few iterations, through the 80[1234]86, the SXs and DXs, the Pentium, and even past the ill-fated Itanium, and we land where we are today with the x86_64 platform.

Intel architecture still powers many devices and operating systems today. It was the basis for the original PC and was used in Mac devices after Motorola and before the latest switch to ARM-based Apple silicon.


References

Here are some sites, documents, simulators, and other materials used to create this textbook. Please enjoy.

Online NASM for x86_64
The 4004
A 4004 Emulator
Intel Historical Timeline
The Original Assembly Language with NASM for my Students
JavaScript Intel 8080 Emulator (Including Space Invaders!)
Slatinsky’s x86 Simulator
YJDoc2 8086 Web Emulator

Post navigation

❮ Previous Post: Chapter 6502-A – 8-, 16-, and 32-bit Printing.
Next Post: Chapter x86_64-1 – The IDE ❯

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2018 – 2025 Programming by Design.