; various UNIX projects written in assembly language
; of course all of them feature extremely small size
; if you're looking for source code and examples, here they are
| name | short description | platform | OS | assembler |
| asmutils | miscellaneous utilities, small libc | IA32 | Linux, *BSD (Unixware, Solaris, AtheOS, BeOS) | nasm |
| e3editor | WordStar-like text editor | IA32 | Linux, *BSD, AtheOS, BeOS, Win32 | nasm |
| ec64 | Commodore C64 emulator | IA32 | Linux | nasm |
| lib4th | Forth kernel implemented as shared library | IA32 | Linux | nasm |
| Tiny Programs | tiny Linux executables | IA32 | Linux | nasm |
| ta | traffic accounting daemon | IA32 | Linux | nasm |
| dream | R4RS compliant Scheme interpreter | IA32, PPC | Unix | gas |
| H3sm | 3-stack Forth-like language (and other stuff from Rick Hohensee) |
IA32 | Linux | gas |
| F4 | x86 Linux fig-Forth | IA32 | Linux | gas |
| eforth | eforth converted to nasm/asmutils | IA32 | Linux | nasm |
| eforth | original Linux eforth | IA32 | Linux | gas |
| ASMIX | several command-line utilities | IA32, PPC, SPARC, PDP11 | Linux, FreeBSD, LynxOS, Solaris, Unixware, SunOS | gas |
| Bizarre Source, Corp | several system utilities | IA32 | Linux | gas |
| VMW Assembly tricks | linux_logo and other ASCII tricks in assembly | IA32, IA64, Alpha, PPC, SPARC, S390 | Linux | gas |
| acid | small textmode intro | IA32, ARM | Linux | nasm, gas |
| asm-toys | few utilities | IA32 | Linux | gas |
| smallutils | few small utils in assembly and C | IA32, SPARC | Linux | gas |
There are quite a lot of mixed C-assembly projects, like GNU MP library, ATLAS/BLAS, OpenGUI just to name a few. Also see source code of your kernel and libc. All this will provide you examples of assembly programming on different hardware platforms.
; Various documents on the topic
; Some of them are must-reads
; CPU manuals and assembly programming guides
| IA-32 (x86): | sandpile.org, Intel, AMD, x86 bugs, optimization |
| x86-64: | |
| IA-64: | Intel Itanium manuals, IA-64 Linux |
| ARM: | ARM Assembler Programming |
| Alpha: | Compaq Tru64 UNIX 5.1, other manuals, |
| SPARC: | |
| PA-RISC: | PA-RISC technical documentation |
| PPC: | Introduction to assembly on the PowerPC |
| MIPS: |
; Executable formats
; Books
; Articles
; If you're new to UNIX assembly programming, start from here
; Links to somehow related projects
; tools
| NASM | x86 assembler with Intel syntax |
| FASM | another x86 assembler with Intel syntax |
| ALD | Assembly Language Debugger |
| BASTARD | Bastard Disassembly Environment |
| DUDE | Despotic Unix Debugging Engine |
| BIEW | console hex viewer/editor with built-in disassembler |
| HTE | viewer/editor/analyzer for text, binary, and executable files |
| OTCCELF | tiny C compiler, generates a dynamically linked ELF file |
| UPX | Ultimate Packer for eXecutables |
| Intel2gas | converter between AT&T and Intel assembler syntax |
| A2I | converter from AT&T to Intel assembler syntax |
| TA2AS | converter from TASM to AT&T assembler syntax |
| binutils | as they are: gas, ld, ar, etc |
; sites
| Jan's Linux & Assembler page | various source code examples |
| H-Peter Recktenwald's page | "The Int80h page" |
| Karsten Scheibler's page | "Unused Inode" |
| G. Adam Stanislav's page | FreeBSD related material |
| Bruce Ediger's page | SPARC assembly related material |
| Assembly Programming Journal | |
| Phrack Magazine | |
| intel-assembler.it | Numerous Intel assembly programming resources for mostly DOS and Windows. |
; discussion forums
| FASM Linux/Unix forums | (english) |