Hvad er ASM-filformatet?
.asm-filer gemmer kildekode til applikationer skrevet i et lavniveau-programmeringssprog. Dette format gemmer data i almindelig tekst, som kan tilgås med enhver teksteditor. Det anbefales dog at bruge dedikerede editorer til redigering af sådanne filer, da de tilbyder nyttige funktioner som linjenummerering og syntaksfremhævning.
Assembly-sprog er et lavniveau-programmeringssprog, der arbejder tæt sammen med en processorarkitekturs maskinkodeinstruktioner. Assembly-kode gemmes i .asm-filer. De første assemblere blev skabt i slutningen af 1940'erne. Sproget var meget populært indtil 1980'erne (eller 1990'erne, afhængigt af arkitekturen), hvor sprog på højere niveau blev introduceret, såsom C eller Pascal. Højniveau-programmeringssprog tilbød en renere syntaks og en mere intuitiv programmeringsgrænseflade samt betydeligt udvidet funktionalitet. Ikke desto mindre er assembly stadig det foretrukne sprog, når ydeevne er kritisk, eller når kode skal interagere direkte med hardware - det bruges i OS-kerner, bootloadere, indlejret firmware og enhedsdrivere.
Assembly-sprog bruges også til at skrive malware eller computervirus, der direkte målretter CPU'er og omgår mange operativsystemrutiner.
Kildekode gemt i en .asm-fil skal behandles af en assembler - ikke en compiler - som konverterer den til en maskinkode objektfil (.obj eller .o). En linker kombinerer derefter en eller flere objektfiler til en kørbar eksekverbar fil, såsom en EXE-fil. Almindelige assemblere inkluderer MASM (Microsoft Macro Assembler), NASM og GNU as (GAS). Hver bruger en særskilt dialekt; .asm-kilde skrevet til MASM er generelt ikke kompatibel med GAS uden ændringer.
Sikkerhed og tryghed
RISIKO: LOWLæsning eller redigering af en .asm er fuldstændig sikker - det er almindelig tekst og gør intet, før det er samlet og kørt. Risikoen ligger kun i, hvad koden GØR, når du har samlet og eksekveret den: som enhver kildekode kan en .asm indeholde ondsindet logik, og assembly er en almindelig form for shellcode og malware proof-of-concepts. Inspicér ukendt assembly før bygning, og kør aldrig en kompileret binær fil fra en upålidelig .asm uden at forstå den. Selve filen indeholder ingen makroer eller automatisk eksekvering.
Formatdetaljer
kort fortalt- SolidWorks / Pro-ENGINEER (Creo) Assembly-fil - Visse CAD-værktøjer bruger .asm til binære 3D-samlingsdokumenter (Pro/E .asm, og uformelt for SolidWorks); disse er binære CAD-filer, ikke relateret til assembly-kildekode - se .sldasm.
- Generiske «assembly» datafiler - Forskellige niche-apps navngiver del-samlings- eller build-samlingsdatafiler .asm; identificeres ved den ejende applikation.
Programmer der åbner ASM-filer
Tekniske detaljer
dyb specifikation| Filtype | Almindelig tekst assembly-sprog kildekode |
| MIME-type | text/x-asm (også text/x-assembly, text/plain) |
| Tegnkodning | ASCII eller UTF-8; ældre DOS-kilder kan bruge tegnsæt som CP437 |
| Filsignatur | Ingen - ingen magic bytes; identificeres ved filendelse og indhold (mnemonics og direktiver) |
| Linjestruktur | Hver linje indeholder en valgfri label, en mnemonic med operander og en valgfri kommentar |
| Kommentarsyntaks | ; i MASM/NASM; # eller @ i GNU as (GAS); * i visse 6502/68k assemblere |
| Typisk filstørrelse | 1 KB - 500 KB; genererede listing-filer kan være større |
| Output-artefakt | Assembled til en objektfil (.obj / .o), derefter linket til en eksekverbar fil |
| Almindelige assembler-dialekter | MASM, NASM, GNU as (AT&T-syntaks), TASM, ARM/Keil assembler |
| Mål-ISA'er | x86/x86-64, ARM/AArch64, MIPS, RISC-V, AVR, 6502, Z80 og mange andre |
| Dialekt-portabilitet | Ikke portabel på tværs af assembler-dialekter uden modifikation; syntaks og direktiver adskiller sig væsentligt |
| Makro-understøttelse | Understøttet i de fleste assemblere: MACRO/ENDM i MASM, %macro/%endmacro i NASM, .macro/.endm i GAS |
| Include-mekanisme | INCLUDE (MASM), %include (NASM), .include (GAS) - opdeler kilde over flere filer |
| Typiske brugsscenarier | OS-kerner, bootloadere, firmware, kryptografiske rutiner, game-engine hot paths, malware-analyse |
| Udgivet | 1940s-1950s (assembly languages); .asm convention popularized by DOS/MASM era (1980s) |
| Seneste version | N/A (text source; depends on the target ISA and assembler dialect, not a versioned file format) |
| Åben standard | Ja · royaltyfri |
| Specifikation | sourceware.org |
ASM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om ASM-filer.