.S

S-bestand

Assembly Language Source File
Stel een vraag
SNEL ANTWOORD

Een .s-bestand is een assembly-bronbestand - platte tekst met low-level CPU-instructies voor een specifieke processor zoals x86-64 of ARM. Elke teksteditor kan dit openen voor weergave. Om er een programma van te maken, voert u „gcc file.s -o program” uit op Linux of macOS, of gebruikt u MinGW of MASM op Windows. Het bestand is veilig om te openen; het risico begint pas als u niet-vertrouwde code assembleert en uitvoert.

Ontwikkelaar: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Categorie: Ontwikkelaarsbestanden Open standaard MIME: text/x-asm
OPENT OP Windows macOS Linux
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Aug 4, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het S-bestandsformaat?

Een .s-bestand is een assembly-bronbestand in platte tekst dat wordt gebruikt in Unix, Linux, macOS en embedded toolchains. Het bevat voor mensen leesbare CPU-instructies - mnemonics, operanden, assembler-directives en labels - die een assembler rechtstreeks vertaalt naar objectcode.

De extensie .s is een conventie in de Unix C-compiler-pijplijn die dateert uit de jaren 70. Het uitvoeren van gcc -S op een C-bronbestand stopt de compilatie na het genereren van de code en schrijft een .s-bestand, zodat u de uitvoer van de compiler kunt inspecteren of handmatig kunt aanpassen voordat u deze assembleert. Dat bestand wordt vervolgens doorgegeven aan as (de GNU-assembler) om een .o-objectbestand te produceren dat klaar is voor koppeling.

Een subtiele maar belangrijke conventie scheidt de kleine letter .s van de hoofdletter .S: .s-bestanden gaan rechtstreeks naar de assembler, terwijl .S-bestanden eerst door de C-preprocessor gaan, wat #include, #define en #ifdef directives mogelijk maakt - een onderscheid waar kernel- en firmware-codebases zwaar op leunen.

De syntaxis varieert per toolchain. GNU as gebruikt standaard de AT&T-syntaxis op x86; Windows-assemblers zoals MASM en NASM in Intel-stijl gebruiken de Intel-syntaxis. Dezelfde .s-bestandsindeling wordt gebruikt ongeacht de doel-ISA - x86-64, ARM/AArch64, RISC-V, MIPS en andere - dus de extensie zelf geeft geen informatie over de architectuur.

.s-bestanden bevatten geen magic bytes en hebben het MIME-type text/x-asm. Elke teksteditor kan ze openen; editors met syntaxis-accentuering voor assembly, zoals VS Code, Vim en Emacs, hebben de voorkeur voor grotere bestanden. De nauw verwante .asm-extensie dient hetzelfde doel op veel niet-Unix toolchains.

Beveiliging & veiligheid

RISICO: LOW

Een .s-bestand is platte tekst en doet uit zichzelf niets - het kan niet worden uitgevoerd totdat u het bewust assembleert en uitvoert. Het risico is hetzelfde als bij elke broncode die u besluit te bouwen: assembly kan instructies bevatten die alles doen wat de CPU toestaat, dus assembleer en voer alleen .s-bestanden uit van bronnen die u vertrouwt, en lees onbekende assembly voordat u deze bouwt. Het openen van een .s in een teksteditor om het te bekijken is volledig veilig.

Formaatdetails

in een notendop
VOLLEDIGE NAAMAssembly Language Source Fileook bekend als Assembly source, Assembler source
ONTWIKKELAARN/A (compiler/toolchain convention - GNU, Unix C toolchains)sinds 1970s (Unix C compiler toolchain convention)
MIME-TYPEtext/x-asm
TYPEAssembly-broncode in platte tekst
STANDAARDOpen · royaltyvrij
GERELATEERD.do.md.hex.xsd
Deze extensie wordt ook gebruikt door…
  • S-programmeertaal bronbestand - Broncode voor de statistische taal S (voorganger van R); tegenwoordig zeldzaam, nog steeds te zien in legacy statistiekcode.
  • Scheme-bronbestand (ongebruikelijk) - Af en toe een Scheme/Lisp-bronbestand, hoewel .scm de gebruikelijke extensie is.

Programma's die S-bestanden openen

