Was ist das ASM-Dateiformat?
.asm-Dateien speichern Quellcode für Anwendungen, die in einer maschinennahen Programmiersprache geschrieben wurden. Dieses Format speichert Daten als Klartext, auf den mit jedem Texteditor zugegriffen werden kann. Es werden jedoch spezielle Editoren empfohlen, da diese hilfreiche Funktionen wie Zeilennummerierung und Syntax-Hervorhebung bieten.
Assemblersprache ist eine Low-Level-Programmiersprache, die eng mit den Maschinencode-Befehlen einer Prozessorarchitektur zusammenarbeitet. Assembler-Code wird in .asm-Dateien gespeichert. Die ersten Assembler wurden Ende der 1940er Jahre entwickelt. Die Sprache war bis in die 1980er Jahre (oder 1990er Jahre, je nach Architektur) sehr populär, bis Hochsprachen wie C oder Pascal eingeführt wurden. Hochsprachen boten eine sauberere Syntax und eine intuitivere Programmierschnittstelle sowie eine deutlich erweiterte Funktionalität. Dennoch ist Assembler nach wie vor die Sprache der Wahl, wenn die Leistung kritisch ist oder der Code direkt mit der Hardware interagieren muss - etwa in Betriebssystemkernen, Bootloadern, eingebetteter Firmware und Gerätetreibern.
Assemblersprachen werden auch zum Schreiben von Malware oder Computerviren verwendet, die direkt auf CPUs abzielen und viele Routinen des Betriebssystems umgehen.
Quellcode in einer .asm-Datei muss von einem Assembler - nicht von einem Compiler - verarbeitet werden, der ihn in eine Maschinencode-Objektdatei (.obj oder .o) umwandelt. Ein Linker kombiniert dann eine oder mehrere Objektdateien zu einer ausführbaren Datei, wie z. B. einer EXE-Datei. Gängige Assembler sind MASM (Microsoft Macro Assembler), NASM und GNU as (GAS). Jeder verwendet einen eigenen Dialekt; für MASM geschriebener .asm-Quellcode ist in der Regel ohne Modifikationen nicht mit GAS kompatibel.
Sicherheit
RISIKO: LOWDas Lesen oder Bearbeiten einer .asm-Datei ist völlig sicher - es handelt sich um reinen Text, der nichts bewirkt, bis er assembliert und ausgeführt wird. Das Risiko liegt nur darin, was der Code TUT, sobald Sie ihn assemblieren und ausführen: Wie jeder Quellcode kann eine .asm bösartige Logik enthalten, und Assembler ist eine gängige Form für Shellcode und Malware-Proof-of-Concepts. Überprüfen Sie unbekannten Assembler-Code vor dem Erstellen und führen Sie niemals eine kompilierte Binärdatei aus einer nicht vertrauenswürdigen .asm aus, ohne sie zu verstehen. Die Datei selbst enthält keine Makros oder automatische Ausführungsfunktionen.
Formatdetails
kurz gefasst- SolidWorks / Pro-ENGINEER (Creo) Baugruppendatei - Einige CAD-Tools verwenden .asm für binäre 3D-Baugruppendokumente (Pro/E .asm und informell für SolidWorks); dies sind binäre CAD-Dateien, die nichts mit Assembler-Quellcode zu tun haben - siehe .sldasm.
- Generische „Assembly“-Datendateien - Verschiedene Nischenanwendungen benennen Teile-Baugruppen oder Build-Assembly-Datendateien .asm; Identifizierung erfolgt über die zugehörige Anwendung.
Programme zum Öffnen von ASM-Dateien
Technische Details
technische Spezifikation| Dateityp | Assembler-Quellcode im Klartext |
| MIME-Typ | text/x-asm (auch text/x-assembly, text/plain) |
| Zeichenkodierung | ASCII oder UTF-8; ältere DOS-Quellen können Codepages wie CP437 verwenden |
| Dateisignatur | Keine - keine Magic Bytes; identifiziert durch Erweiterung und Inhalt (Mnemonics und Direktiven) |
| Zeilenstruktur | Jede Zeile enthält ein optionales Label, ein Mnemonic mit Operanden und einen optionalen Kommentar |
| Kommentarsyntax | ; in MASM/NASM; # oder @ in GNU as (GAS); * in einigen 6502/68k-Assemblern |
| Typische Dateigröße | 1 KB - 500 KB; generierte Listing-Dateien können größer sein |
| Ausgabeartefakt | Assembliert in eine Objektdatei (.obj / .o), dann verknüpft zu einer ausführbaren Datei |
| Gängige Assembler-Dialekte | MASM, NASM, GNU as (AT&T-Syntax), TASM, ARM/Keil-Assembler |
| Ziel-ISAs | x86/x86-64, ARM/AArch64, MIPS, RISC-V, AVR, 6502, Z80 und viele andere |
| Portabilität der Dialekte | Ohne Modifikation nicht zwischen Assembler-Dialekten portierbar; Syntax und Direktiven unterscheiden sich erheblich |
| Makro-Unterstützung | Wird in den meisten Assemblern unterstützt: MACRO/ENDM in MASM, %macro/%endmacro in NASM, .macro/.endm in GAS |
| Include-Mechanismus | INCLUDE (MASM), %include (NASM), .include (GAS) - teilt Quellcode auf mehrere Dateien auf |
| Typische Anwendungsfälle | Betriebssystemkerne, Bootloader, Firmware, kryptografische Routinen, Hot-Paths in Game-Engines, Malware-Analyse |
| Veröffentlicht | 1940s-1950s (assembly languages); .asm convention popularized by DOS/MASM era (1980s) |
| Neueste Version | N/A (text source; depends on the target ISA and assembler dialect, not a versioned file format) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | sourceware.org |
ASM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu ASM-Dateien.