4.9 KiB
4.9 KiB
| 1 | Anchor Text | URL |
|---|---|---|
| 2 | Demystifying programs that create programs | https://briancallahan.net/blog/20210407.html |
| 3 | Part 1: A disassembler | https://briancallahan.net/blog/20210407.html |
| 4 | Part 2: Starting an assembler | https://briancallahan.net/blog/20210408.html |
| 5 | Part 3: Globals, passes, and error handling | https://briancallahan.net/blog/20210409.html |
| 6 | Part 4: Parsing | https://briancallahan.net/blog/20210410.html |
| 7 | Part 5: Processing our first opcode | https://briancallahan.net/blog/20210411.html |
| 8 | Part 6: Processing more opcodes | https://briancallahan.net/blog/20210412.html |
| 9 | Part 7: Further opcode processing | https://briancallahan.net/blog/20210413.html |
| 10 | Part 8: Finishing opcode processing | https://briancallahan.net/blog/20210414.html |
| 11 | Source | https://github.com/ibara/d80 |
| 12 | Assembly Programming and Computer Architecture for Software Engineers | https://brianrhall.com/book/ |
| 13 | Performance-Aware Programming Series | https://www.computerenhance.com/p/table-of-contents |
| 14 | Instruction Decoding on the 8086 | https://www.computerenhance.com/p/instruction-decoding-on-the-8086 |
| 15 | Decoding Multiple Instructions and Suffixes | https://www.computerenhance.com/p/decoding-multiple-instructions-and |
| 16 | Opcode Patterns in 8086 Arithmetic | https://www.computerenhance.com/p/opcode-patterns-in-8086-arithmetic |
| 17 | 8086 Decoder Code Review | https://www.computerenhance.com/p/8086-decoder-code-review |
| 18 | Using the Reference Decoder as a Shared Library | https://www.computerenhance.com/p/using-the-reference-decoder-as-a |
| 19 | Simulating Non-memory MOVs | https://www.computerenhance.com/p/simulating-non-memory-movs |
| 20 | Simulating ADD, SUB, and CMP | https://www.computerenhance.com/p/simulating-add-jmp-and-cmp |
| 21 | Simulating Conditional Jumps | |
| 22 | Simulating Memory | |
| 23 | Simulating Real Programs | |
| 24 | Other Common Instructions | |
| 25 | The Stack | |
| 26 | From 8086 to x64 | |
| 27 | 8086 Simulation Code Review | |
| 28 | Assemblers and Loaders (1993) | https://www.davidsalomon.name/assem.advertis/AssemAd.html |
| 29 | Affine Notes | https://app.affine.pro/workspace/3fc9d28f-0ee6-4e4c-9675-79230706f341/koifv--tIzioAWQsC3OY0?mode=edgeless |
| 30 | An Introduction to Assembly Programming with RISC-V | https://riscv-programming.org/book/riscv-book.html |
| 31 | asm-lessons | https://github.com/FFmpeg/asm-lessons |
| 32 | 20 part Linker Essay (on LWN) | https://lwn.net/Articles/276782/ |
| 33 | Linkers and Loaders (2000) | https://linker.iecc.com |
| 34 | Beginning x64 Assembly Programming: From Novice to AVX Professional | https://link.springer.com/book/10.1007/978-1-4842-5076-1 |
| 35 | Zen of Assembly Language | https://www.jagregory.com/abrash-zen-of-asm/ |
| 36 | Let's Learn x86-64 Assembly! | https://gpfault.net/posts/asm-tut-0.txt.html |
| 37 | Part 0 - Setup and First Steps | https://gpfault.net/posts/asm-tut-0.txt.html |
| 38 | Part 1 - Metaprogramming in Flat Assembler | https://gpfault.net/posts/asm-tut-1.txt.html |
| 39 | Part 2 - We're Writing a Virtual Machine | https://gpfault.net/posts/asm-tut-2.txt.html |
| 40 | Part 3 - Arithmetic and Logic | https://gpfault.net/posts/asm-tut-3.txt.html |
| 41 | Demystifying Debuggers, Part 2: The Anatomy Of A Running Program | https://www.rfleury.com/p/demystifying-debuggers-part-2-the |
| 42 | Zydis | https://github.com/zyantific/zydis |
| 43 | ZASM (Zydis frontend, not to be confused with Z80 assembler...) | https://github.com/zyantific/zasm |
| 44 | Netwide Assembler | https://www.nasm.us |
| 45 | EuroAssembler | https://euroassembler.eu/eadoc/ |
| 46 | DynASM | https://github.com/Esvandiary/DynASM |
| 47 | AssemblyLine | https://github.com/0xADE1A1DE/AssemblyLine |
| 48 | AsmJit | https://github.com/asmjit |
| 49 | AsmTK | https://github.com/asmjit/asmtk |
| 50 | VASM | http://sun.hasenbraten.de/vasm/ |
| 51 | FASM | https://flatassembler.net |
| 52 | YASM (Rewrite (on some) of Netwide in C) | https://yasm.tortall.net |
| 53 | Design | https://www.tortall.net/projects/yasm/reference/design/design.pdf |
| 54 | User Manual | https://www.tortall.net/projects/yasm/manual/manual.pdf |
| 55 | TASM | https://github.com/qb40/tasm |
| 56 | HLA | https://plantation-productions.com/Webster/HighLevelAsm/index.html |
| 57 | libasm | https://github.com/tgtakaoka/libasm |
| 58 | xbyak | https://github.com/herumi/xbyak |
| 59 | Keystone assembler framework | https://github.com/keystone-engine/keystone |
| 60 | MASM | https://github.com/qb40/masm |
| 61 | GAS | https://wiki.osdev.org/GAS |
| 62 | LIEF | https://github.com/lief-project/LIEF |
| 63 | PE Format | https://learn.microsoft.com/en-us/windows/win32/debug/pe-format?redirectedfrom=MSDN |
| 64 | ELF | https://wiki.osdev.org/ELF |
| 65 | Mach-O | https://github.com/aidansteele/osx-abi-macho-file-format-reference/blob/master/Mach-O_File_Format.pdf |
| 66 | SBCL: the ultimate assembly code breadboard | https://pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ |
| 67 | mschwartz's assembly tutorial | https://github.com/mschwartz/assembly-tutorial |
| 68 | CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()” | https://youtu.be/dOfucXtyEsU |
| 69 | Learning Assembly YT Playlist | https://www.youtube.com/playlist?list=PLHJns8WZXCdvESvdr1BRjo4RHiR1Ylhw9 |
| 70 | OSdev Entry | https://wiki.osdev.org/Assembly |