ホームページ >よくある問題 >機械語とは何ですか

機械語とは何ですか

WBOY
WBOYオリジナル
2022-07-20 10:51:2830921ブラウズ

機械語は命令セット システムです。機械語は、機械が翻訳せずに直接認識できるプログラミング言語または命令コードです。各演算コードには、コンピューター内でそれを完成させるための対応する回路があり、またはプログラミングを指します。機械が翻訳せずに直接理解して受け入れることができる言語または命令コード。機械語は、コンピュータ プログラムを定義するために使用される形式言語であり、コンピュータに命令を発行するために使用されます。

機械語とは何ですか

このチュートリアルの動作環境: Windows 10 システム、DELL G3 コンピューター。

機械語は命令セットの体系です

機械語は、機械が翻訳せずに直接認識できるプログラミング言語または命令コードであり、各演算コードはコンピュータ内部に対応するコードを持っています。回路はそれを完成させるために使用されます。あるいは、翻訳せずに機械が直接理解して受け入れることができるプログラミング言語または命令コードを指します。機械語は絶対アドレスと絶対オペコードを使用します。さまざまなコンピューターには、独自の機械語、つまり命令システムがあります。使用法の観点から見ると、マシン語は最も低レベルの言語です。

簡単な紹介

プログラミング言語は、コンピューター プログラムを定義し、コンピューターに命令を発行するために使用される形式言語です。コンピューター言語には数多くの言語が存在し、毎年多数の新しいプログラミング言語が作成されています。プログラミング言語はレベルに応じて、機械語、アセンブリ言語、高級言語の 3 つのカテゴリに分類できます。機械語は、機械によって直接実行できる一連の機械命令で構成されます。機械語で書かれたプログラムには、読みにくく覚えにくいという問題があります。アセンブリ言語は基本的にハードウェア上で直接動作する言語であり、ニーモニックを使用するため、機械語に比べて書き込みや読み取りが容易です。高級言語では、複数のアセンブラ ステートメントがより簡潔なプログラミング ステートメントにマージされ、同時にスタックやレジスタ割り当ての管理などの一部のタスクが自動的に完了するため、プログラマはプログラムを開発しやすくなります。

機械語は、コンピューターが直接認識して実行できるバイナリ コードで表される機械命令のセットです。コンピュータの設計者がコンピュータのハードウェア構造を通じてコン​​ピュータに与えた動作機能です。機械語は、柔軟性、直接実行、高速性という特徴を持っています。異なる種類のコンピュータの機械語には互換性がなく、ある種類のコンピュータの機械語命令に従ってコンパイルされたプログラムは、別の種類のコンピュータでは実行できません。

命令とは機械語の文であり、意味のあるバイナリコードの集合です命令の基本的な形式はオペレーションコードフィールドとアドレスコードフィールドなどですオペレーションコードは動作の性質を指定しますおよび命令の機能、アドレス コードはオペランドまたはオペランドのアドレスを示します。

機械語でプログラムを書くには、プログラマはまず使用するコンピュータの命令コードとその意味をすべて暗記する必要があります。ハンドプログラミングの場合、プログラマはストレージの割り当てや各命令とデータの入出力を自分で処理する必要があり、プログラミングプロセスの各ステップで使用されるワークユニットの状態も覚えておく必要があります。これはとても面倒な作業です。プログラムの作成にかかる時間は、実際の実行時間よりも数十倍、数百倍かかることがよくあります。さらに、コンパイルされたプログラムはすべて 0 と 1 の命令コードであるため、直感的ではなく、エラーが発生しやすくなります。コンピューターメーカーの専門家を除いて、大多数のプログラマーはもはや機械語を学んでいません。

命令フォーマット

機械語命令は、オペレーションコードとオペランドの2つの部分から構成されるバイナリコードです。オペコードは命令の動作を指定します。これは命令内のキーワードであり、デフォルトにすることはできません。オペランドは命令のオペランドを表します。コンピュータの命令形式は、マシンの語長、メモリ容量、命令機能と大きな関係があります。プログラムの設計を容易にし、基本演算の並列性を高め、命令の機能を向上させるという観点から、命令にはさまざまな情報を含める必要があります。ただし、一部の命令では情報の一部が無駄になるため、命令が占有する記憶領域が無駄になり、メモリアクセス数が増加し、実際に速度に影響を与える可能性があります。したがって、命令が十分な情報を与えるだけでなく、その長さがマシンのワード長と可能な限り一致し、記憶領域を節約し、値の時間を短縮できるように、命令フォーマットを合理的かつ科学的に設計する方法は次のとおりです。 、マシンのパフォーマンスを向上させることは、命令フォーマット設計における重要な問題です。

コンピュータは命令を実行することでさまざまなデータを処理します。データのソース、演算結果の宛先、および実行された演算を示すために、命令には次の情報が含まれている必要があります。

(1) 演算コード。操作の性質と機能を指定します。コンピューターには数十から数百の命令があり、各命令には対応するオペレーション コードがあり、コンピューターはオペレーション コードを認識することでさまざまな操作を完了します。

(2) オペランドのアドレス。 CPU は、このアドレスを通じて必要なオペランドを取得できます。

(3) 演算結果の格納アドレス。オペランドの処理結果は、再利用のためにこのアドレスに保存されます。

(4) 次の命令のアドレス。プログラムを実行する際、ほとんどの命令は主記憶から順番にフェッチされて実行されますが、転送命令が発生した場合にのみプログラムの実行順序が変わります。命令の長さを圧縮するために、プログラム カウンター (ProgramCounter、PC) を使用して命令アドレスを保存できます。命令が実行されるたびに、PC の命令アドレスは自動的に 1 に設定され (命令が 1 つのメイン メモリ ユニットのみを占有すると仮定して)、次に実行される命令のアドレスを示します。転送命令が発生すると、転送アドレスを使用して PC の内容が変更されます。 PC を使用するため、次に実行される命令のアドレスを命令内で明示的に指定する必要はありません。

関連知識の詳細については、FAQ 列をご覧ください。

以上が機械語とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。