.S

Arquivo S

Assembly Language Source File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo .s é um arquivo de código-fonte em linguagem assembly - texto simples contendo instruções de CPU de baixo nível para um processador específico, como x86-64 ou ARM. Qualquer editor de texto o abre para visualização. Para transformá-lo em um programa, execute «gcc arquivo.s -o programa» no Linux ou macOS, ou use MinGW ou MASM no Windows. O arquivo é seguro para abrir; o risco só começa se você montar e executar código não confiável.

Desenvolvedor: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Categoria: Arquivos de Desenvolvedor Padrão aberto MIME: text/x-asm
ABRE EM Windows macOS Linux
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Aug 4, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro S?

Um arquivo .s é um arquivo de código-fonte em linguagem assembly de texto simples usado em Unix, Linux, macOS e toolchains embarcados. Ele contém instruções de CPU legíveis por humanos - mnemônicos, operandos, diretivas de montador e rótulos - que um montador (assembler) traduz diretamente em código de objeto.

A extensão .s é uma convenção de pipeline do compilador C do Unix que remonta à década de 1970. Executar gcc -S em um arquivo-fonte C interrompe a compilação após a geração do código e grava um arquivo .s, permitindo que você inspecione ou ajuste manualmente a saída do compilador antes da montagem. Esse arquivo é então passado para o as (o GNU assembler) para produzir um arquivo de objeto .o pronto para vinculação (linking).

Uma convenção sutil, mas importante, separa o .s minúsculo do .S maiúsculo: arquivos .s vão diretamente para o montador, enquanto arquivos .S passam primeiro pelo pré-processador C, permitindo diretivas como #include, #define e #ifdef - uma distinção da qual as bases de código de kernel e firmware dependem fortemente.

A sintaxe varia de acordo com o toolchain. O GNU as usa como padrão a sintaxe AT&T no x86; montadores Windows, como MASM e o NASM de estilo Intel, usam a sintaxe Intel. O mesmo layout de arquivo .s é usado independentemente do ISA de destino - x86-64, ARM/AArch64, RISC-V, MIPS e outros - portanto, a extensão em si não transmite informações de arquitetura.

Arquivos .s não possuem magic bytes e têm o tipo MIME text/x-asm. Qualquer editor de texto os abre; editores com realce de sintaxe de assembly, como VS Code, Vim e Emacs, são preferidos para arquivos maiores. A extensão .asm, intimamente relacionada, serve ao mesmo propósito em muitos toolchains não-Unix.

Segurança e proteção

RISCO: LOW

Um arquivo .s é texto simples e não faz nada por si só - ele não pode ser executado até que você deliberadamente o monte e o execute. O risco é o mesmo de qualquer código-fonte que você decida compilar: o assembly pode conter instruções que fazem qualquer coisa que a CPU permita, portanto, monte e execute apenas arquivos .s de fontes em que você confia e leia o assembly desconhecido antes de compilá-lo. Abrir um .s em um editor de texto para visualizá-lo é completamente seguro.

Detalhes do formato

em resumo
NOME COMPLETOAssembly Language Source Filetambém conhecido como Assembly source, Assembler source
DESENVOLVEDORN/A (compiler/toolchain convention - GNU, Unix C toolchains)desde 1970s (Unix C compiler toolchain convention)
TIPO MIMEtext/x-asm
TIPOCódigo-fonte assembly em texto simples
PADRÃOAberto · livre de royalties
RELACIONADO.do.md.hex.xsd
Esta extensão também é usada por…
  • Código-fonte da linguagem de programação S - Código-fonte para a linguagem estatística S (predecessora do R); raro hoje em dia, ainda visto em códigos estatísticos legados.
  • Fonte Scheme (incomum) - Ocasionalmente um arquivo de origem Scheme/Lisp, embora .scm seja a extensão usual.

Programas que abrem arquivos S

Windows3 apps
Notepad Código aberto Abra diretamente; o menu Linguagem possui realce para Assembly. Visualização e edição leve.
Visual Studio Code Gratuito Abra o arquivo .s; instale uma extensão «x86/ARM Assembly» para realce de sintaxe. Edite como texto simples.
MASM / MinGW-w64 GCC (to assemble) Gratuito Para compilar: «gcc arquivo.s -o programa.exe» (MinGW) ou «ml64» (MASM do Visual Studio).
macOS2 apps
Visual Studio Code Gratuito Abra o arquivo .s; instale uma extensão «x86/ARM Assembly» para realce de sintaxe. Edite como texto simples.
Xcode command-line tools (clang/as) Gratuito Instale com «xcode-select --install» e, em seguida, monte usando clang/as pelo Terminal.
Linux3 apps
GNU as (binutils) + GCC Código aberto Monte com «as arquivo.s -o arquivo.o» ou compile diretamente com «gcc arquivo.s -o programa». O toolchain de referência.
GNU Emacs / Vim Código aberto Abra no modo asm-mode (Emacs) ou com realce de sintaxe (Vim) para ler e editar.
gedit / any text editor Código aberto Abra como texto simples para visualização rápida; o gedit realça sintaxes comuns de assembly.

