x86 アセンブリ言語コードを入力として受け取り、プログラム内の各ステートメントの動作を説明するコメントを生成するスクリプトを作成したいと考えています。このようなツールはすでに存在しますか? また、これは比較的単純なプログラムでしょうか (アセンブリ言語の各ステートメントの構文は比較的単純なのでしょうか?)。
2 に答える
聞いたことがない。それには十分な理由があると思います。
int
CPUドキュメントのor命令などの説明をiret
見ると、テキストと擬似コードのページが表示されます。
のような通常の指示のほとんどは、mov
彼らの袖にもいくつかのトリックがあります。まず、彼らはいくつかの重要な行動の詳細を持っているかもしれません。第二に、それらは例外を引き起こす可能性があり、例外が発生した後に何が起こるかを完全に文書化することは、OSやプログラムの他の部分に大きく依存するため実用的ではありません。
したがって、そのようなツールのアプリケーションは非常に限られています。
いずれにせよ、すべての命令が何をするかを学ぶ最良の方法は、CPUドキュメントを読むこととデバッガーで遊ぶことを組み合わせることです。
これを行うプログラムを作成することは、アセンブリ言語を学ぶための優れた方法かもしれません。既存のアセンブリ コードがいくつかあり、それが何をするかわからない場合は、関連するアセンブリ リファレンス マニュアルと、お気に入りの言語で記述された比較的単純な文字列解析コードを読んでおくと、アセンブリ命令セットの学習に大いに役立ちます。
ほとんどのアセンブリ コードの大部分は、ほんの一握りの命令タイプだけで構成されていることがわかるでしょう。アセンブリ レベルでは、コンピューターが行うことのほとんどは、データのコピー、算術演算、繰り返し、および比較です。