Vad är filformatet ASM?
.asm-filer lagrar källkod för applikationer skrivna i ett programmeringsspråk på låg nivå. Detta format lagrar data i ren text, som kan nås med valfri textredigerare. Dedikerade redigerare rekommenderas dock för att redigera sådana filer, eftersom de erbjuder hjälpsamma funktioner som radnumrering och syntaxmarkering.
Assemblerspråk är ett programmeringsspråk på låg nivå som arbetar nära en processorarkitekturs maskinkodsinstruktioner. Assemblerkod lagras i .asm-filer. De första assemblerarna skapades i slutet av 1940-talet. Språket var mycket populärt fram till 1980-talet (eller 1990-talet, beroende på arkitektur), då högnivåspråk introducerades, såsom C eller Pascal. Högnivåspråk erbjöd en renare syntax och ett mer intuitivt programmeringsgränssnitt, samt avsevärt utökad funktionalitet. Trots detta är assembler fortfarande det föredragna språket när prestanda är kritisk eller när kod måste interagera direkt med hårdvara - det används i operativsystemskärnor, bootloaders, inbäddad firmware och enhetsdrivrutiner.
Assemblerspråk används också för att skriva skadlig kod eller datavirus som direkt riktar sig mot processorer och kringgår många av operativsystemets rutiner.
Källkod lagrad i en .asm-fil måste bearbetas av en assembler - inte en kompilator - som konverterar den till en maskinkodad objektfil (.obj eller .o). En länkare kombinerar sedan en eller flera objektfiler till en körbar fil, till exempel en EXE-fil. Vanliga assemblerare inkluderar MASM (Microsoft Macro Assembler), NASM och GNU as (GAS). Varje assembler använder en specifik dialekt; .asm-källkod skriven för MASM är i allmänhet inte kompatibel med GAS utan modifieringar.
Säkerhet & trygghet
RISK: LOWAtt läsa eller redigera en .asm-fil är helt säkert - det är ren text och gör ingenting förrän den assembleras och körs. Risken ligger enbart i vad koden GÖR när du väl har assemblerat och kört den: precis som all källkod kan en .asm-fil innehålla skadlig logik, och assembler är ett vanligt format för shellcode och proof-of-concepts för skadlig kod. Granska okänd assembler innan du bygger den, och kör aldrig en kompilerad binär från en okänd .asm utan att förstå den. Filen i sig innehåller inga makron eller automatisk exekvering.
Formatdetaljer
i ett nötskal- SolidWorks / Pro-ENGINEER (Creo) Assembly-fil - Vissa CAD-verktyg använder .asm för binära 3D-sammanställningsdokument (Pro/E .asm, och informellt för SolidWorks); dessa är binära CAD-filer, orelaterade till källkod för assembler - se .sldasm.
- Generiska «assembly»-datafiler - Olika nischade appar namnger datafiler för delmontering eller byggmontering till .asm; identifieras genom det ägande programmet.
Program som öppnar ASM-filer
Tekniska detaljer
djup specifikation| Filtyp | Källkod för assemblerspråk i ren text |
| MIME-typ | text/x-asm (även text/x-assembly, text/plain) |
| Teckenkodning | ASCII eller UTF-8; äldre DOS-källor kan använda kodsidor som CP437 |
| Filsignatur | Ingen - inga magic bytes; identifieras genom filändelse och innehåll (mnemonics och direktiv) |
| Radstruktur | Varje rad innehåller en valfri etikett, en mnemonic med operander och en valfri kommentar |
| Kommentarsyntax | ; i MASM/NASM; # eller @ i GNU as (GAS); * i vissa 6502/68k-assemblerare |
| Typisk filstorlek | 1 KB - 500 KB; genererade listfiler kan vara större |
| Utdata | Assembleras till en objektfil (.obj / .o), länkas sedan till en körbar fil |
| Vanliga assemblerdialekter | MASM, NASM, GNU as (AT&T-syntax), TASM, ARM/Keil-assembler |
| Mål-ISA | x86/x86-64, ARM/AArch64, MIPS, RISC-V, AVR, 6502, Z80, och många andra |
| Dialektportabilitet | Inte portabel mellan olika assemblerdialekter utan modifiering; syntax och direktiv skiljer sig avsevärt |
| Makrostöd | Stöds i de flesta assemblerare: MACRO/ENDM i MASM, %macro/%endmacro i NASM, .macro/.endm i GAS |
| Inkluderingsmekanism | INCLUDE (MASM), %include (NASM), .include (GAS) - delar upp källkod över flera filer |
| Typiska användningsområden | OS-kärnor, bootloaders, firmware, kryptografiska rutiner, spelmotorers prestandakritiska delar, analys av skadlig kod |
| Släppt | 1940s-1950s (assembly languages); .asm convention popularized by DOS/MASM era (1980s) |
| Senaste version | N/A (text source; depends on the target ISA and assembler dialect, not a versioned file format) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | sourceware.org |
ASM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om ASM-filer.