.S

S ファイル

Assembly Language Source File
質問する
クイック回答

.sファイルはアセンブリ言語のソースファイルです。これは、x86-64やARMなどの特定のプロセッサ向けの低レベルなCPU命令を含むプレーンテキストです。任意のテキストエディタで開いて閲覧できます。プログラムとしてビルドするには、LinuxやmacOSでは «gcc file.s -o program» を実行するか、WindowsではMinGWやMASMを使用します。ファイルを開くこと自体は安全ですが、信頼できないコードをアセンブルして実行する場合にのみリスクが生じます。

開発元: N/A (compiler/toolchain convention - GNU, Unix C toolchains) カテゴリ: 開発用ファイル オープンスタンダード MIME: text/x-asm
対応OS Windows macOS Linux
関連: .DO · .MD · .HEX · .XSD

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Aug 4, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

S ファイル形式とは?

.sファイルは、Unix、Linux、macOS、および組み込みツールチェーンで使用されるプレーンテキストのアセンブリ言語ソースファイルです。これには、アセンブラがオブジェクトコードに直接変換する、人間が読める形式のCPU命令(ニーモニック、オペランド、アセンブラディレクティブ、ラベル)が含まれています。

.s拡張子は、1970年代にまで遡るUnixのCコンパイラパイプラインの慣習です。Cソースファイルに対して gcc -S を実行すると、コード生成後にコンパイルが停止し、.sファイルが書き出されます。これにより、アセンブル前にコンパイラの出力を検査したり、手動で調整したりできます。その後、そのファイルは as(GNUアセンブラ)に渡され、リンク可能な.oオブジェクトファイルが生成されます。

小文字の.sと大文字の.Sを区別する、微妙ですが重要な慣習があります。.sファイルは直接アセンブラに送られますが、.Sファイルは最初にCプリプロセッサを通過し、#include、#define、#ifdef などのディレクティブを使用できます。これはカーネルやファームウェアのコードベースが大きく依存している区別です。

構文はツールチェーンによって異なります。GNU as はx86でデフォルトのAT&T構文を使用しますが、MASMやIntelスタイルのNASMなどのWindowsアセンブラはIntel構文を使用します。ターゲットとするISA(x86-64、ARM/AArch64、RISC-V、MIPSなど)に関係なく同じ.sファイルレイアウトが使用されるため、拡張子自体にはアーキテクチャ情報は含まれません。

.sファイルにはマジックバイトはなく、MIMEタイプは text/x-asm です。任意のテキストエディタで開くことができますが、大きなファイルの場合はVS Code、Vim、Emacsなどのアセンブリ構文ハイライトを備えたエディタが推奨されます。密接に関連する.asm拡張子は、多くの非Unixツールチェーンで同じ目的で使用されます。

セキュリティと安全性

リスク: LOW

.sファイルはプレーンテキストであり、それ自体では何もしません。意図的にアセンブルして実行するまでは実行不可能です。リスクは、ビルドすることを選択したあらゆるソースコードと同じです。アセンブリにはCPUが許可するあらゆる操作を行う命令を含めることができるため、信頼できるソースからの .s ファイルのみをアセンブル・実行し、なじみのないアセンブリはビルド前に確認してください。テキストエディタで .s を開いて閲覧することは完全に安全です。

形式の詳細

概要
正式名称Assembly Language Source File別名 Assembly source, Assembler source
開発元N/A (compiler/toolchain convention - GNU, Unix C toolchains)登場時期 1970s (Unix C compiler toolchain convention)
MIME タイプtext/x-asm
タイププレーンテキスト・アセンブリソースコード
標準規格オープン・ロイヤリティフリー
この拡張子は以下でも使用されています…
  • Sプログラミング言語ソース - 統計言語S(R言語の前身)のソースコード。現在は稀ですが、レガシーな統計コードで見られることがあります。
  • Schemeソース (稀) - 稀にScheme/Lispのソースファイルとして使われることがありますが、通常は .scm 拡張子が使用されます。

S ファイルを開くプログラム

Windows3 apps
Notepad オープンソース 直接開くことができます。言語メニューにアセンブリのハイライトがあります。軽量な閲覧・編集に適しています。
Visual Studio Code 無料 .sファイルを開き、構文ハイライトのために «x86/ARM Assembly» 拡張機能をインストールします。プレーンテキストとして編集します。
MASM / MinGW-w64 GCC (to assemble) 無料 ビルドする場合: «gcc file.s -o program.exe» (MinGW) または «ml64» (Visual StudioのMASM) を使用します。
macOS2 apps
Visual Studio Code 無料 .sファイルを開き、構文ハイライトのために «x86/ARM Assembly» 拡張機能をインストールします。プレーンテキストとして編集します。
Xcode command-line tools (clang/as) 無料 «xcode-select --install» でインストールし、ターミナルからclang/asを使用してアセンブルします。
Linux3 apps
GNU as (binutils) + GCC オープンソース «as file.s -o file.o» でアセンブルするか、 «gcc file.s -o program» で直接ビルドします。標準的なツールチェーンです。
GNU Emacs / Vim オープンソース Emacsのasm-mode、またはVimの構文ハイライトを使用して読み書きします。
gedit / any text editor オープンソース 素早い閲覧のためにプレーンテキストとして開きます。geditは一般的なアセンブリ構文をハイライトします。

