flat assembler
詳細情報
| タイトル | flat assembler |
|---|---|
| URL | http://flatassembler.net/ |
| バージョン | ver 1.73.35 |
| 更新日 | 2026/02/24 |
| 追加日 | 2013/08/17 |
| 種別 | フリーソフト |
| 説明 | オープンソースの assembler。x86 / x86-64 対応。 |
レビュー
概要
flat assembler(fasm)は、Tomasz Grysztar 氏が1999年から開発を続けているオープンソースの x86/x86-64 向けアセンブリ言語コンパイラです。名前がすべて小文字なのはその歴史へのオマージュとされています。セルフホスティング(fasm 自体が fasm で書かれている)の設計が特徴で、Windows・Linux・DOS・Unix/libc など多様なプラットフォームで動作します。高速な動作と強力なマクロシステムを備え、初心者からOS開発者・低レイヤープログラマーまで幅広く利用されています。2026年2月に最新版 1.73.35 がリリースされています。
主要な特徴・機能
- x86/x86-64 完全対応 – MMX・3DNow!・SSE〜SSE4・AVX・AVX2・XOP・AVX-512 を含む最新の命令セット拡張をサポート
- 高速コンパイル – 複数パスによる命令コードサイズの最適化を行いながら、軽量で高速に動作
- 強力なマクロシステム – シンプルかつ強力なマクロ命令体系を持ち、公式・非公式で豊富なマクロライブラリが開発されている
- 多彩な出力フォーマット – plain binary・MZ(DOS)・PE(Windows)・COFF・ELF など多様な実行ファイル形式に対応
- セルフホスティング – fasm 自身が fasm で書かれており、完全なソースコードが付属
- マルチプラットフォーム – Windows・Linux・DOS・Unix/libc 上で動作
- 豊富なドキュメントとサンプル – 初心者向けチュートリアルから上級者向けのサンプルプロジェクトまで充実したリソースを提供
対象ユーザー
- アセンブリ言語を学び始めた初心者から上級のシステムプログラマーまで
- OS やブートローダーなどの低レイヤーソフトウェアを開発するエンジニア
- 高速・軽量なコードが必要なデモシーン(demoscene)やゲーム開発者
- マクロを活用して独自のドメイン固有言語(DSL)を構築したい開発者
ライセンス情報
Simplified BSD ライセンス(2条項 BSD ライセンス)のもとで公開。ソースコードは完全に公開されており、商用・非商用を問わず自由に利用・改変・再配布が可能。
スクリーンショット
スクリーンショットはありません。
更新グラフ
バージョン履歴
flat assembler 1.73.35 for Windows
last update: 24 Feb 2026 12:13:17 UTC
flat assembler 1.73.35 for Linux
last update: 24 Feb 2026 12:13:26 UTC
flat assembler 1.73.35 for DOS
last update: 24 Feb 2026 12:13:17 UTC
flat assembler 1.73.35 for Unix/libc
last update: 24 Feb 2026 12:13:27 UTC
size: 568 kilobytes
last update: 12 Feb 2026 13:38:37 UTC
flat assembler g l2fx
last update: 24 Jan 2026 22:45:18 UTC
Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.
last update: 24 Feb 2026 12:13:17 UTC
flat assembler 1.73.35 for Linux
last update: 24 Feb 2026 12:13:26 UTC
flat assembler 1.73.35 for DOS
last update: 24 Feb 2026 12:13:17 UTC
flat assembler 1.73.35 for Unix/libc
last update: 24 Feb 2026 12:13:27 UTC
size: 568 kilobytes
last update: 12 Feb 2026 13:38:37 UTC
flat assembler g l2fx
last update: 24 Jan 2026 22:45:18 UTC
Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.
flat assembler 1.73.34 for Windows
size: 1038 kilobytes
last update: 25 Nov 2025 14:42:10 UTC
flat assembler 1.73.34 for Linux
last update: 25 Nov 2025 14:42:45 UTC
flat assembler 1.73.34 for DOS
size: 450 kilobytes
last update: 25 Nov 2025 14:42:09 UTC
flat assembler 1.73.34 for Unix/libc
last update: 25 Nov 2025 14:42:45 UTC
size: 567 kilobytes
last update: 25 Nov 2025 14:18:03 UTC
size: 1038 kilobytes
last update: 25 Nov 2025 14:42:10 UTC
flat assembler 1.73.34 for Linux
last update: 25 Nov 2025 14:42:45 UTC
flat assembler 1.73.34 for DOS
size: 450 kilobytes
last update: 25 Nov 2025 14:42:09 UTC
flat assembler 1.73.34 for Unix/libc
last update: 25 Nov 2025 14:42:45 UTC
size: 567 kilobytes
last update: 25 Nov 2025 14:18:03 UTC
The flat assembler is self-hosting and complete source code is included.
The only difference between flat assembler versions included in the following packages is the operating system on which they can be run.
For any given source text each version is going to generate exactly the same output file, therefore every one of the following releases can be used to compile programs for any operating system.
flat assembler 1.73.33 for Windows
last update: 23 Nov 2025 14:18:04 UTC
flat assembler 1.73.33 for Linux
size: 345 kilobytes
last update: 23 Nov 2025 14:18:33 UTC
flat assembler 1.73.33 for DOS
size: 449 kilobytes
last update: 23 Nov 2025 14:18:04 UTC
flat assembler 1.73.33 for Unix/libc
size: 277 kilobytes
last update: 23 Nov 2025 14:18:33 UTC
flat assembler 2 is now available as a set of scripts and headers based on flat assembler g. Except for the macroinstruction syntax, it is largely compatible with flat assembler 1, while adding several new features.
See the dedicated thread for more information.
flat assembler 2
size: 566 kilobytes
last update: 23 Nov 2025 19:55:29 UTC
(省略されました)
The only difference between flat assembler versions included in the following packages is the operating system on which they can be run.
For any given source text each version is going to generate exactly the same output file, therefore every one of the following releases can be used to compile programs for any operating system.
flat assembler 1.73.33 for Windows
last update: 23 Nov 2025 14:18:04 UTC
flat assembler 1.73.33 for Linux
size: 345 kilobytes
last update: 23 Nov 2025 14:18:33 UTC
flat assembler 1.73.33 for DOS
size: 449 kilobytes
last update: 23 Nov 2025 14:18:04 UTC
flat assembler 1.73.33 for Unix/libc
size: 277 kilobytes
last update: 23 Nov 2025 14:18:33 UTC
flat assembler 2 is now available as a set of scripts and headers based on flat assembler g. Except for the macroinstruction syntax, it is largely compatible with flat assembler 1, while adding several new features.
See the dedicated thread for more information.
flat assembler 2
size: 566 kilobytes
last update: 23 Nov 2025 19:55:29 UTC
(省略されました)
flat assembler 1.73.32 for Windows
last update: 04 Dec 2023 16:22:58 UTC
flat assembler 1.73.32 for Linux
size: 342 kilobytes
last update: 04 Dec 2023 16:27:25 UTC
flat assembler 1.73.32 for DOS
last update: 04 Dec 2023 16:22:56 UTC
flat assembler 1.73.32 for Unix/libc
last update: 04 Dec 2023 16:27:26 UTC
flat assembler g k4v8
last update: 02 Aug 2023 10:36:32 UTC
last update: 04 Dec 2023 16:22:58 UTC
flat assembler 1.73.32 for Linux
size: 342 kilobytes
last update: 04 Dec 2023 16:27:25 UTC
flat assembler 1.73.32 for DOS
last update: 04 Dec 2023 16:22:56 UTC
flat assembler 1.73.32 for Unix/libc
last update: 04 Dec 2023 16:27:26 UTC
flat assembler g k4v8
last update: 02 Aug 2023 10:36:32 UTC
flat assembler 1.73.31 for Windows
last update: 12 Jul 2023 9:57:57 UTC
flat assembler 1.73.31 for Linux
size: 343 kilobytes
last update: 12 Jul 2023 10:01:08 UTC
flat assembler 1.73.31 for DOS
last update: 12 Jul 2023 9:57:56 UTC
flat assembler 1.73.31 for Unix/libc
last update: 12 Jul 2023 10:01:09 UTC
flat assembler g k328
size: 526 kilobytes
last update: 22 Jun 2023 13:11:06 UTC
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
last update: 12 Jul 2023 9:57:57 UTC
flat assembler 1.73.31 for Linux
size: 343 kilobytes
last update: 12 Jul 2023 10:01:08 UTC
flat assembler 1.73.31 for DOS
last update: 12 Jul 2023 9:57:56 UTC
flat assembler 1.73.31 for Unix/libc
last update: 12 Jul 2023 10:01:09 UTC
flat assembler g k328
size: 526 kilobytes
last update: 22 Jun 2023 13:11:06 UTC
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
flat assembler 1.73.30 for Windows
last update: 21 Feb 2022 9:32:49 UTC
flat assembler 1.73.30 for Linux
last update: 21 Feb 2022 9:32:52 UTC
flat assembler 1.73.30 for DOS
last update: 21 Feb 2022 9:32:48 UTC
flat assembler 1.73.30 for Unix/libc
last update: 21 Feb 2022 9:32:53 UTC
flat assembler g jje9
size: 516 kilobytes
last update: 08 Jan 2022 13:57:03 UTC
last update: 21 Feb 2022 9:32:49 UTC
flat assembler 1.73.30 for Linux
last update: 21 Feb 2022 9:32:52 UTC
flat assembler 1.73.30 for DOS
last update: 21 Feb 2022 9:32:48 UTC
flat assembler 1.73.30 for Unix/libc
last update: 21 Feb 2022 9:32:53 UTC
flat assembler g jje9
size: 516 kilobytes
last update: 08 Jan 2022 13:57:03 UTC
flat assembler 1.73.29 for Windows
last update: 18 Dec 2021 14:48:24 UTC
flat assembler 1.73.29 for Linux
last update: 18 Dec 2021 14:50:07 UTC
flat assembler 1.73.29 for DOS
last update: 18 Dec 2021 14:48:23 UTC
flat assembler 1.73.29 for Unix/libc
last update: 18 Dec 2021 14:50:08 UTC
flat assembler g jix2
size: 519 kilobytes
last update: 17 Dec 2021 19:22:29 UTC
last update: 18 Dec 2021 14:48:24 UTC
flat assembler 1.73.29 for Linux
last update: 18 Dec 2021 14:50:07 UTC
flat assembler 1.73.29 for DOS
last update: 18 Dec 2021 14:48:23 UTC
flat assembler 1.73.29 for Unix/libc
last update: 18 Dec 2021 14:50:08 UTC
flat assembler g jix2
size: 519 kilobytes
last update: 17 Dec 2021 19:22:29 UTC
flat assembler 1.73.28 for Windows
size: 1037 kilobytes
last update: 16 Sep 2021 16:50:42 UTC
flat assembler 1.73.28 for Linux
size: 342 kilobytes
last update: 16 Sep 2021 16:24:40 UTC
flat assembler 1.73.28 for DOS
size: 448 kilobytes
last update: 16 Sep 2021 16:24:25 UTC
flat assembler 1.73.28 for Unix/libc
size: 275 kilobytes
last update: 16 Sep 2021 16:24:41 UTC
flat assembler g jdp2
size: 516 kilobytes
last update: 29 Jul 2021 19:02:58 UTC
size: 1037 kilobytes
last update: 16 Sep 2021 16:50:42 UTC
flat assembler 1.73.28 for Linux
size: 342 kilobytes
last update: 16 Sep 2021 16:24:40 UTC
flat assembler 1.73.28 for DOS
size: 448 kilobytes
last update: 16 Sep 2021 16:24:25 UTC
flat assembler 1.73.28 for Unix/libc
size: 275 kilobytes
last update: 16 Sep 2021 16:24:41 UTC
flat assembler g jdp2
size: 516 kilobytes
last update: 29 Jul 2021 19:02:58 UTC
flat assembler 1.73.27 for Windows
last update: 27 Jan 2021 10:07:29 UTC
flat assembler 1.73.27 for Linux
size: 343 kilobytes
last update: 27 Jan 2021 10:08:11 UTC
flat assembler 1.73.27 for DOS
last update: 27 Jan 2021 10:07:28 UTC
flat assembler 1.73.27 for Unix/libc
last update: 27 Jan 2021 10:08:11 UTC
last update: 27 Jan 2021 10:07:29 UTC
flat assembler 1.73.27 for Linux
size: 343 kilobytes
last update: 27 Jan 2021 10:08:11 UTC
flat assembler 1.73.27 for DOS
last update: 27 Jan 2021 10:07:28 UTC
flat assembler 1.73.27 for Unix/libc
last update: 27 Jan 2021 10:08:11 UTC
flat assembler 1.73.26 for Windows
last update: 26 Jan 2021 11:06:21 UTC
flat assembler 1.73.26 for Linux
last update: 26 Jan 2021 11:07:55 UTC
flat assembler 1.73.26 for DOS
last update: 26 Jan 2021 11:06:19 UTC
flat assembler 1.73.26 for Unix/libc
last update: 26 Jan 2021 11:07:55 UTC
flat assembler g j6ia
size: 515 kilobytes
last update: 16 Jan 2021 17:13:48 UTC
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
last update: 26 Jan 2021 11:06:21 UTC
flat assembler 1.73.26 for Linux
last update: 26 Jan 2021 11:07:55 UTC
flat assembler 1.73.26 for DOS
last update: 26 Jan 2021 11:06:19 UTC
flat assembler 1.73.26 for Unix/libc
last update: 26 Jan 2021 11:07:55 UTC
flat assembler g j6ia
size: 515 kilobytes
last update: 16 Jan 2021 17:13:48 UTC
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
The flat assembler (abbreviated to fasm, intentionally stylized with lowercase letters) is a fast assembler running in a variety of operating systems, in continued development since 1999.
It includes a powerful but simple macroinstruction system and does multiple passes to optimize the size of instruction codes.
The only difference between flat assembler versions included in the following packages is the operating system on which they can be executed.
For any given source text each version is going to generate exactly the same output file, so each of the following releases can be used to compile programs for any operating system.
If you would like to make a donation to the author, please click the button beside.
flat assembler 1.73.25 for Windows
size: 1036 kilobytes
last update: 20 Aug 2020 11:51:14 UTC
flat assembler 1.73.25 for Linux
last update: 20 Aug 2020 11:52:03 UTC
flat assembler 1.73.25 for DOS
last update: 20 Aug 2020 11:51:12 UTC
flat assembler 1.73.25 for Unix/libc
last update: 20 Aug 2020 11:52:04 UTC
The flat assembler g (abbreviated to fasmg) is a new assembly engine designed as a successor of the one used by flat assembler 1.
Instead of having a built-in support for x86 instructions, it implements them through additional packages and in the same way it can be adapted to assemble for different architectures and purposes.
flat assembler g izxz
size: 514 kilobytes
last update: 23 Jul 2020 11:32:32 UTC
(省略されました)
It includes a powerful but simple macroinstruction system and does multiple passes to optimize the size of instruction codes.
The only difference between flat assembler versions included in the following packages is the operating system on which they can be executed.
For any given source text each version is going to generate exactly the same output file, so each of the following releases can be used to compile programs for any operating system.
If you would like to make a donation to the author, please click the button beside.
flat assembler 1.73.25 for Windows
size: 1036 kilobytes
last update: 20 Aug 2020 11:51:14 UTC
flat assembler 1.73.25 for Linux
last update: 20 Aug 2020 11:52:03 UTC
flat assembler 1.73.25 for DOS
last update: 20 Aug 2020 11:51:12 UTC
flat assembler 1.73.25 for Unix/libc
last update: 20 Aug 2020 11:52:04 UTC
The flat assembler g (abbreviated to fasmg) is a new assembly engine designed as a successor of the one used by flat assembler 1.
Instead of having a built-in support for x86 instructions, it implements them through additional packages and in the same way it can be adapted to assemble for different architectures and purposes.
flat assembler g izxz
size: 514 kilobytes
last update: 23 Jul 2020 11:32:32 UTC
(省略されました)