; Copyright © 1999-2006 Konstantin Boldyshev <konst@users.sourceforge.net>
; Copyright © 2013 Leo Noordergraaf <lnoor@users.sourceforge.net>
;
; Page holds UNIX assembly programming related resources.
; If you start a new project, or find a resource not listed here,
; please let me know -- I will add it to this page.
;
; Note that links are not in any particular order.
; Note that some links may eventually become broken, please report them.

; 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
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

; discussion forums

FASM Linux/Unix forums (english)


home | news | projects | docs | tutorials | links | asmutils | list
$Id: resources.html 5 2013-03-02 15:27:27Z lnoor $