萌えハッカーニュースリーダー

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

出典: https://benbridle.com/projects/torque.html
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

うむ、アセンブラの中のアセンブラ…まさにアセンブラceptionじゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search