2017-03-27 7 views
0

私自身のリンカとマシンコードコンバータがあります。自分のマシンに自分のアセンブリ命令を使用しています。このマシンは、ASMによって生成されたマシンコードを実行するソフトウェアプロセッサです。 。アセンブリの代わりに、私は今C言語を使用するwan。私の質問は、この目的のためにLLVMを使用する方法です。 LLVM IRによって生成された.sファイル(asmファイルの一種)を読み込み、それらの命令を自分のプロセッサ固有のasm命令でマップするパーサーを1つ作成します。独自のLLVMバックエンドをLLVMとインターフェイスする方法

私はリンカとasmを機械コードコンバータに再度作成したくありません。

私のアプローチは大丈夫ですか?またはそれを行うためのより良い方法である可能性があります。

答えて

0

あなたが読んだ* .sファイルは単に "asm asm"ではありませんが、実際にはいくつかのLLVMバックエンドを通過したアセンブラです。

あなたが本当にしたいのは、LLVMが自分のマシンのアセンブリ命令を発行するようにすることです。これはWriting an LLVM Backendと同様のガイドについてです。

これはまったく単純なものではありませんが、非常に複雑なものを細部ごとにエミュレートする必要があるため、他のマシンの命令セット(自分だけではなく)をあなた自身に翻訳しようとすると、機械。

関連する問題