x86 Assembly Guide: This guide describes the basics of 32-bit x86 assembly language programming, covering a small but useful subset of the available instructions and assembler directives. There are several different assembly languages for generating x86 machine code. The one we will use ... is the Microsoft Macro Assembler (MASM) assembler. MASM uses the standard Intel syntax for writing x86 assembly code.
A fundamental introduction to x86 assembly prorgamming - Project Nayuki (HTML)
"The faker's guide to reading (x86) assembly language"
"The Art of Assembly Language", in several editions:
"How to read assembly language"
Collection of ASM resources (source to some of the above; this page has non-x86 resources on it, as well, which I'd like to extract and put into other research notes pages)
"Metaprogramming in Flat Assembler": Demonstrating FASM (flat assembler) macros, which are pretty powerful, it seems.
Assembly tutorial for DOS also available in a full list at CodeProject: The Intel Assembly Manual
Linux Assembly HOWTO | List of Linux/i386 system calls | Another list of Linux/i386 system calls | Linux Kernel Internals | Using the GNU Assembler
Assembler relaxation
http://eli.thegreenplace.net/2013/01/03/assembler-relaxation
Displaying all argv in x64 assembly
http://eli.thegreenplace.net/2013/07/24/displaying-all-argv-in-x64-assembly
Gentle Introduction to x86-64 Assembly
http://www.x86-64.org/documentation/assembly.html
Introduction to x64 Assembly
https://software.intel.com/en-us/articles/introduction-to-x64-assembly
Processor Architecture
https://msdn.microsoft.com/en-us/library/windows/hardware/ff553442%28v=vs.85%29.aspx
x86-32 and x86-64: Architecture, Instructions, Annotated Disassembly
Redundancy of x86 Machine Code
http://www.strchr.com/machine_code_redundancy
Stack frame layout on x86-64
http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64
The x86 architecture is the weirdo
http://blogs.msdn.com/b/oldnewthing/archive/2004/09/14/229387.aspx
Trivia Questions for X86 Nerds
http://www.msreverseengineering.com/blog/2015/6/9/x86-trivia-for-nerds
Discussions:
https://www.reddit.com/r/ReverseEngineering/comments/39gbxc/trivia_questions_for_x86_nerds/
https://twitter.com/rolfrolles/status/608789071645691904
Understanding the x64 code models
http://eli.thegreenplace.net/2012/01/03/understanding-the-x64-code-models
Where the top of the stack is on x86
http://eli.thegreenplace.net/2011/02/04/where-the-top-of-the-stack-is-on-x86
Windows x64 ABI
Part 1: Intro to the Windows x64 calling convention
http://www.gamasutra.com/view/news/171088/x64_ABI_Intro_to_the_Windows_x64_calling_convention.php
Part 2: Stack frames
http://www.gamasutra.com/view/news/178446/Indepth_Windows_x64_ABI_Stack_frames.php
NASM Assembly Language Tutorials - asmtutor.com
http://asmtutor.com/
Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration
http://opensecuritytraining.info/IntroX86.html
YouTube: https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0
Intermediate Intel x86: Architecture, Assembly, Applications, & Alliteration
http://opensecuritytraining.info/IntermediateX86.html
YouTube: https://www.youtube.com/playlist?list=PL8F8D45D6C1FFD177
Introduction To Reverse Engineering Software
http://opensecuritytraining.info/IntroductionToReverseEngineering.html
YouTube: https://www.youtube.com/playlist?list=PL416CEDF4A931DB0D
Learning assembly for linux-x64
https://github.com/0xAX/asm
https://0xax.github.io/categories/assembly/
Assembly Language (x86) Resources - http://grail.cba.csuohio.edu/~somos/asmx86.html
Useful assembly links - http://www.agner.org/optimize/#links
Last modified 14 December 2025