Assembler XS
Eigenschaften
- Sehr kleines Programm: unter 6 KB, kurze Ladezeit selbst von Diskette (1)
- Unterstützt alle 8086-Befehle exkl. FPU
- Einziges Ausgabeformat: Binärdateien (2)
- Mindestens 5-mal schneller als der NASM (Netwide Assembler) (3)
- Läuft auf FreeDOS und anderen DOS-Systemen (4)
- Freie Software unter der GNU General Public License
Bemerkungen
(1) Zum Vergleich: Andere Assembler sind zwischen 60 und 300 KB gross.
(2) Das Startoffset ist beliebig festlegbar, z. B. 0x100 für DOS-.COM-Programme.
(3) Dies wurde am ASM/XS-Quelltext untersucht. Der ASM/XS kann seinen Quelltext (eine an seine Syntax leicht angepasste Version) vollständig richtig übersetzen; das Resultat ist genau dasselbe wie die Ausgabe des NASM.
(4) Der Quelltext ist für Portierungen auf weitere "Real Mode"-Systeme vorbereitet, die DOS-spezifischen Teile sind in separaten Dateien gehalten.
Status
Letzte Version (2008/7) am 31.7.2008 veröffentlicht
- Bug korrigiert: Der Assembler kann Textkonstanten auch innerhalb eines Operands richtig verarbeiten, z. B.
SUB AL, ("a"-"A") - Der Assembler versteht nun auch das EOF-Zeichen (Code 26), das einige Editoren ans Ende jeder Datei schreiben, wie ein Zeilenende-Zeichen.
Download
| Name | Grösse | Beschreibung |
|---|---|---|
| bin/asmxs.com | 5.84 KB | Lauffähiges Programm für DOS |
| src/asmxs.asm | 58.1 KB | Hauptdatei des Quelltextes (Zeichencodierung DOS-CP437) |
| src/jcc.asm | 1049 B | Steuert das Verhalten des NASM bei kurzen Sprüngen |
| src/os-code.asm | 5.35 KB | Plattformabhängiger Code in der .code-Sektion |
| src/os-data.asm | 1.66 KB | Plattformabhängiger Code in der .data-Sektion |
| src/os-bss.asm | 750 B | Plattformabhängiger Code in der .bss-Sektion |
| src/selfasm.axs | 63.7 KB | Quelltext in der ASM/XS-Syntax (alle OS-...-Includes eingefügt) |
| licenses/gpl.txt | 17.6 KB | Lizenzbedingungen (englisch) |
| licenses/gpl.de.txt | 25.1 KB | Inoffizielle deutsche Version der Lizenzbedingungen |
| src/asmxs.txt | 58.1 KB | Hauptdatei des Quelltextes (Zeichencodierung ISO-8859-1) |
| src/jcc.txt | 1049 B | Steuert das Verhalten des NASM bei kurzen Sprüngen |
| src/os-code.txt | 5.35 KB | Plattformabhängiger Code in der .code-Sektion |
| src/os-data.txt | 1.66 KB | Plattformabhängiger Code in der .data-Sektion |
| src/os-bss.txt | 750 B | Plattformabhängiger Code in der .bss-Sektion |
| src/selfasm.txt | 63.7 KB | Quelltext in der ASM/XS-Syntax (alle OS-...-Includes eingefügt) |
Rote Dateinamen stehen für Dateien in DOS-Formaten. Wenn Sie den Quelltext auf einem anderen System lesen möchten, verwenden Sie bitte die entsprechenden .txt-Dateien.
(Tipp für Windows-User: .txt-Dateien mit WordPad statt Notepad öffnen, um Zeilenenden korrekt darzustellen.)
Was bedeutet XS?
Das Kürzel XS steht für "extra bzw. extrem(ely) small/simple/safe/secure / schlank/sicher/stromsparend" und war beim Start des Projektes Ende 2005 für alle Softwareprodukte vorgesehen, als Kontrast zum damaligen XP-Boom.
Der Assembler unterscheidet sich vor allem durch seine winzige Programmgrösse von seiner Konkurrenz. Dies soll mit "XS" verdeutlicht werden, das man auch aus der Modewelt als Kleidergrösse X-Small kennt.
Als "offizielle Namen" kann man nach Gutdünken und Sprachkontext Helium Assembler XS (mit beliebigen Bindestrichen) oder ASM/XS, ASM-XS, ASM XS oder ASMXS gebrauchen.
