アセンブラの比較
これはアセンブラの不完全な比較です。一部のアセンブラは高級プログラミング言語のコンパイラシステムのコンポーネントであり、コンパイラシステム外では使用可能な機能が限られているか、まったく使用できない場合があります。一部のアセンブラはターゲットプロセッサとオペレーティングシステム上でホストされますが、他のアセンブラ(クロスアセンブラ)は関連のないオペレーティングシステムまたはプロセッサ上で実行される場合があります。例えば、組み込みシステム用のアセンブラは、キーボードからプログラムを入力するためのストレージと端末I/Oがないため、通常はターゲットシステム上でホストされません。アセンブラは単一のターゲットプロセッサを持つ場合もあれば、複数のプロセッサタイプをサポートするオプションを持つ場合もあります。
コンパイラスイートの一部として
- GNU アセンブラ(GAS): GPL: ARM アーキテクチャ、Atmel AVR、x86、x86-64、RISC-V、Freescale 68HC11、Freescale v4e、Motorola 680x0、MIPS、PowerPC、IBM System z、TI MSP430、Zilog Z80を含む多数のターゲット命令セット。
- SDAS (ASxxxx クロスアセンブラーのフォークであり、 Small Device C コンパイラープロジェクトの一部): GPL: Intel 8051、Zilog Z80、Freescale 68HC08、PIC マイクロコントローラーを含む複数のターゲット命令セット。
- Amsterdam Compiler Kit (ACK)は、6502、6800、680x0、ARM、x86、Zilog Z80、Z8000など、1980 年代の多くのアーキテクチャを対象としています。
- LLVMは多くのプラットフォームをターゲットとしていますが、その主な焦点はマシン依存のコード生成ではなく、より高水準で型付けされたアセンブリのような中間表現を使用しています。しかしながら、最も一般的なターゲット向けに、LLVM MC(マシンコード)プロジェクトは、コンパイラの統合コンポーネントとして、また外部ツールとしてアセンブラを提供しています。
- Go、Free Pascal、SBCLなど、他のセルフホスト型ネイティブターゲット言語実装には、複数のターゲットに対応する独自のアセンブラが搭載されています。これらのアセンブラは言語内部のインラインアセンブリに使用したり、ライブラリとして組み込んだりできますが、必ずしもフレームワーク外での使用に適しているわけではありません。コマンドラインツールが存在しなかったり、入力として中間表現しか使用できなかったり、サポートされるターゲットが非常に限られていたりするからです。
単一ターゲットアセンブラ
6502人のアセンブラ
| アセンブラ | 開発者 | フォス | ライセンス | 命令セット | ホストプラットフォーム |
|---|---|---|---|---|---|
| Atari アセンブラエディタ | シェパードソンマイクロシステムズ | いいえ | 独自の | MOSテクノロジー6502 | アタリ8ビット |
| Atari マクロアセンブラ | シェパードソンマイクロシステムズ | いいえ | 独自の | MOSテクノロジー6502 | アタリ8ビット |
| エダスム | アップルコンピュータ | いいえ | ? | MOSテクノロジー6502 | アップルDOS 3.x |
| k2asm | アンドレ・ケスマハー、ハウケ・ブランデス、ベルジェ・ジーリング | はい | 芸術的自由 | MOSテクノロジー6502 | Linux、Windows、macOS、その他のUnix |
| リサ | ランドール・ハイド | いいえ | 独自の | MOSテクノロジー6502 | アップルII |
| MAC/65 | 最適化されたシステムソフトウェア | いいえ | 独自の | MOSテクノロジー6502、WDC 65C02 | アタリ8ビット |
| マーリン | グレン・ブレドン | はい | パブリックドメイン | MOSテクノロジー6502、WDC 65C02 | アップルII |
| オルカ/M | バイトワークス | いいえ | 非商用利用は無料、独自仕様 | MOSテクノロジー6502、WDC 65C02、WDC 65C816 | ProDOS 8/16、GS/OS |
| RMAC | ジェームズ・ハモンズ、ジョージ・ナコス、ランドン・ダイアー | はい | 無料 | MOSテクノロジー6502 | Linux、Windows、macOS |
| シンアセンブラ | シナプスソフトウェア | いいえ | 独自の | MOSテクノロジー6502 | アタリ8ビット |
| VASM | フォルカー・バルテルマン、フランク・ヴィレ | いいえ | 無料 | MOSテクノロジー6502 | 様々な |
| xa65 | キャメロン・カイザー、アンドレ・ファシャット | はい | GPL | MOSテクノロジー6502、WDC 65C02、WDC 65C816 | Linux、各種 |
| ザスム | ピオトル・フシク | はい | 無料 | MOSテクノロジー6502 | Linux、Windows、macOS |
680x0アセンブラ
| アセンブラ | 開発者 | フォス | ライセンス | 命令セット | ホストプラットフォーム | 開発中 |
|---|---|---|---|---|---|---|
| ASM-One マクロアセンブラ | ルーン・グラム・マドセン | いいえ | 無料 | モトローラ 680x0 | コモドール・アミーガ | いいえ |
| ガス | GNUプロジェクト | はい | 無料 | モトローラ 680x0 | 様々な | はい |
| VASM | フォルカー・バルテルマン、フランク・ヴィレ | いいえ | 独自の | モトローラ 680x0 | 様々な | はい |
| RMAC | ジェームズ・ハモンズ、ジョージ・ナコス、ランドン・ダイアー | はい | 無料 | モトローラ 680x0、MOS テクノロジー 6502 | Linux、Windows、macOS | はい |
ARMアセンブラ
| アセンブラ | 開発者 | フォス | ライセンス | ホストプラットフォーム | ARM64 |
|---|---|---|---|---|---|
| ガス | GNUプロジェクト | はい | GNU GPL | 様々な | はい |
| TCCASM | ファブリス・ベラール | はい | GNU LGPL | Unixライク、Windows | はい |
| VASM | フォルカー・バルテルマン、フランク・ヴィレ | いいえ | 無料 | 様々な | いいえ |
| ファスマーム | 革命、トマシュ・グリシュタル | はい | 弱いコピーレフトを持つ簡易BSD | Windows、DOS、Linux、Unix系 | いいえ |
| アームプス | キングコム | はい | マサチューセッツ工科大学 | 様々な | いいえ |
RISC-Vアセンブラ
| アセンブラ | 開発者 | フォス | ライセンス | ホストプラットフォーム | RISC-V |
|---|---|---|---|---|---|
| ガス | GNUプロジェクト | はい | GNU GPL | 様々な | はい |
| TCCASM | ファブリス・ベラール | はい | GNU LGPL | Unixライク、Windows | はい |
メインフレームアセンブラー
POWER、PowerPC、および Power ISA アセンブラ
| アセンブラ | 開発者 | フォス | ライセンス | 命令セット | ホストプラットフォーム |
|---|---|---|---|---|---|
| ガス | GNUプロジェクト | はい | GNU GPL | POWER、PowerPC 74xx、PowerPC 970 | GNU Binutilsでサポートされているすべてのプラットフォーム |
| IBM AIX アセンブラ | IBM | いいえ | 独自の | 力 | IBM AIX |
| VASM | フォルカー・バルテルマン、フランク・ヴィレ | いいえ | 無料 | POWER、40x、440、460、6xx、7xx、7xxx、860、Book-E、e300、e500 | 様々な |
x86アセンブラ
- ^ MINIX 3ソースツリー の一部ですが、明らかな開発活動はありません。
- ^ Interactive Systems Corporation が1986年にUNIX System VをIntel iAPX286および80386アーキテクチャに移植した際にのリファレンスとして使用されたため、 ATT構文の典型となっています。SCOグループの製品であるUnixWareとOpenServerでも現在も使用されています。
- ^ アクティブ、サポートされていますが、宣伝されていません。
- ^ C++Builderツールチェーン の一部ですが、スタンドアロン製品としては販売されておらず、CodeGearのスピンオフ以降はマーケティングも行われていません。それまではボーランドが販売していました。最終バージョンであるバージョン5.0は1996年にリリースされました。
- ^ Turbo Assembler は、1984 年から 1987 年にかけて Speedware Inc (カリフォルニア州サクラメント) の Uriah Barnett によってTurbo Editasm として開発され、その後 Borland に Turbo Assembler として販売またはマーケティングされました。
- ^ 最後の安定バージョン 1.3.0 は 2014 年 8 月にリリースされ、それ以降メンテナンスはほとんど行われていません: https://github.com/yasm/yasm
Z80アセンブラ
| アセンブラ | 開発者 | ホストプラットフォーム | フォス | ライセンス | 開発中 |
|---|---|---|---|---|---|
| マイクロソフト MACRO-80 | マイクロソフト | CP/M、ISIS-II、TRSDOS、TEKDOS、MSX-DOS | いいえ | コマーシャル | いいえ |
| ゼウスアセンブラ | クリスタルコンピューティング | ZXスペクトラム | いいえ | コマーシャル | いいえ |
| z80asm | ピーター・コルナー、ポール・フロー・ウィリアムズ、ジョン・クリッチリー、バス・ワイネン | Unixライク、Windows | はい | GNU GPL | いいえ |
| パスモ | フリアン・アルボ | Unixライク、Windows | はい | GNU GPL | いいえ |
| sjasmplus | シェルド・マスティン, アプリソバル, ピーター・ヘルクマノフスキー, ... | Unixライク、Windows | はい | BSD | はい |
| ラスム | ベルジュ・エドゥアール | Unixライク、Windows | はい | マサチューセッツ工科大学 | はい |
その他の単一ターゲットアセンブラ
再ターゲット可能/クロスアセンブラー
| アセンブラ | 開発者 | フォス | ライセンス | 命令セット | ホストプラットフォーム |
|---|---|---|---|---|---|
| マクロアセンブラ AS | アルフレッド・アーノルド | 無料 | 29xxx、AVR、65816、ACE、F2MC-8L、F2MC-16L、HMCS400、6301、6309、H8/300(H)、H8/500、SH7000 / SH7600 / SH7700、HuC6280、PPC403GA、4004/4040、8008、MCS-48、MCS-41、MCS-51、MCS-251、MCS-96/196/296、8080/8085、[ | Win32、DOS/DPMI、DOS (メンテナンス終了)、OS/2 (メンテナンス終了)、Linux | |
| ASxxxx クロスアセンブラ | アラン・R・ボールドウィン | はい | GNU GPL | 1802、S2650、SC/MP、MPS430、6100、61860、6500、6800(6802/6808)、 6801(6803 /HD6303)、6804、6805、68HC (S)08、6809、68HC11、68HC (S)12、68HC16、740、78K/0、78K/0S、8008、8008S、8048(8041/8022/8021)、8051、8085(8080)、 AT89LP 、 8X300 (8X305)、DS8XCXXX、AVR 、 EZ80、 F2MC8L/FX、F8/3870、ゲームボーイ(sm83)、H8/3xx、Cypress PSoC(M8C)、PIC、Rabbit 2000 /3000、ST6、 ST7、 ST8、Z8、Z80(HD64180)、Z280シリーズ | Win32、DOS、Linux、Android |
注釈と参考文献
- ^ IBMのアセンブラFの修正
- ^ Xerox Corporation (1975). Xerox Assembly Program (AP) (PDF) . 2023年6月28日閲覧。
- ^ Yasm モジュラーアセンブラプロジェクト
外部リンク
- S100 バス ハードウェア上で実行されるアセンブラのリスト (8080 および Z80 用の CP/M ホスト アセンブラを含む)