.S

S-fil

Assembly Language Source File
Ställ en fråga
SNABBT SVAR

En .s-fil är en källkodsfil för assemblerspråk - vanlig text som innehåller CPU-instruktioner på låg nivå för en specifik processor som x86-64 eller ARM. Vilken textredigerare som helst kan öppna den för visning. För att bygga den till ett program kör du «gcc file.s -o program» på Linux eller macOS, eller använder MinGW eller MASM på Windows. Filen är säker att öppna; risk uppstår först om du assembler och kör okänd kod.

Utvecklare: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Kategori: Utvecklarfiler Öppen standard MIME: text/x-asm
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Aug 4, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet S?

En .s-fil är en källkodsfil i klartext för assemblerspråk som används i Unix, Linux, macOS och inbäddade verktygskedjor. Den innehåller läsbara CPU-instruktioner - mnemonics, operander, assemblerdirektiv och etiketter - som en assembler översätter direkt till objektkod.

Filsuffixet .s är en konvention i Unix C-kompilatorer som går tillbaka till 1970-talet. Om man kör gcc -S på en C-källkodsfil avbryts kompileringen efter kodgenereringen och en .s-fil skrivs, vilket låter dig inspektera eller finjustera kompilatorns utdata innan assemblering. Den filen skickas sedan till as (GNU-assemblern) för att skapa en .o-objektfil redo för länkning.

En subtil men viktig konvention skiljer gement .s från versalt .S: .s-filer går direkt till assemblern, medan .S-filer först passerar genom C-preprocessorn, vilket tillåter direktiv som #include, #define och #ifdef - en distinktion som kärn- och firmware-kodbaser förlitar sig tungt på.

Syntaxen varierar beroende på verktygskedja. GNU as använder som standard AT&T-syntax på x86; Windows-assemblers som MASM och Intel-baserade NASM använder Intel-syntax. Samma .s-filstruktur används oavsett mål-ISA - x86-64, ARM/AArch64, RISC-V, MIPS med flera - så själva filändelsen förmedlar ingen information om arkitekturen.

.s-filer har inga magic bytes och har MIME-typen text/x-asm. Alla textredigerare kan öppna dem; redigerare med syntaxmarkeringsstöd för assembler som VS Code, Vim och Emacs föredras för större filer. Den nära besläktade filändelsen .asm tjänar samma syfte i många icke-Unix-verktygskedjor.

Säkerhet & trygghet

RISK: LOW

En .s-fil är klartext och gör ingenting i sig själv - den kan inte köras förrän du medvetet assemblerar och exekverar den. Risken är densamma som för all källkod du väljer att bygga: assembler kan innehålla instruktioner som gör vad som helst som CPU:n tillåter, så assemblera och kör endast .s-filer från källor du litar på, och läs igenom okänd assembler innan du bygger den. Att öppna en .s i en textredigerare för att titta på den är helt säkert.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNAssembly Language Source Fileäven känd som Assembly source, Assembler source
UTVECKLAREN/A (compiler/toolchain convention - GNU, Unix C toolchains)sedan 1970s (Unix C compiler toolchain convention)
MIME-TYPtext/x-asm
TYPKällkod för assembler i klartext
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • S-programmeringsspråk källkod - Källkod för det statistiska språket S (föregångare till R); sällsynt idag, men förekommer fortfarande i äldre statistikkod.
  • Scheme-källkod (ovanligt) - Ibland en källkodsfil för Scheme/Lisp, även om .scm är den vanliga filändelsen.

Program som öppnar S-filer

Windows3 apps
Notepad Öppen källkod Öppna direkt; språkmenyn har syntaxmarkering för assembler. Lättviktig visning/redigering.
Visual Studio Code Gratis Öppna .s-filen; installera ett «x86/ARM Assembly»-tillägg för syntaxmarkering. Redigera som vanlig text.
MASM / MinGW-w64 GCC (to assemble) Gratis För att bygga: «gcc file.s -o program.exe» (MinGW) eller «ml64» (Visual Studios MASM).
macOS2 apps
Visual Studio Code Gratis Öppna .s-filen; installera ett «x86/ARM Assembly»-tillägg för syntaxmarkering. Redigera som vanlig text.
Xcode command-line tools (clang/as) Gratis Installera med «xcode-select --install», assemblera sedan med clang/as från terminalen.
Linux3 apps
GNU as (binutils) + GCC Öppen källkod Assemblera med «as file.s -o file.o» eller bygg direkt med «gcc file.s -o program». Standardverktygskedjan.
GNU Emacs / Vim Öppen källkod Öppna i asm-mode (Emacs) eller med syntaxmarkering (Vim) för att läsa och redigera.
gedit / any text editor Öppen källkod Öppna som vanlig text för snabb visning; gedit markerar vanliga assemblersyntaxer.

