2013年3月14日木曜日

それは容易なアセンブリコードを比較するためにメイクユーティリティ


アセンブリ言語では、実際のマシンコードに多大似ても似つかない、低レベルのコンピュータ言語である。 CやVisualBasicのような高レベルのプログラミング言語とは対照的に、アセンブリ言語の場合は通常のマシン命令に1対1でマッピングされている単純なコマンドがあります。アセンブリは、通常、効率性と速度が重要な場合に使用するか、高レベル言語は、現実的ではない場合もございます。これらには、デバイスドライバ、組み込みシステム、リアルタイムシステムなどのアプリケーションが含まれています。任意のプログラミング言語と同様に、多くの場合それは、アセンブリコードを比較できると便利になります。

任意のプログラムまたはコードの異なる部分を比較することは通常は変更を追跡したり、別のアイテムを同期する目的で行われます。たとえば、ビデオカード用のドライバはアセンブリコードで書かれているかもしれません。ビデオカードの同じシリーズの新しいモデルが出てくるときに、新しいドライバはアセンブリコードでも、書かれる必要があるでしょう。この新しいデバイスドライバで作業するプログラマは、確かに以前のドライバのコードを使用して、新しいコードを比較することができることが便利でしょう。

アセンブラコードを比較するのに役立つかも知れませんもう一つの例は、クリティカルなリアルタイム機器の様々な部分の実装は次のようになります。このような機器に組み込まれたプログラムを更新するときは、それが作られているすべての変更を認識することが重要であろう。新しいコードと古いコードを比較すると、その後、プログラマが徹底的にそれぞれの変更を正当化するために有効にすると、変更のような完全なリストを提供するであろう。

明らかに、2つのプログラムを比較するための一つの方法は、実際には視覚的にコードの各部分を検査することであろう。これは単純なプログラムのために働くかもしれませんがプログラムのサイズと複雑さが増すように、この努力は少なくなり、可能となる。潜在的に数百または数千行のコードにストレッチプログラムでは、詳細は、単に人間の読者を圧倒するだろう。

幸いなことに、途方もなく助けることができる利用可能なファイル比較またはコード比較プログラムがたくさんあり​​ます。これらの比較プログラムは、通常、2つのコードの間に見つけることができます変更や相違点を強調。ライン·バイ·ラインの読書の必要がなくなったので、これは、それが簡単に視覚的にコードの大きなストレッチを検査することができる。アセンブリコードの文脈では、これらのプログラムは、通常は逆アセンブラやデバッガで構成されています。

逆アセンブラは、マシンコードを取得し、アセンブリコードにそれを戻すことができます。デバッガは、他の一方で、プログラマはコードを分析し、編集しやすいようなツールです。したがって、これらの比較プログラムを使用すると、それが簡単に別のコードのいずれかの部分を比較するだけでなく、深さで特定のアセンブリプログラムを分析するだけではなくなります。また、この分析は、それらの構造と機能の面で異なるアセンブリプログラムの比較を容易にすることができる。

ツールを使用すると、それはアセンブリコードを比較するためにはるかに容易になります。低レベルのハードウェア制御への様々な重要なアプリケーションでは、アセンブリコードは非常に有用であり、したがって、そのコードを比較する場合は、この機能があります。プログラマはよく、より速くプログラミングとコード管理の利益のために、これらの比較ツールの適正かつ効率的な利用を検討することが賢明でしょう。
...

0 件のコメント:

コメントを投稿