Detalhes técnicos

especificação profunda
Tipo de arquivoCódigo-fonte em linguagem assembly de texto simples
Tipo MIMEtext/x-asm (também aceito: text/x-assembly, text/plain)
CodificaçãoASCII / UTF-8
Assinatura do arquivo (magic bytes)Nenhuma - texto simples sem cabeçalho fixo; normalmente começa com um comentário (#, ;), um rótulo (terminando em :) ou uma diretiva como .text ou .global
Estrutura de linhaRótulo opcional, diretiva de montador ou mnemônico de CPU com operandos, comentário inline - uma operação lógica por linha
Convenção de caixaO .s minúsculo é montado diretamente; o .S maiúsculo é executado primeiro pelo pré-processador C (suporta #include, #define, #ifdef)
Emissão do compiladorgcc -S ou clang -S emite um arquivo .s a partir do código-fonte C/C++, interrompendo o pipeline de construção após a geração do código e antes da montagem
ISAs suportadosx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR e outros - a extensão é neutra em relação ao ISA
Variantes de sintaxeSintaxe AT&T (padrão GNU as no x86), sintaxe Intel (MASM, NASM), ARM Unified Assembly Language (UAL)
Diretivas comuns de montador.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
ToolchainsGNU Binutils (as), montador integrado LLVM/Clang, Microsoft MASM, NASM, yasm, armasm
Papel no pipeline de construçãoEstágio de texto intermediário entre a geração de código do compilador e a criação do arquivo de objeto; montado pelo as ou equivalente para produzir um arquivo .o
Suporte a pré-processamentoA variante .S (maiúscula) é passada pelo cpp antes da montagem, permitindo compilação condicional e expansão de macros dentro do código asm
Tamanho típico do arquivo1 KB - 500 KB
Ambientes associadosLinux, Unix, macOS, Windows, embarcados/bare-metal (microcontroladores, código de inicialização de kernel, bootloaders)
Lançado1970s (Unix C compiler toolchain convention)
Versão mais recenteN/A (no versioned spec; depends on target CPU ISA and assembler)
Padrão abertoSim · livre de royalties
Especificaçãosourceware.org

Conversões de S

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos S. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos S.

Perguntas frequentes

O que é um arquivo .s?
É um arquivo de código-fonte em linguagem assembly - instruções de CPU de baixo nível em texto simples para um processador específico (x86, ARM, RISC-V, etc.). É o que um compilador C emite antes de produzir código de máquina, e como o assembly escrito à mão é salvo.
Como abro um arquivo .s?
Abra-o em qualquer editor de texto ou IDE - VS Code, Notepad++, vim, Emacs. Para realmente compilá-lo, use um montador/toolchain como GNU as ou «gcc arquivo.s -o programa».
Qual a diferença entre .s e .S?
O .s minúsculo é assembly puro que o montador lê diretamente. O .S maiúsculo é assembly que passa primeiro pelo pré-processador C, podendo usar #include, #define e #ifdef (comum em códigos de kernel/SO). A capitalização importa no Unix/Linux.
Como compilo um arquivo .s?
No Linux/macOS: «gcc arquivo.s -o programa» (montar + vincular) ou «as arquivo.s -o arquivo.o» (apenas montar). No Windows, use o gcc do MinGW ou o ml64 do MASM. Você precisa do montador correspondente à CPU e sintaxe do arquivo.
Posso converter assembly (.s) de volta para C?
Não fielmente. O assembly descarta a estrutura de alto nível que o C exige, portanto não existe um conversor real de .s para C. Descompiladores como o Ghidra produzem um C aproximado a partir de binários compilados, não um código-fonte equivalente.
O .s é o mesmo que .asm?
Ambos são fontes de assembly. .s é a convenção Unix/GNU (frequentemente sintaxe AT&T via GNU as); .asm é mais comum no Windows/DOS (NASM, MASM, frequentemente sintaxe Intel). A CPU e o montador determinam o dialeto, não a extensão.

Referências

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

Continue explorando

em todo o banco de dados

Principais extensões desta semana

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

Extensões relacionadas

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

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z