mirror of
https://github.com/Ed94/ASM_Notes.git
synced 2025-08-04 22:32:43 -07:00
4.6 KiB
4.6 KiB
Assembly & Related Notes
These notes are focused on assembly language and related tooling (linkers, loaders, etc).
Speficially, those used on the following machines:
- Modern personal computers (MS Windows, Linux, or Mac)
- Video Game Consoles (fourth gen and up)
Significant Authorship
These are in alphabetical order by author.
Brian Robert Callahan
Demystifying programs that create programs
- Part 1: A disassembler
- Part 2: Starting an assembler
- Part 3: Globals, passes, and error handling
- Part 4: Parsing
- Part 5: Processing our first opcode
- Part 6: Processing more opcodes
- Part 7: Further opcode processing
- Part 8: Finishing opcode processing
- Source
Casey Muratori
Performance-Aware Programming Series
- Part 1: Reading ASM
- Instruction Decoding on the 8086
- Decoding Multiple Instructions and Suffixes
- Opcode Patterns in 8086 Arithmetic
- 8086 Decoder Code Review
- Using the Reference Decoder as a Shared Library
- Simulating Non-memory MOVs
- Simulating ADD, SUB, and CMP
- Simulating Conditional Jumps
- Simulating Memory
- Simulating Real Programs
- Other Common Instructions
- The Stack
- From 8086 to x64
- 8086 Simulation Code Review
David Salomon
Ian Lance Taylor
John R. Levine
https://www.johnlevine.com/index.phtml
Michael Abrash
Tools
Order by interest. My preference was on simple tools written in a C-like, data-oriented, or procedural way. I don't want to deal with low level tooling marred by dense language abstractions.
YASM (Rewrite of (some) of Netwide in C)
Everything below is just noted to exist but I don't care for.