Tekniska detaljer

djup specifikation
FiltypKällkod för assemblerspråk i klartext
MIME-typtext/x-asm (även accepterat: text/x-assembly, text/plain)
KodningASCII / UTF-8
Filsignatur (magic bytes)Ingen - klartext utan fast header; börjar vanligtvis med en kommentar (#, ;), en etikett (slutar med :) eller ett direktiv som .text eller .global
RadstrukturValfri etikett, assemblerdirektiv eller CPU-mnemonic med operander, inline-kommentar - en logisk operation per rad
SkiftlägeskonventionGement .s assembleras direkt; versalt .S körs först genom C-preprocessorn (stöder #include, #define, #ifdef)
Kompilatorgenereringgcc -S eller clang -S skapar en .s-fil från C/C++-källkod, och avbryter byggprocessen efter kodgenerering men före assemblering
Stödda ISA:erx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR med flera - filändelsen är ISA-neutral
SyntaxvarianterAT&T-syntax (standard för GNU as på x86), Intel-syntax (MASM, NASM), ARM Unified Assembly Language (UAL)
Vanliga assemblerdirektiv.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
VerktygskedjorGNU Binutils (as), LLVM/Clang integrerad assembler, Microsoft MASM, NASM, yasm, armasm
Roll i byggprocessenMellanliggande textsteg mellan kompilatorns kodgenerering och skapandet av objektfil; assembleras av as eller motsvarande för att producera en .o-fil
Stöd för preprocessering.S-varianten (versalt) skickas genom cpp före assemblering, vilket möjliggör villkorlig kompilering och makroexpansion inuti assembler-källkoden
Typisk filstorlek1 KB - 500 KB
Associerade miljöerLinux, Unix, macOS, Windows, inbäddade system (mikrokontroller, operativsystemskärnor, bootloaders)
Släppt1970s (Unix C compiler toolchain convention)
Senaste versionN/A (no versioned spec; depends on target CPU ISA and assembler)
Öppen standardJa · royaltyfri
Specifikationsourceware.org

S-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med S-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om S-filer.

Vanliga frågor

Vad är en .s-fil?
Det är en källkodsfil för assemblerspråk - klartext med CPU-instruktioner på låg nivå för en specifik processor (x86, ARM, RISC-V, etc.). Det är vad en C-kompilator genererar innan den skapar maskinkod, och det format som handskriven assembler sparas i.
Hur öppnar jag en .s-fil?
Öppna den i valfri textredigerare eller IDE - VS Code, Notepad++, vim, Emacs. För att faktiskt bygga den, använd en assembler/verktygskedja som GNU as eller «gcc file.s -o program».
Vad är skillnaden mellan .s och .S?
Gement .s är ren assembler som assemblern läser direkt. Versalt .S är assembler som först körs genom C-preprocessorn, så att den kan använda #include, #define och #ifdef (vanligt i OS/kärnkod). Skiftläget spelar roll på Unix/Linux.
Hur kompilerar jag en .s-fil?
På Linux/macOS: «gcc file.s -o program» (assemblera + länka) eller «as file.s -o file.o» (endast assemblera). På Windows, använd MinGW:s gcc eller MASM:s ml64. Du behöver den assembler som matchar filens CPU och syntax.
Kan jag konvertera assembler (.s) tillbaka till C?
Inte på ett tillförlitligt sätt. Assembler saknar den högnivåstruktur som C kräver, så det finns ingen riktig .s-till-C-konverterare. Dekompilatorer som Ghidra skapar ungefärlig C-kod från kompilerade binärer, inte likvärdig källkod.
Är .s samma sak som .asm?
Båda är källkod för assembler. .s är Unix/GNU-konventionen (ofta AT&T-syntax via GNU as); .asm är vanligare på Windows/DOS (NASM, MASM, ofta Intel-syntax). Det är CPU:n och assemblern som avgör dialekten, inte filändelsen.

Referenser

1GNU Assembler (as) manual - Sourcewaresourceware.org
2GCC - Overall options (-S emits assembly)gcc.gnu.org

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.NOMEDIAAndroid No-Media Marker File
7.BINCD/DVD Disc Image (BIN/CUE)
8.RPMSGRestricted Permission Message
9.MDMarkdown Document
10.XDWDocuWorks Document

Relaterade filtillägg

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö