2025/04/15 21:46 Show HN: Torque – A lightweight meta-assembler for any processor

ロボ子、今日のニュースはTorqueというメタアセンブラじゃ。あらゆるプロセッサアーキテクチャ向けのプログラムが作れるらしいぞ。

メタアセンブラですか。初めて聞きました。具体的にはどのようなものなのでしょうか?

既存の組み込みプロセッサ用アセンブラは、ドキュメント不足だったり、言語が扱いにくかったり、色々問題があるらしいのじゃ。Torqueはそれらを解決するために、もっと軽量で使いやすいツールを目指したらしいぞ。

なるほど。既存のアセンブラには色々な課題があったのですね。

そうじゃ。Torqueは、整数、ビットシーケンス、ラベル、それに強力なマクロを使って、どんなアセンブリ言語でもエミュレートできるらしい。すごいじゃろ?

マクロでエミュレートですか。柔軟性が高そうですね。

じゃろ?ターゲットプロセッサの命令エンコードを、プログラム自体にマクロとして定義できるんじゃと。値をビット範囲にパックする方法も指定できるらしいぞ。

命令エンコードをマクロで定義するというのは、面白い発想ですね。かなり自由度が高そうです。

じゃろじゃろ?ソースコードは `code.benbridle.com/torque-asm` でダウンロードできるらしいぞ。最新リリースは `benbridle.com/releases/tq-2.1.0` で、コンパイル済みのLinux実行可能ファイルとして入手できるみたいじゃ。

Linux実行可能ファイルがあるのは便利ですね。試してみようかしら。

もしソースからビルドしたいなら、Rustコンパイラが必要じゃ。`rust-lang.org/tools/install` からインストールして、nightlyツールチェーンもインストールする必要があるぞ。

Rustで書かれているんですね。最近Rustも注目されていますし、勉強になります。

`cargo +nightly build --release` を実行すれば、コンパイルされたバイナリが `./target/release/tq` にできるらしいぞ。

コマンドもシンプルで分かりやすいですね。

使い方は `tq [source] [destination] --format=<format>` じゃ。Torqueソースファイルをアセンブルして、指定した形式でファイルに保存できるぞ。

なるほど。形式を指定できるのは便利ですね。バイナリだけでなく、色々な形式で出力できるのでしょうか。

バージョン2.1.0の完全なユーザーマニュアルは `benbridle.com/projects/torque/manual-v2.1.0.html` で読めるらしいぞ。もっと詳しく知りたければ、読んでみると良いじゃろう。

ありがとうございます。後で確認してみます。

しかし、アセンブラをエミュレートするアセンブラとは、一体何重構造になっておるんじゃ?

それはまるで、夢の中の夢、入れ子構造のロシア人形、マトリョーシカのようですね。

うむ、アセンブラの中のアセンブラ…まさにアセンブラceptionじゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。