技術的詳細

詳細仕様
ファイルタイププレーンテキスト・アセンブリ言語ソース
MIMEタイプtext/x-asm (text/x-assembly, text/plain も許容)
エンコーディングASCII / UTF-8
ファイルシグネチャ (マジックバイト)なし - 固定ヘッダーのないプレーンテキスト。通常、コメント (#, ;)、ラベル (: で終わる)、または .text や .global などのディレクティブで始まります
行構造オプションのラベル、アセンブラディレクティブまたはオペランド付きのCPUニーモニック、インラインコメント - 1行につき1つの論理操作
大文字・小文字の慣習小文字の .s は直接アセンブルされます。大文字の .S は最初にCプリプロセッサを通過します (#include, #define, #ifdef をサポート)
コンパイラ出力gcc -S または clang -S は、C/C++ソースから .s ファイルを出力し、コード生成後かつアセンブル前にビルドパイプラインを停止します
サポートされるISAx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR など - 拡張子はISAに依存しません
構文バリアントAT&T構文 (x86におけるGNU asのデフォルト), Intel構文 (MASM, NASM), ARM Unified Assembly Language (UAL)
一般的なアセンブラディレクティブ.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
ツールチェーンGNU Binutils (as), LLVM/Clang 統合アセンブラ, Microsoft MASM, NASM, yasm, armasm
ビルドパイプラインでの役割コンパイラのコード生成とオブジェクトファイル作成の間の中間テキスト段階。as または同等のツールでアセンブルされ、 .o ファイルを生成します
プリプロセッサのサポート.S バリアント(大文字)はアセンブル前に cpp を通過し、アセンブリソース内での条件付きコンパイルやマクロ展開を可能にします
典型的なファイルサイズ1 KB - 500 KB
関連環境Linux, Unix, macOS, Windows, 組み込み/ベアメタル (マイコン, カーネルスタートアップコード, ブートローダー)
リリース日1970s (Unix C compiler toolchain convention)
最新バージョンN/A (no versioned spec; depends on target CPU ISA and assembler)
オープンスタンダードはい · ロイヤリティフリー
仕様書sourceware.org

S の変換

コミュニティ Q&A

ユーザーからの質問
質問する
S ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。S ファイルについて最初の質問をしてみましょう。

よくある質問

.sファイルとは何ですか?
アセンブリ言語のソースファイルです。特定のプロセッサ(x86、ARM、RISC-Vなど)向けのプレーンテキストの低レベルCPU命令です。Cコンパイラがマシンコードを生成する前に出力するものであり、手書きのアセンブリもこの形式で保存されます。
.sファイルを開くにはどうすればよいですか?
VS Code、Notepad++、Vim、Emacsなどの任意のテキストエディタやIDEで開けます。実際にビルドするには、GNU asや «gcc file.s -o program» などのアセンブラ/ツールチェーンを使用します。
.sと.Sの違いは何ですか?
小文字の.sはアセンブラが直接読み取る純粋なアセンブリです。大文字の.Sは、最初にCプリプロセッサを実行するアセンブリで、#include、#define、#ifdef(OSやカーネルコードで一般的)を使用できます。Unix/Linuxではこの大文字・小文字の区別が重要です。
.sファイルをコンパイルするにはどうすればよいですか?
Linux/macOSの場合: «gcc file.s -o program»(アセンブル + リンク)または «as file.s -o file.o»(アセンブルのみ)。Windowsの場合:MinGWのgccまたはMASMのml64を使用します。ファイルのCPUと構文に一致するアセンブラが必要です。
アセンブリ(.s)をC言語に戻すことはできますか?
忠実に復元することは不可能です。アセンブリにはC言語が必要とする高レベルな構造が欠落しているため、真の意味での.sからCへの変換ツールは存在しません。Ghidraのようなデコンパイラは、コンパイル済みのバイナリから近似的なCコードを生成しますが、元のソースと同等のものは生成できません。
.sは.asmと同じですか?
どちらもアセンブリソースです。.sはUnix/GNUの慣習(多くの場合、GNU asによるAT&T構文)であり、.asmはWindows/DOS(NASM、MASM、多くの場合Intel構文)でより一般的です。拡張子ではなく、CPUとアセンブラが方言を決定します。

参考文献

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

さらに探索

データベース全体から

今週のトップ拡張子

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

関連する拡張子

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

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