ll: Linux_Logo in assembly language
latest version is 0.31
15 Architectures, Smallest is 914 bytes! (on avr32)
NEWS:
- I released version 0.31 on 9 September 2007. Added 6502 support.
- I released version 0.30 on 24 August 2007. Added sh3 support.
- I released version 0.29 on 7 August 2007. Updated x86 and x86_64
to work on modern hardware, added vax support.
- I released version 0.28 on 1 August 2007. re-optimized s390.
- I released version 0.27 on 8 July 2007. Added avr32 support.
- I released version 0.25 on 28 April 2007. Added m68k support.
BACKGROUND:
This is a port of my linux_logo program
to use raw assembly language. By using assembly and syscalls, you
can have extremely fast and small binaries that don't use libc at all!
So far I have alpha, arm, arm_thumb, avr32, ia64, m68k, mips, parisc,
ppc, s390, sh3, sparc, vax, x86 and x86_64 versions.
If you have an unsupported architecture and will be willing to give
me a shell account on your machine, let me know.
It would be great if every Linux-supported architecture
had its own assembly version of linux_logo.
DOWNLOADS:
Some Documentation
Linux assembly source files for your viewing pleasure:
Non-linux versions:
Here is a comparison of the size of the binaries after having
sstrip run on them:
| Architecture | Size |
| avr32 | 914 bytes |
| x86 | 976 bytes |
| arm_thumb | 989 bytes |
| sh3 | 994 bytes |
| vax | 1010 bytes |
| m68k | 1014 bytes |
| x86_64 | 1036 bytes |
| s390 | 1096 bytes |
| PowerPC | 1206 bytes |
| arm | 1218 bytes |
| MIPS | 1292 bytes |
| 6502 | 1394 bytes |
| SPARC | 1397 bytes |
| PA-RISC | 1400 bytes |
| alpha | 1957 bytes |
| itanium | 2874 bytes |
For a bit of commentary on why the sizes end up the way they do, see
the README
You might ask if all the above works? Yes. Written and tested on:
- alpha: "bmul", our dual 21264. Also original thanks to the (now defunct) Compaq testdrive.
- arm: "lindt", my gumstix system.
- avr32: I have an Atmel NGW100.
- ia64: "itanium", our creatively named ia64 machines.
Also, original thanks to the (now defunct) Compaq testdrive.
- m68k: the aranym emulator, emulating an Atari running Linux.
- mips: "perugina", a debian SGI Indy we have at work.
- parisc: "feodora", an HP-PARISC machine we have at work.
- ppc: "henparma" my 2001 iBook
- s390: the Hercules
emulator. Also, originally thanks to
IBM zSeries Testdrive
- sh3: qemu-sh4, and eventually on a dreamcast
- sparc: "valor" a 24 processor niagara server we have at work.
- vax: simh simulator
- x86: "hal" my aging K6-2+ FIC PA-2007 machine
- x86_64: domori cluster at work
Non-Linux versions:
- 6502: (Screenshot of results)
I have a few Apple II machines, but most development was done
on the yae emulator.
Yet to come:
- pdp-11: ???
- All other known Linux architectures:
thumb2, sh4, blackfin, cris, frv, h8300, i960, m32r, v850, xtensa
Back to
My Assembly Tricks Page
©VMW Web Design
(vince _at_ deater.net): 9 September 2007