Hva er ASM-filformatet?
.asm-filer lagrer kildekode for applikasjoner skrevet i et lavnivå programmeringsspråk. Dette formatet lagrer data i ren tekst, som kan åpnes med alle tekstredigeringsprogrammer. Det anbefales imidlertid å bruke dedikerte redigeringsprogrammer for slike filer, da de tilbyr nyttige funksjoner som linjenummerering og syntaksutheving.
Assemblerspråk er et lavnivå programmeringsspråk som fungerer tett med en prosessorarkitekturs maskinkodeinstruksjoner. Assemblerkode lagres i .asm-filer. De første assemblerne ble laget på slutten av 1940-tallet. Språket var svært populært frem til 1980-tallet (eller 1990-tallet, avhengig av arkitektur), da programmeringsspråk på høyere nivå ble introdusert, som C eller Pascal. Høynivåspråk tilbød en renere syntaks og et mer intuitivt programmeringsgrensesnitt, samt betydelig utvidet funksjonalitet. Likevel er assembler fortsatt det foretrukne språket når ytelse er kritisk eller når koden må samhandle direkte med maskinvare - brukt i OS-kjerner, bootloadere, innebygd fastvare (firmware) og enhetsdrivere.
Assemblerspråk brukes også til å skrive skadevare eller datavirus som er rettet direkte mot CPU-er og omgår mange av operativsystemets rutiner.
Kildekode lagret i en .asm-fil må behandles av en assembler - ikke en kompilator - som konverterer den til en maskinkode-objektfil (.obj eller .o). En lenker kombinerer deretter én eller flere objektfiler til en kjørbar fil, for eksempel en EXE-fil. Vanlige assemblere inkluderer MASM (Microsoft Macro Assembler), NASM og GNU as (GAS). Hver av disse bruker en egen dialekt; .asm-kilde skrevet for MASM er generelt ikke kompatibel med GAS uten endringer.
Sikkerhet og trygghet
RISIKO: LOWÅ lese eller redigere en .asm er helt trygt - det er ren tekst og gjør ingenting før det er assemblert og kjørt. Risikoen ligger kun i hva koden GJØR når du har assemblert og utført den: som all kildekode kan en .asm inneholde ondsinnet logikk, og assembler er en vanlig form for shellcode og «proof-of-concepts» for skadevare. Inspiser ukjent assembler før du bygger den, og kjør aldri en kompilert binærfil fra en utroverd .asm uten å forstå den. Selve filen inneholder ingen makroer eller automatisk kjøring.
Formatdetaljer
i et nøtteskall- SolidWorks / Pro-ENGINEER (Creo) sammenstillingsfil - Enkelte CAD-verktøy bruker .asm for binære 3D-sammenstillingsdokumenter (Pro/E .asm, og uformelt for SolidWorks); disse er binære CAD-filer, urelatert til kildekode for assembler - se .sldasm.
- Generiske «assembly»-datafiler - Ulike nisje-apper kaller datafiler for del-sammenstillinger eller bygg-sammenstillinger for .asm; identifiseres ved det tilhørende programmet.
Programmer som åpner ASM-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Kildekode i assemblerspråk (ren tekst) |
| MIME-type | text/x-asm (også text/x-assembly, text/plain) |
| Tegnoding | ASCII eller UTF-8; eldre DOS-kilder kan bruke kodesider som CP437 |
| Filsignatur | Ingen - ingen «magic bytes»; identifiseres ved filendelse og innhold (mnemonics og direktiver) |
| Linjestruktur | Hver linje inneholder en valgfri etikett, en mnemonic med operander, og en valgfri kommentar |
| Kommentarsyntaks | ; i MASM/NASM; # eller @ i GNU as (GAS); * i enkelte 6502/68k-assemblere |
| Typisk filstørrelse | 1 KB - 500 KB; genererte listefiler kan være større |
| Utdata | Assemblert til en objektfil (.obj / .o), deretter lenket til en kjørbar fil |
| Vanlige assemblerdialekter | 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 |
| Portabilitet mellom dialekter | Ikke portabel mellom assemblerdialekter uten endringer; syntaks og direktiver skiller seg betydelig |
| Makrostøtte | Støttes i de fleste assemblere: MACRO/ENDM i MASM, %macro/%endmacro i NASM, .macro/.endm i GAS |
| Inkluderingsmekanisme | INCLUDE (MASM), %include (NASM), .include (GAS) - deler kildekoden over flere filer |
| Typiske bruksområder | OS-kjerner, bootloadere, fastvare, kryptografiske rutiner, ytelseskritiske deler i spillmotorer, analyse av skadevare |
| Utgitt | 1940s-1950s (assembly languages); .asm convention popularized by DOS/MASM era (1980s) |
| Siste versjon | N/A (text source; depends on the target ISA and assembler dialect, not a versioned file format) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | sourceware.org |
ASM-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om ASM-filer.