Windows3 apps
Notepad Open-source Direct openen; het menu Taal heeft Assembly-accentuering. Lichtgewicht bekijken/bewerken.
Visual Studio Code Gratis Open het .s-bestand; installeer een „x86/ARM Assembly”-extensie voor syntaxis-accentuering. Bewerken als platte tekst.
MASM / MinGW-w64 GCC (to assemble) Gratis Om het te bouwen: „gcc file.s -o program.exe” (MinGW) of „ml64” (Visual Studio's MASM).
macOS2 apps
Visual Studio Code Gratis Open het .s-bestand; installeer een „x86/ARM Assembly”-extensie voor syntaxis-accentuering. Bewerken als platte tekst.
Xcode command-line tools (clang/as) Gratis Installeer met „xcode-select --install” en assembleer vervolgens met clang/as vanuit de Terminal.
Linux3 apps
GNU as (binutils) + GCC Open-source Assembleer met „as file.s -o file.o” of bouw direct met „gcc file.s -o program”. De referentie-toolchain.
GNU Emacs / Vim Open-source Open in asm-mode (Emacs) of met syntaxis-accentuering (Vim) om te lezen en te bewerken.
gedit / any text editor Open-source Openen als platte tekst voor snelle weergave; gedit accentueert veelvoorkomende assembly-syntaxis.

Technische details

diepe specificaties
BestandstypeAssembly-bronbestand in platte tekst
MIME-typetext/x-asm (ook geaccepteerd: text/x-assembly, text/plain)
CoderingASCII / UTF-8
Bestandshandtekening (magic bytes)Geen - platte tekst zonder vaste header; begint meestal met een commentaar (#, ;), een label (eindigend op :) of een directive zoals .text of .global
RegelstructuurOptioneel label, assembler-directive of CPU-mnemonic met operanden, inline commentaar - één logische bewerking per regel
HoofdletterconventieKleine letter .s wordt direct geassembleerd; hoofdletter .S wordt eerst door de C-preprocessor gehaald (ondersteunt #include, #define, #ifdef)
Compiler-emissiegcc -S of clang -S stoot een .s-bestand uit van C/C++-broncode, waarbij de build-pijplijn wordt gestopt na het genereren van de code en vóór de assemblage
Ondersteunde ISA'sx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR en andere - de extensie is ISA-neutraal
SyntaxisvariantenAT&T-syntaxis (standaard bij GNU as op x86), Intel-syntaxis (MASM, NASM), ARM Unified Assembly Language (UAL)
Veelvoorkomende assembler-directives.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
ToolchainsGNU Binutils (as), LLVM/Clang geïntegreerde assembler, Microsoft MASM, NASM, yasm, armasm
Rol in build-pijplijnTussenstadium in tekstvorm tussen het genereren van compiler-code en het maken van objectbestanden; geassembleerd door as of equivalent om een .o-bestand te produceren
Preprocessing-ondersteuningDe .S-variant (hoofdletter) wordt vóór de assemblage door cpp gehaald, wat voorwaardelijke compilatie en macro-expansie in de asm-broncode mogelijk maakt
Typische bestandsgrootte1 KB - 500 KB
Bijbehorende omgevingenLinux, Unix, macOS, Windows, embedded/bare-metal (microcontrollers, kernel-opstartcode, bootloaders)
Uitgebracht1970s (Unix C compiler toolchain convention)
Laatste versieN/A (no versioned spec; depends on target CPU ISA and assembler)
Open standaardJa · royaltyvrij
Specificatiesourceware.org

S conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met S-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over S-bestanden.

Veelgestelde vragen

Wat is een .s-bestand?
Het is een assembly-bronbestand - platte tekst met low-level CPU-instructies voor een specifieke processor (x86, ARM, RISC-V, enz.). Het is wat een C-compiler uitstoot voordat het machinecode produceert, en waarin handgeschreven assembly wordt opgeslagen.
Hoe open ik een .s-bestand?
Open het in elke teksteditor of IDE - VS Code, Notepad++, vim, Emacs. Om het daadwerkelijk te bouwen, gebruikt u een assembler/toolchain zoals GNU as of „gcc file.s -o program”.
Wat is het verschil tussen .s en .S?
Kleine letter .s is pure assembly die de assembler rechtstreeks leest. Hoofdletter .S is assembly die eerst door de C-preprocessor wordt gehaald, zodat deze #include, #define en #ifdef kan gebruiken (gebruikelijk in OS/kernel-code). Het hoofdlettergebruik is van belang op Unix/Linux.
Hoe compileer ik een .s-bestand?
Op Linux/macOS: „gcc file.s -o program” (assembleren + linken) of „as file.s -o file.o” (alleen assembleren). Gebruik op Windows de gcc van MinGW of ml64 van MASM. U hebt de assembler nodig die past bij de CPU en syntaxis van het bestand.
Kan ik assembly (.s) terug converteren naar C?
Niet getrouw. Assembly verliest de high-level structuur die C nodig heeft, dus er is geen echte .s-naar-C-converter. Decompilers zoals Ghidra produceren bij benadering C uit gecompileerde binaire bestanden, niet uit de broncode.
Is .s hetzelfde als .asm?
Het zijn beide assembly-bronbestanden. .s is de Unix/GNU-conventie (vaak AT&T-syntaxis via GNU as); .asm komt vaker voor op Windows/DOS (NASM, MASM, vaak Intel-syntaxis). De CPU en assembler bepalen het dialect, niet de extensie.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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

Gerelateerde extensies

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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z