Visual Studioはx86アセンブリ言語のコードオートコンプリートをサポートしていますか?オートコンプリートは、JavaやC ++などの高級プログラミング言語で作業するときに役立つことがわかりました。また、Visual Studioのアセンブリ言語で同様の機能が利用できるかどうかを知りたいです(たとえば、入力すると提案としてm
提供される可能性があります。mov
と入力すると、提案としてj
提供j1
されます)。
2 に答える
私の知る限り、アセンブリ言語のオートコンプリートを提供するIDEは、アセンブリ言語用に特別に設計されたIDEだけです。
RADASMはそのようなIDEの一例です。
アセンブリのオートコンプリートの主なターゲットは命令ではありませんが(短くて入力しやすいため)、ラベルやその他の識別子です。
大規模なアセンブリプロジェクトでは、何千ものラベルが存在する可能性があるため、このセット内のクイックナビゲーションは非常に役立ちます。
最も高度なオートコンプリートエンジンの1つは、FreshIDEに実装されています。
私のプロジェクトですが、この見積もりには偏りがないと思います。
ほとんどのアセンブリIDEは、APIラベルの固定リストを使用し、検出されたラベルのリストを作成するためにソースファイルをスキャンする場合があります。原則として、いくつかの異なるアセンブラとHLLコンパイラをサポートする必要があるユニバーサルIDEであるため、これらのトリックを使用する必要があります。
新しいIDEは異なります。コンパイル後にアセンブラーによって検出された識別子のセットを収集するために、FASMアセンブラーを使用して実際のコンパイルを実行します。このようにして、アセンブルプロセス中にマクロによって生成されたラベルも含め、すべてのラベルが、それらの値、タイプ、および階層構造とともに適切に検出されます。
FASMには非常に複雑で柔軟なマクロシステムがあり、他の検出メカニズムの信頼性が低いため、このソリューションは強制されました。
Fresh IDEは特定のAPIにバインドされていないため、固定APIリストを使用することもできませんが、サポートされているいくつかのOSのアプリケーションのプログラミング、さらにはOS開発を対象としています。
これがオートコンプリートを提供するかどうかはわかりませんが、X86 に REPL を使用するのはどうですか? http://en.wikipedia.org/wiki/Read–eval–print_loop