機械語の特徴 1. 機械語プログラムは一連の命令コードで構成されており、この命令コードは 16 進数で構成されており、実現すべき機能との間には関連性がなく、学ぶのが難しい、理解するのが難しい、理解するのが難しい。 2. 普遍性がない。 3. メモリを割り当てる必要があります。 4. 機械語は、コンピュータが認識して直接効果を生み出すことができる唯一の言語であり、コンパイルプロセスを経る必要がなく、実行速度が高級言語の数百倍と非常に速いです。 5. メモリスペースを節約します。 6. 機能がさらに充実しました。 7. 拡張機能の設計に使用できます。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
機械語とは、機械が翻訳せずに直接認識できるプログラミング言語または命令コードであり、各演算コードはコンピュータ内部に対応する回路を備えて完成するか、翻訳せずに直接機械に翻訳することができます。プログラミング言語または命令コードを理解し、受け入れる。機械語は絶対アドレスと絶対オペコードを使用します。さまざまなコンピューターには、独自の機械語、つまり命令システムがあります。使用法の観点から見ると、マシン語は最も低レベルの言語です。
#機械語の特徴
1. 学ぶのが難しく、理解するのが難しく、理解しにくいです 。
機械語プログラムは 16 進数からなる一連の命令コードで構成されており、実現すべき機能との間には何のつながりもありません。
2. 普遍性がない。
機械語は最も直接的で原始的な言語であり、特定のコンピュータ システムに完全に依存します。
3. メモリを割り当てる必要があります
機械語プログラムと、高級言語など、動作中に使用する必要があるすべてのパラメータホストのメモリに保存する必要があります。ただし、それらがメモリ内の正確にどこに格納されるか、およびそれらを合理的に配置する方法は、コンピュータ上のシステムおよびプログラムの特定の条件に基づいて、プログラマーが手動で決定する必要があります。
4. 最速の実行速度
機械語は、コンピュータが認識して直接効果を生み出すことができる唯一の言語です。コンパイルプロセスと実行速度は非常に速く、高級言語の数百倍も高速です。
5. メモリ領域の節約
6. より完全な関数
機械語で完了できる関数、高級言語が必ずしも実現できるわけではなく、高級言語で実現できる機能は機械語でも実現できます。
7. 拡張機能の設計に使用可能
機械語命令の形式
マシン言語命令は、オペレーションコードとオペランドから構成されるバイナリコードです。オペコードは命令の動作を指定します。これは命令内のキーワードであり、デフォルトにすることはできません。オペランドは命令のオペランドを表します。 [2] コンピュータの命令形式は、マシンの語長、メモリ容量、命令機能と大きな関係があります。プログラムの設計を容易にし、基本演算の並列性を高め、命令の機能を向上させるという観点から、命令にはさまざまな情報を含める必要があります。ただし、一部の命令では情報の一部が無駄になるため、命令が占有する記憶領域が無駄になり、メモリアクセス数が増加し、実際に速度に影響を与える可能性があります。したがって、命令が十分な情報を与えるだけでなく、その長さがマシンのワード長と可能な限り一致し、記憶領域を節約し、値の時間を短縮できるように、命令フォーマットを合理的かつ科学的に設計する方法は次のとおりです。 、マシンのパフォーマンスを向上させることは、命令フォーマット設計における重要な問題です。
コンピュータは命令を実行することでさまざまなデータを処理します。データのソース、演算結果の宛先、および実行された演算を示すために、命令には次の情報が含まれている必要があります。
(1) 演算コード。操作の性質と機能を指定します。コンピューターには数十から数百の命令があり、各命令には対応するオペレーション コードがあり、コンピューターはオペレーション コードを認識することでさまざまな操作を完了します。
(2) オペランドのアドレス。 CPU は、このアドレスを通じて必要なオペランドを取得できます。
(3) 演算結果の格納アドレス。オペランドの処理結果は、再利用のためにこのアドレスに保存されます。
(4) 次の命令のアドレス。プログラムを実行する際、ほとんどの命令は主記憶から順番にフェッチされて実行されますが、転送命令が発生した場合にのみプログラムの実行順序が変わります。命令の長さを圧縮するために、プログラム カウンター (ProgramCounter、PC) を使用して命令アドレスを保存できます。命令が実行されるたびに、PC の命令アドレスは自動的に 1 に設定され (命令が 1 つのメイン メモリ ユニットのみを占有すると仮定して)、次に実行される命令のアドレスを示します。転送命令が発生すると、転送アドレスを使用して PC の内容が変更されます。 PC を使用するため、次に実行される命令のアドレスを命令内で明示的に指定する必要はありません。
命令には、実際にはオペレーションコードとアドレスコードという2種類の情報が含まれています。オペレーションコード (OperationCode、OP) は、命令によって完了する演算 (加算、減算、乗算、除算、データ転送など) を表すために使用され、その長さは命令システム内の命令の数に依存します。 。アドレスコードは命令のオペランドを記述するために使用され、オペランドを直接与えるか、オペランドのメモリアドレスやレジスタアドレス(つまりレジスタ名)を示します。
命令には、オペコード フィールドとアドレス フィールドの 2 つの部分が含まれています。アドレスフィールドに含まれるアドレスの数に応じて、一般的な命令フォーマットは次のようになります。
① 3 アドレス命令: 汎用アドレス フィールドの A1 と A2 がそれぞれ第 1 オペランド アドレスと第 2 オペランド アドレスを決定し、A3 が結果アドレスを決定します。次の命令のアドレスは通常、プログラム カウンタによって順次与えられます。
②2 つのアドレス命令: アドレス フィールドの A1 は最初のオペランド アドレスを決定し、A2 は 2 番目のオペランド アドレスと結果アドレスを同時に決定します。
③単一アドレス命令: アドレス フィールドの A により、最初のオペランドのアドレスが決まります。 2 番目のオペランドと演算結果を格納するための特定のレジスタの使用が修正されました。したがって、それらのアドレスは命令に暗黙的に含まれます。
④ゼロ アドレス命令: スタック コンピューターでは、通常、オペランドはプッシュダウン スタックの最上部にある 2 つのユニットに格納され、結果はスタックの最上部に配置されます。アドレスは暗黙的です。したがって、ほとんどの命令にはオペレーション コードのみがあり、アドレス フィールドはありません。
⑤可変アドレス数命令:アドレスフィールドに含まれるアドレス数は動作定義により変わります。たとえば、一部のコンピュータの命令内のアドレスの数は、最小で 0 個、最大で 6 個まであります。
関連するおすすめ: 「プログラミング ビデオ 」
以上が機械語の特徴は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。