そこにアセンブリ通訳はありますか?
私が探しているもの:
- 実行したいアセンブリファームウェアコードがありますが、実際のハードウェアにはありません。
- コードを実行して、それが何をしているのかを確認したいと思います。
それで、そこにある種の無料で使いやすいアセンブリシミュレータがありますか?
あなたが考えることができる他のポインタはありますか?
そこにアセンブリ通訳はありますか?
私が探しているもの:
それで、そこにある種の無料で使いやすいアセンブリシミュレータがありますか?
あなたが考えることができる他のポインタはありますか?
特定のデバイス用に設計されたアセンブリ コードを実行するには、そのデバイスを具体的にエミュレートするエミュレーターで実行する必要があります。Qemu のような x86 エミュレーターでは、ARM CPU コア用に記述されたアセンブリ コードを実行することはまったくできません。これは「ほぼ動作する」というケースではありませんが、最初の命令を実行することさえできません。
Jason S が述べたように、周辺機器や CPU コア以外のものをエミュレートすることは、お使いのデバイスに固有のものです。詳細は、PCB リビジョン間で異なることさえあります。
アセンブリ コードが何を行っているかだけに興味がある場合は、CPU リファレンス マニュアルを読みながら、各命令を順番に調べた方がよいでしょう。このデバイスで本格的な作業を行う場合は、最終的にはその知識が必要になります。
簡単な答え:はい。
長い答え:アセンブリを使用しているCPUと、インターフェースしている周辺機器の種類によって異なります。世界には文字通り何千もの異なるCPUパッケージがあります。
x86 アセンブリの場合、Bochs などの x86 PC エミュレーターを使用できます。
おそらくですが、コア命令セットをエミュレートすることと、周辺機器を処理することはまったく別のことであることに注意してください。
データを操作するアルゴリズムをエミュレートするだけなら、おそらく CPU コアをエミュレートするだけで済むでしょう。
A/D コンバーター、UART、または PWM ドライバーをエミュレートする必要がある場合、それはまったく別の球技です。CPU コアの命令セットは (通常) その動作をかなりうまく模倣できるところまで明確に規定されています。ペリフェラルは、機能要件を示すためにのみ指定されており、問題のペリフェラルがどのように実装されているかを知らなくてもエミュレータを作成できるほど正確に動作を保証するものではありません。