2011-10-27 10 views
-2

私はコンピュータサイエンスの学生であり、アセンブリ言語を学んでいます。今ではアセンブリ言語でプロジェクトを作りたいのですが、どのようなアプリケーションがアセンブリ言語で作っているのかを親切に教えてください。だから私は自分の主題のための適切なプロジェクトを選択します。アセンブリの言語で開発できるソフトウェアの種類

+4

学校に通っている場合、教授/インストラクターに提案を依頼してみましたか? – Tim

答えて

2

アセンブラは、低レベルのプログラミング言語であり、小さな「こんにちは、世界!」から何かを開発するために使用できます。オペレーティングシステムまでのプログラム。かつては(40年代に)開発者全員が協力しなければならなかったが、高水準言語が出てきて人々はすぐに前進した。

今日、アセンブリ言語の使用は、適切なコンパイラがなく、手作業で最適化されたコードのデバイスに主に含まれています。つまり、今日のアーキテクチャでは、現代のコンパイラが提供するものよりも最適化されたアセンブリコードを生成することは非常に困難です。

目的に応じて、プロジェクトの範囲と要件によって異なります。対話型のコンソールベースのチックタックトゥーのような非常に単純なプロジェクトでさえ、組み立てにかなりの大きさがあることに注意してください。ここでは、小規模なプロジェクトのためのいくつかの例は以下のとおりです。

  1. は数
    を推測:PCは、乱数[1..100]を選択し、ユーザはそれを推測する必要があります。
  2. 除数を見つけてください:ユーザーからの数字があれば、この番号のすべての除数を見つけます。
  3. 文字列を置換する:ユーザーからの文字列があれば、この文字列のすべての置換を見つけます。
+2

最初のアセンブリ言語は1950年代までではなく、1940年代にはマシンコードだけだった。 –

1

理論上、Assemble言語を使用して任意のソフトウェアを構築できます。ただし、以下の状況でのみアセンブル言語を使用することが適切です。

(1)ハードウェアと直接通信する。たとえば、ハードウェアドライバを作成します。

(2)低レベルのOSサービスを使用する(またはOSをハッキングする)。たとえば、ウイルスやウイルス対策ソフトウェアを作成します。

(3)非常に効率的なプログラムを書く。アセンブルコードは非常に小さな実行可能ファイルを生成します。これは、プログラムを実行するためのデバイスのメモリが非常に限られている場合に最適です。また、理論上、そしてほとんどの場合、アセンブルプログラムは高水準言語を使用して作成されたプログラムよりも速く実行されます。

私の経験から見た実際の例は、Windows APIをインターセプトしてアラビア語のサービスを英語のWindows 98に導入することです。また、アセンブラ言語を使用して、コアで頻繁に使用されるアラビア文字列ユーティリティを作成しなければならず、アセンブル言語を使用することが正しい選択であることが証明されました。

+0

-1これは間違っています。私(および他の多くの人)は、組み立て時に多くのWindows GUIアプリケーションを開発しました。 HLAを使用していないにもかかわらず、ソースコードは非常にはっきりしています(さらに多くの同等のC/C++/javaや他のアプリケーションよりも理解しやすいです)。言語。 –

+0

はい。 Assembleには多くのアプリケーションがあります。しかし、デスクトップGUIアプリケーション用のアセンブリを使用することは実用的ではありません。私は(そして他の多くの人が)VB/C#を使ってGUIアプリケーションを作ることが、Assemblyを使うよりも速くできると確信しています。 GUIアプリケーションを作成するためにAssembleを使用すると、高レベルの言語を使用するのと同じ時間がかかることがわかった場合、より詳細な高級言語をより詳細に見るのは間違いありません。また、「多くの人」が誰であるかを明確にすることを忘れないでください。 – carawan

+0

アセンブリのためのリソースコンパイラがあります(winasmではVBのようなコンポーネントも使用できます)、数分で複雑なGUIを作成できます。私は残りのためにWindows APIを使用することができます。どのように違うのですか?私は利用可能なツールを見てみることをお勧めします。 –

関連する問題